2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  JAVA課程設(shè)計(jì)報(bào)告</p><p><b>  JAVA小日歷組件</b></p><p><b>  學(xué)生姓名: </b></p><p><b>  學(xué) 號(hào): </b></p><p>  年級(jí)專業(yè):07級(jí)電子商務(wù)2班</p>&

2、lt;p><b>  指導(dǎo)老師: </b></p><p>  學(xué) 院:信息科學(xué)技術(shù)學(xué)院</p><p>  目 錄</p><p>  1.設(shè)計(jì)目標(biāo)…………………………………………………3</p><p>  2.設(shè)計(jì)思想…………………………………………………3</p><

3、p>  3.類及對(duì)象設(shè)計(jì)……………………………………………3</p><p>  4.程序源代碼………………………………………………4</p><p>  5.調(diào)試記錄…………………………………………………14</p><p>  6.總結(jié)………………………………………………………15</p><p>  7.參考文獻(xiàn)………………………

4、…………………………17</p><p>  8.致謝…………………………………………………17</p><p>  JAVA小日歷組件設(shè)計(jì)</p><p><b>  1.設(shè)計(jì)目標(biāo)</b></p><p>  本課程設(shè)計(jì)是一個(gè)JAVA小日歷組件的設(shè)計(jì),利用Frame框架類、面板類進(jìn)行圖形化界面設(shè)計(jì),實(shí)現(xiàn)小日歷的公歷顯示

5、等功能。</p><p><b>  2.設(shè)計(jì)思想</b></p><p> ?。?)本小日歷設(shè)計(jì)主體結(jié)構(gòu)為:設(shè)計(jì)一個(gè)框架MainFrame,然后在MainFrame里添加一個(gè)MainPanel面板。定義一個(gè)MainPanel面板類,該面板以邊布局格式,所有其他面板、標(biāo)簽等均添加到該面板中。</p><p>  (2)MainPanel面板北部

6、(上方),添加一個(gè)年月面板YearMonthPanel。該年月面板主要放年份顯示、月份顯示、標(biāo)題顯示。YearMonthPanel面板也使用邊布局格式,西部添加一個(gè)年份面板,放年份信息;中部添加一個(gè)TextPanel面板,放標(biāo)題文本顯示信息;東部添加一個(gè)月份面板MonthPanel,放月份下拉框信息。</p><p>  (3)MainPanel主面板的中部,添加一個(gè)DaysPanel面板用于放置月份的天數(shù)表格信

7、息。</p><p>  (4)MainPanel主面板的南部(下方),添加一個(gè)InfoPanel面板,主要用于放置顯示個(gè)人信息。</p><p> ?。?)InfoPanel面板上設(shè)計(jì)添加一個(gè)超級(jí)鏈接標(biāo)簽,鏈接到個(gè)人博客。</p><p>  3.設(shè)計(jì)類及對(duì)象設(shè)計(jì)</p><p>  在本程序中:定義了一個(gè)Frame類,主要定義一個(gè)窗體框架

8、,用于顯示日歷信息,并在主函數(shù)中只創(chuàng)建一個(gè)該窗體對(duì)象實(shí)現(xiàn)程序功能。</p><p>  定義了一個(gè)主日歷面板類Xiaorili,其中包含了日歷設(shè)計(jì)所用到的全局變量、功能函數(shù)等,在Frame類里定義了其對(duì)象。在該日歷面板類里又設(shè)計(jì)了一個(gè)內(nèi)部類CalendarTable表格類,用于布局日歷天的顯示格式。</p><p>  為了設(shè)計(jì)一個(gè)超級(jí)鏈接,定義了一個(gè)LinkLable類,單獨(dú)保存在一個(gè)文

9、件LinkTbale.java中,在日歷面板類Xiaorili里定義了其對(duì)象。</p><p><b>  4.程序源代碼</b></p><p> ?。?)xiaoril.java文件代碼:</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;&

10、lt;/p><p>  import java.util.*;</p><p>  import javax.swing.*;</p><p>  import javax.swing.event.*;</p><p>  import javax.swing.table.*;</p><p>  public class

11、 Xiaorili extends JApplet {</p><p>  //==================================================</p><p>  /*定義全局變量*/ </p><p>  public static final Color background = Color.white;//背景色&l

12、t;/p><p>  public static final Color foreground = Color.black;//前景色</p><p>  public static final Color headerBackground = Color.DARK_GRAY;//星期</p><p>  public static final Color header

13、Foreground = Color.white;//星期前景色</p><p>  public static final Color selectedBackground = Color.green;//選中背景色</p><p>  public static final Color selectedForeground = Color.white;//選中前景色 </p&

14、gt;<p>  public static final String WeekSun = "星期日"; //星期標(biāo)簽名稱</p><p>  public static final String WeekMon = "星期一"; </p><p>  public static final String WeekTue = "

15、;星期二"; </p><p>  public static final String WeekWed = "星期三"; </p><p>  public static final String WeekThu = "星期四"; </p><p>  public static final String Week

16、Fri = "星期五"; </p><p>  public static final String WeekSat = "星期六";</p><p>  private JPanel MainPanel;//日歷面板</p><p>  private JLabel yearsLabel;//“年份”標(biāo)簽</p>

17、<p>  private JSpinner yearsSpinner;//年份組合框</p><p>  private JLabel monthsLabel;//“月份”標(biāo)簽</p><p>  private JComboBox monthsComboBox; //12月份下拉框</p><p>  private JLabel textLabe

18、l;//標(biāo)題顯示標(biāo)簽</p><p>  private JLabel InfoLabel;//個(gè)人信息顯示標(biāo)簽 </p><p>  private JTable daysTable; //日表格</p><p>  private AbstractTableModel daysModel;//天單元表格</p><p>  priva

19、te Calendar calendar;//日歷對(duì)象</p><p>  //==================================================</p><p><b>  /*函數(shù)定義*/</b></p><p>  public Xiaorili() {//構(gòu)造函數(shù)</p><p>

20、;  MainPanel = (JPanel) getContentPane();</p><p><b>  }</b></p><p>  public void init() {//初始化面板界面函數(shù)</p><p>  MainPanel.setLayout(new BorderLayout());</p><p&g

21、t;  calendar = Calendar.getInstance();//默認(rèn)方式,以本地的時(shí)區(qū)和地區(qū)來(lái)構(gòu)造Calendar</p><p>  //--------------------------------------</p><p>  yearsLabel = new JLabel("年份: "); //設(shè)置年份標(biāo)簽顯示</p><

22、p>  yearsSpinner = new JSpinner();//構(gòu)造年份spinner組合框</p><p>  yearsSpinner.setEditor(new JSpinner.NumberEditor(yearsSpinner, "0000"));</p><p>  yearsSpinner.setValue(new Integer(calen

23、dar.get(Calendar.YEAR)));</p><p>  yearsSpinner.addChangeListener(new ChangeListener() {//注冊(cè)該組合框的事件監(jiān)聽(tīng)器</p><p>  public void stateChanged(ChangeEvent changeEvent) {</p><p>  int day

24、= calendar.get(Calendar.DAY_OF_MONTH);</p><p>  calendar.set(Calendar.DAY_OF_MONTH, 1);</p><p>  calendar.set(Calendar.YEAR, ((Integer) yearsSpinner.getValue()).intValue());</p><p>

25、  int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);</p><p>  calendar.set(Calendar.DAY_OF_MONTH, day > maxDay ? maxDay : day);</p><p>  updateView();//更新顯示</p><p>&l

26、t;b>  }</b></p><p><b>  });</b></p><p>  //-------------------------------------- </p><p>  JPanel yearMonthPanel = new JPanel();//定義年月面板</p><p>  

27、MainPanel.add(yearMonthPanel, BorderLayout.NORTH);//添加年月面板到日歷面板的南面(最上方)</p><p>  yearMonthPanel.setLayout(new BorderLayout());//邊布局模式</p><p>  JPanel yearPanel = new JPanel();//構(gòu)建年份面板</p>

28、<p>  yearMonthPanel.add(yearPanel, BorderLayout.WEST);//年份面板添加到年月面板西部(左邊)</p><p>  yearPanel.setLayout(new BorderLayout());//設(shè)置年份面板為邊布局并添加年份標(biāo)簽和組合框</p><p>  yearPanel.add(yearsLabel, Borde

29、rLayout.WEST);</p><p>  yearPanel.add(yearsSpinner, BorderLayout.CENTER);</p><p>  //-------------------------------------- </p><p>  monthsLabel = new JLabel("月份: "); //設(shè)

30、置月份標(biāo)簽顯示</p><p>  monthsComboBox = new JComboBox();//月份下拉框</p><p>  for (int i = 1; i <= 12; i++) { //構(gòu)造下拉框的12個(gè)月份</p><p>  monthsComboBox.addItem(new Integer(i));</p><

31、p><b>  } </b></p><p>  monthsComboBox.setSelectedIndex(calendar.get(Calendar.MONTH));//下拉框當(dāng)前月份為選中狀態(tài) </p><p>  monthsComboBox.addActionListener(new ActionListener() { //注冊(cè)月份下拉框的事件監(jiān)

32、聽(tīng)器</p><p>  public void actionPerformed(ActionEvent actionEvent) {</p><p>  int day = calendar.get(Calendar.DAY_OF_MONTH);</p><p>  calendar.set(Calendar.DAY_OF_MONTH, 1);</p>

33、<p>  calendar.set(Calendar.MONTH, monthsComboBox.getSelectedIndex());</p><p>  int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);</p><p>  calendar.set(Calendar.DAY_OF_MONTH,

34、 day > maxDay ? maxDay : day);</p><p>  updateView();//更新面板顯示 </p><p><b>  } </b></p><p><b>  }); </b></p><p>  //---------------------------

35、----------- </p><p>  JPanel monthPanel = new JPanel();//定義月份面板</p><p>  yearMonthPanel.add(monthPanel, BorderLayout.EAST);//添加月份面板到年月面板的東面(右面)</p><p>  monthPanel.setLa

36、yout(new BorderLayout());//月份面板設(shè)為邊布局方式</p><p>  monthPanel.add(monthsLabel, BorderLayout.WEST);//添加月份名稱標(biāo)簽到月份面板西面(左面)</p><p>  monthPanel.add(monthsComboBox, BorderLayout.CENTER);//添加月份下拉框到月份面板中間

37、</p><p>  //--------------------------------------</p><p>  textLabel = new JLabel("JAVA小日歷-061114052"); //設(shè)置標(biāo)題標(biāo)簽顯示 </p><p>  JPanel txetPanel = new JPanel();//定義標(biāo)題文本

38、顯示面板</p><p>  yearMonthPanel.add(txetPanel,BorderLayout.CENTER);//添加標(biāo)題文本顯示面板到年月面板中間</p><p>  txetPanel.add(textLabel,BorderLayout.CENTER);//添加標(biāo)題文本標(biāo)簽到面板</p><p>  //------------------

39、--------------------</p><p>  InfoLabel = new JLabel("學(xué)號(hào):061114052 姓名:李志文 班級(jí):06教育班"); //設(shè)置個(gè)人信息標(biāo)簽顯示 </p><p>  JPanel InfoPanel = new JPanel();//定義底部個(gè)人信息顯示面板</p><p>  M

40、ainPanel.add(InfoPanel,BorderLayout.SOUTH);//添加個(gè)人信息顯示面板到日歷面板南方(下方)</p><p>  InfoPanel.add(InfoLabel);//添加信息標(biāo)簽文本標(biāo)簽到面板</p><p>  //--------------------------------------</p><p>  JPane

41、l Link = new JPanel();//設(shè)置超級(jí)鏈接到我的博客</p><p>  InfoPanel.add(new LinkLabel("訪問(wèn)志文工作室", "http://www.zhiwenweb.cn"));</p><p>  //-------------------------------------- </p>

42、<p>  daysModel = new AbstractTableModel() { //設(shè)置7行7列</p><p>  public int getRowCount() { </p><p>  return 7; </p><p><b>  } </b></p><p>  public int

43、getColumnCount() { </p><p>  return 7; </p><p><b>  }</b></p><p>  public Object getValueAt(int row, int column) {</p><p>  if (row == 0) { //第一行顯示星期</p&

44、gt;<p>  return getHeader(column);</p><p><b>  }</b></p><p><b>  row--;</b></p><p>  Calendar calendar = (Calendar) Xiaorili.this.calendar.clone();<

45、;/p><p>  calendar.set(Calendar.DAY_OF_MONTH, 1);</p><p>  int dayCount = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); </p><p>  int moreDayCount = calendar.get(Calendar.DAY_OF_WE

46、EK) - 1;</p><p>  int index = row * 7 + column;</p><p>  int dayIndex = index - moreDayCount + 1;</p><p>  if (index < moreDayCount || dayIndex > dayCount) {</p><p&

47、gt;  return null;</p><p><b>  } else {</b></p><p>  return new Integer(dayIndex);</p><p><b>  }</b></p><p><b>  }</b></p><

48、;p><b>  };</b></p><p>  daysTable = new CalendarTable(daysModel, calendar); //構(gòu)造日表格</p><p>  daysTable.setCellSelectionEnabled(true);//設(shè)置表格單元格可選擇</p><p>  daysTable.s

49、etSelectionMode(ListSelectionModel.SINGLE_SELECTION);</p><p>  daysTable.setDefaultRenderer(daysTable.getColumnClass(0), new TableCellRenderer() { </p><p>  public Component getTableCellRenderer

50、Component(JTable table, Object value, boolean isSelected, </p><p>  boolean hasFocus, int row, int column) { </p><p>  String text = (value == null) ? "" : value.toString(); </p>

51、<p>  JLabel cell = new JLabel(text);</p><p>  cell.setOpaque(true); //繪制邊界內(nèi)的所有像素</p><p>  if (row == 0) { //第一行顯示星期,設(shè)置為星期的前景色和背景色</p><p>  cell.setForeground(headerForegroun

52、d);</p><p>  cell.setBackground(headerBackground);</p><p><b>  } else { </b></p><p>  if (isSelected) { //日期單元格如果選中,則設(shè)置為日期選中的前、背景色</p><p>  cell.setForegrou

53、nd(selectedForeground); </p><p>  cell.setBackground(selectedBackground); </p><p>  } else { //設(shè)置日期單元格的普通前、背景色</p><p>  cell.setForeground(foreground);</p><p>  cell.se

54、tBackground(background);</p><p><b>  }</b></p><p><b>  }</b></p><p>  return cell; </p><p><b>  } </b></p><p><b>

55、  });</b></p><p>  updateView();</p><p>  MainPanel.add(daysTable, BorderLayout.CENTER);//添加日面板到日歷面板中間</p><p><b>  } </b></p><p>  //-----------------

56、---------------------</p><p>  public static String getHeader(int index) {//設(shè)置第一行星期的顯示</p><p>  switch (index) {</p><p><b>  case 0:</b></p><p>  return Wee

57、kSun;</p><p><b>  case 1:</b></p><p>  return WeekMon;</p><p><b>  case 2:</b></p><p>  return WeekTue;</p><p><b>  case 3:&l

58、t;/b></p><p>  return WeekWed;</p><p><b>  case 4:</b></p><p>  return WeekThu;</p><p><b>  case 5:</b></p><p>  return WeekFri;

59、</p><p><b>  case 6:</b></p><p>  return WeekSat;</p><p><b>  default:</b></p><p>  return null;</p><p><b>  }</b></

60、p><p><b>  }</b></p><p>  //--------------------------------------</p><p>  public void updateView() {//更新面板顯示方法</p><p>  daysModel.fireTableDataChanged();<

61、/p><p>  daysTable.setRowSelectionInterval(calendar.get(Calendar.WEEK_OF_MONTH),</p><p>  calendar.get(Calendar.WEEK_OF_MONTH));</p><p>  daysTable.setColumnSelectionInterval(calendar.

62、get(Calendar.DAY_OF_WEEK) - 1,</p><p>  calendar.get(Calendar.DAY_OF_WEEK) - 1);</p><p><b>  }</b></p><p>  //==================================================</p>

63、;<p>  public static class CalendarTable extends JTable {//表格類</p><p>  private Calendar calendar;</p><p>  public CalendarTable(TableModel model, Calendar calendar) {//構(gòu)造方法</p>&l

64、t;p>  super(model);</p><p>  this.calendar = calendar;</p><p><b>  }</b></p><p>  //--------------------------------------</p><p>  public void changeSel

65、ection(int row, int column, boolean toggle, boolean extend) {//選擇表格單元格時(shí)</p><p>  super.changeSelection(row, column, toggle, extend);</p><p>  if (row == 0) {//選擇為第一行(星期)時(shí)不改變單元格</p><p&

66、gt;<b>  return;</b></p><p><b>  }</b></p><p>  Object obj = getValueAt(row, column);</p><p>  if (obj != null) {</p><p>  calendar.set(Calendar.

67、DAY_OF_MONTH, ((Integer)obj).intValue());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p&

68、gt;<p>  (2)LinkLabel.java文件代碼:</p><p>  import java.awt.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p><p>  public class LinkLabel exte

69、nds JLabel {</p><p>  private String text, url;</p><p>  private boolean isSupported;</p><p>  public LinkLabel(String text, String url) {</p><p>  this.text = text;//顯

70、示文本</p><p>  this.url = url;//鏈接地址</p><p><b>  try {</b></p><p>  this.isSupported = Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Act

71、ion.BROWSE);</p><p><b>  } </b></p><p>  catch (Exception e) {//捕獲瀏覽器異常</p><p>  this.isSupported = false;</p><p><b>  }</b></p><p>

72、;  setText(false);</p><p>  addMouseListener(new MouseAdapter() {//注冊(cè)鼠標(biāo)單擊事件監(jiān)聽(tīng)器</p><p>  public void mouseEntered(MouseEvent e) {</p><p>  setText(isSupported);</p><p> 

73、 if (isSupported)</p><p>  setCursor(new Cursor(Cursor.HAND_CURSOR));//鼠標(biāo)形狀為hand形式</p><p><b>  }</b></p><p>  public void mouseExited(MouseEvent e) {//移開(kāi)鼠標(biāo)時(shí)</p>&

74、lt;p>  setText(false);</p><p><b>  }</b></p><p>  public void mouseClicked(MouseEvent e) {//鼠標(biāo)單擊時(shí)</p><p><b>  try {</b></p><p>  Desktop.getD

75、esktop().browse(new java.net.URI(LinkLabel.this.url));//調(diào)用默認(rèn)瀏覽器打開(kāi)鏈接</p><p><b>  }</b></p><p>  catch (Exception ex) {</p><p><b>  }</b></p><p>&

76、lt;b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p>  private void setText(boolean b) {//設(shè)置標(biāo)簽顯示文本</p><p><b>  if (!b)</b

77、></p><p>  setText("<html><font color=red><u>" + text);//鼠標(biāo)移到標(biāo)簽外顯示為紅色字體</p><p><b>  else</b></p><p>  setText("<html><font c

78、olor=green><u>" + text);//鼠標(biāo)移到標(biāo)簽上面顯示為綠色字體</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)MainFrame.java文件代碼:</p><p><b>  /*

79、* </b></p><p>  * @(#) MainFrame.java</p><p><b>  * 主窗體</b></p><p>  * @author 志文工作室:www.zhiwenweb.cn</p><p><b>  */</b></p><p&

80、gt;  import java.awt.*;</p><p>  import javax.swing.*;</p><p><b>  //構(gòu)造窗體類</b></p><p>  public class MainFrame extends JFrame{</p><p>  public MainFrame(){&

81、lt;/p><p>  super("JAVA小日歷-志文工作室-http://www.zhiwenweb.cn");//創(chuàng)建窗體并設(shè)置標(biāo)題</p><p>  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//單擊窗口關(guān)閉按鈕關(guān)閉窗體</p><p>  Xiaorili Xiaorili

82、= new Xiaorili();//創(chuàng)建小日歷對(duì)象</p><p>  Xiaorili.init();//初始化面板</p><p>  this.getContentPane().add(Xiaorili);</p><p>  this.setSize(450, 200); //框架大小</p><p>  this.setVisib

83、le(true);//設(shè)置可見(jiàn)性</p><p>  this.setResizable(false);//窗體不可改變大小</p><p>  this.pack();</p><p><b>  }</b></p><p><b>  /*主函數(shù)調(diào)用*/</b></p><p

84、>  public static void main(String[] args){</p><p>  new MainFrame();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.調(diào)試記錄</b>&l

85、t;/p><p><b>  程序功能調(diào)試如下:</b></p><p> ?。?)運(yùn)行程序,出現(xiàn)日歷界面:</p><p> ?。?)單擊年份的組合框側(cè)邊箭頭,改變年份,則日歷跟隨改變:</p><p>  (3)單擊月份下拉框,改變?cè)路荩瑒t日歷也跟隨改變:</p><p> ?。?)鼠標(biāo)移動(dòng)到“訪

86、問(wèn)志文工作室”標(biāo)簽上,則字體顏色變?yōu)榫G色:</p><p>  (5)鼠標(biāo)單擊超級(jí)鏈接標(biāo)簽,則調(diào)用默認(rèn)瀏覽器打開(kāi)了我的博客主頁(yè):</p><p><b>  6.總結(jié)</b></p><p> ?。?)選題目的:本次課程設(shè)計(jì)為課本后設(shè)計(jì)題目任選一題進(jìn)行設(shè)計(jì)。思考一段時(shí)間后,我決定做一個(gè)小日歷組件的設(shè)計(jì)。主要考慮到本學(xué)期時(shí)間少課程內(nèi)容多,JAVA

87、課程基礎(chǔ)內(nèi)容掌握并不是很抓實(shí),而對(duì)于設(shè)計(jì)一個(gè)小日歷組件,由于其功能簡(jiǎn)單設(shè)計(jì)也相對(duì)較易,對(duì)于我個(gè)人的學(xué)習(xí)情況比較合適,并且通過(guò)設(shè)計(jì)這樣的一個(gè)日歷小組件,也能使自己對(duì)JAVA的一些基礎(chǔ)知識(shí)掌握的更加牢固。</p><p> ?。?)對(duì)于本小日歷的設(shè)計(jì),首先考慮其功能有哪些,需要顯示什么,如何進(jìn)行窗體構(gòu)建布局,需要用哪些知識(shí)點(diǎn),如相關(guān)的類和對(duì)象等。最后,就是根據(jù)初步設(shè)計(jì)的功能和布局構(gòu)架,考慮用源代碼進(jìn)行實(shí)現(xiàn)了。<

88、/p><p>  (3)本小日歷組件在設(shè)計(jì)過(guò)程中參考了一些網(wǎng)絡(luò)上的日歷組件設(shè)計(jì)程序,只是那些程序大都使用功能相對(duì)較豐富,涉及到的知識(shí)也比較多,對(duì)于自己目前所掌握的內(nèi)容來(lái)說(shuō)有點(diǎn)廣博。不過(guò)那些程序?qū)θ諝v實(shí)現(xiàn)的一些思想對(duì)我確實(shí)有很多啟發(fā)。本小日歷組件設(shè)計(jì)過(guò)程中也參考了一些他人設(shè)計(jì)的代碼。在設(shè)計(jì)本小日歷組件過(guò)程中遇到過(guò)許多問(wèn)題,最后都是在網(wǎng)絡(luò)搜集詢問(wèn)的幫助下一一得以解決。下面列舉幾個(gè)參考中比較重要的相關(guān)內(nèi)容:</p&g

89、t;<p>  .JAVA Calendar方法:Calendar 抽象類定義了足夠的方法,讓我們能夠表述日歷的規(guī)則。我們也可以自己的 Calendar 實(shí)現(xiàn)類,然后將它作為 Calendar 對(duì)象返回(面向?qū)ο蟮奶匦?。在 Calendar 的方法中,get() 和 add() 會(huì)讓 Calendar 立刻刷新。本程序的中心設(shè)計(jì)即是利用Calendar類來(lái)實(shí)現(xiàn)。</p><p>  javax.s

90、wing.JSpinner用法:讓用戶從一個(gè)有序序列中選擇一個(gè)數(shù)字或者一個(gè)對(duì)象值的單行輸入字段。它能夠方便地選擇日期、數(shù)字或列表中的選項(xiàng)。Spinner 通常提供一對(duì)帶小箭頭的按鈕以便逐步遍歷序列元素。鍵盤(pán)的向上/向下方向鍵也可循環(huán)遍歷元素。也允許用戶在 spinner 中直接輸入合法值。JSpinner顯示不同的內(nèi)容,采用不同的模型,像SpinnerDateModel,SpinnerListModel,SpinnerNumberMod

91、el,只要對(duì)模型修改,就可以實(shí)現(xiàn)想要的精確的功能。本程序利用該組件實(shí)現(xiàn)了年份的修改。</p><p>  setOpaque 用法:setOpaque (false)的作用是將button的背景色改為其parent的背景色。如果為 true,則該組件繪制其邊界內(nèi)的所有像素。否則該組件可能不繪制其某些或所有像素,從而允許其下面的像素透視出來(lái)。 </p><p>  基于Java Swing的

92、超鏈接標(biāo)簽和超鏈接按鈕的實(shí)現(xiàn): java.awt.Desktop類的java.awt.Desktop.isDesktopSupported()可以獲取當(dāng)前系統(tǒng)是否支持java awt桌面擴(kuò)展.如果支持可以獲取當(dāng)前系統(tǒng)的Desktop ,則使用:</p><p>  java.awt.Desktop dp = java.awt.Desktop.getDesktop(); </p><p> 

93、 dp.browse(java.net.URI); 就可以啟動(dòng)系統(tǒng)默認(rèn)的瀏覽器。本程序自定義一個(gè)超鏈接標(biāo)簽控件[LinkLabel]類進(jìn)行實(shí)現(xiàn)該功能。</p><p>  java中實(shí)現(xiàn)表格的多表頭顯示:主要就是三個(gè)應(yīng)用類ColumnGroup, GroupableTableHeader,GroupableTableHeaderU和一個(gè)示例類GroupableHeaderExample。</p>&

94、lt;p>  經(jīng)過(guò)了長(zhǎng)時(shí)間的反復(fù)編寫(xiě)調(diào)試,課本和網(wǎng)上查閱相關(guān)資料相關(guān)文章,終于完成了整個(gè)課程設(shè)計(jì)。在這個(gè)過(guò)程中,在把書(shū)本上的知識(shí)給系統(tǒng)的復(fù)習(xí)了一下的同時(shí),同時(shí)也發(fā)現(xiàn)了自己的太多不足,對(duì)JAVA2語(yǔ)言整體知識(shí)構(gòu)架不夠熟悉,不能靈活地運(yùn)用所學(xué)的知識(shí)點(diǎn)。自己的編程方式也不是太標(biāo)準(zhǔn),經(jīng)常出現(xiàn)代碼寫(xiě)錯(cuò)而調(diào)試很久的低級(jí)錯(cuò)誤情況出現(xiàn)。</p><p>  通過(guò)這次課程設(shè)計(jì),我明白了編寫(xiě)程序,不僅要求對(duì)課本知識(shí)有較深刻的了

95、解,同時(shí)要求程序設(shè)計(jì)者有較強(qiáng)的思維和動(dòng)手能力。還要熟悉常用的編程技巧和編程思想,不能只關(guān)心程序的運(yùn)行結(jié)果,更要注重程序代碼的結(jié)構(gòu),編程者更要有嚴(yán)謹(jǐn)?shù)貞B(tài)度。還有通過(guò)設(shè)計(jì)過(guò)程中大量地查閱網(wǎng)絡(luò)文章,對(duì)一些關(guān)鍵知識(shí)點(diǎn)逐個(gè)地了解并解決相關(guān)問(wèn)題。所以網(wǎng)絡(luò)這個(gè)強(qiáng)大的工具,確實(shí)是我們學(xué)習(xí)之中可以借助的一個(gè)很好的幫手。網(wǎng)絡(luò)是我們學(xué)習(xí)的最好的老師之一。有問(wèn)題,問(wèn)網(wǎng)絡(luò),是一個(gè)很好的習(xí)慣。</p><p><b>  7. 參

96、考資料:</b></p><p>  [1] 葉核亞.《JAVA2程序設(shè)計(jì)實(shí)用教程(第2版)》,北京:電子工業(yè)出版社,2008.4.</p><p>  8. 致謝:本論文是在指導(dǎo)老師zz的悉心指導(dǎo)下完成的。這次畢業(yè)設(shè)計(jì)能夠順利的完成,要感謝很多人無(wú)私的幫助。</p><p>  首先是zz老師,在技術(shù)上給了我很大的幫助和啟發(fā),他在實(shí)驗(yàn)課上的講解讓我對(duì)j

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論