Java课程设计报告(广厦)_第1页
Java课程设计报告(广厦)_第2页
Java课程设计报告(广厦)_第3页
Java课程设计报告(广厦)_第4页
Java课程设计报告(广厦)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaJava 程序设计程序设计 课程设计报告课程设计报告 班级 班级 10 计软本计软本 姓名 姓名 曲冬雪曲冬雪 学号 学号 1010711110 日期 日期 2011 12 15 广厦学院 目目 录录 1 设计内容设计内容 1 2 概要设计概要设计 1 3 自定义类及接口说明自定义类及接口说明 1 4 程序源码程序源码 2 5 程序运行与调试程序运行与调试 6 6 总结总结 7 7 参考文献参考文献 7 0 标题 样式选择标题 1 段前端后 10 磅 三号字体 1 5 倍行距 正文 小四字体 1 5 倍行距 参考文献 5 号字体 1 5 倍行距 设计内容 设计内容 通过编写一个基于 JAVA 的应用系统综合实例 自定义一个日历组件显示日期 和时间并进行适当的功能扩充 实践 Java 语言编程技术 2 概要设计 概要设计 设计一个类用来构成日历系统的主窗口 然后编写一个框架类显示时间和提 示信息 在设计中应用了多种容器和控件 3 自定义类及接口说明 自定义类及接口说明 1 public void updateView 改变日期后完成更新界面 2 抽象类 java util Calendar 获取系统日期并传递日期数据而且在人工改 变日期后得出当天是周几 3 public static void main String args 主函数完成系统各算法的调用并对主窗口的一些属性进行设置 4 程序源码 程序源码 MyCalendar java author fancy 日历使用的类 import java awt BorderLayout import java awt Color 1 import java awt Component import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import java awt event FocusEvent import java awt event FocusListener import java util Calendar import javax swing JApplet import javax swing JButton import javax swing JComboBox import javax swing JFrame import javax swing JLabel import javax swing JOptionPane import javax swing JPanel import javax swing JSpinner import javax swing JTable import javax swing JTextField import javax swing ListSelectionModel import javax swing Timer import javax swing event ChangeEvent import javax swing event ChangeListener import javax swing table AbstractTableModel import javax swing table TableCellRenderer import javax swing table TableModel 日历 public class MyCalendar extends JApplet public static final String WEEK SUN SUN 2 public static final String WEEK MON MON public static final String WEEK TUE TUE public static final String WEEK WED WED public static final String WEEK THU THU public static final String WEEK FRI FRI public static final String WEEK SAT SAT public static final Color background Color yellow public static final Color foreground Color black public static final Color headerBackground Color blue public static final Color headerForeground Color white public static final Color selectedBackground Color blue public static final Color selectedForeground Color white private JPanel cPane private JLabel yearsLabel private JSpinner yearsSpinner private JLabel monthsLabel private JComboBox monthsComboBox private JTable daysTable private AbstractTableModel daysModel private Calendar calendar private JButton button1 public MyCalendar cPane JPanel getContentPane public void init cPane setLayout new BorderLayout calendar Calendar getInstance calendar Calendar getInstance JButton button1 new JButton 单击此处 查看时间 3 button1 setBounds 10 10 10 10 cPane add button1 BorderLayout SOUTH button1 addActionListener new java awt event ActionListener public void actionPerformed ActionEvent e RollbyJFrame myrili new RollbyJFrame JOptionPane showMessageDialog null 您点击了 e getActionCommand toString 按钮 yearsLabel new JLabel Year yearsSpinner new JSpinner yearsSpinner setEditor new JSpinner NumberEditor yearsSpinner 0000 yearsSpinner setValue new Integer calendar get Calendar YEAR yearsSpinner addChangeListener new ChangeListener public void stateChanged ChangeEvent changeEvent int day calendar get Calendar DAY OF MONTH calendar set Calendar DAY OF MONTH 1 calendar set Calendar YEAR Integer yearsSpinner getValue intValue int maxDay calendar getActualMaximum Calendar DAY OF MONTH calendar set Calendar DAY OF MONTH day maxDay maxDay day updateView 4 JPanel yearMonthPanel new JPanel cPane add yearMonthPanel BorderLayout NORTH yearMonthPanel setLayout new BorderLayout yearMonthPanel add new JPanel BorderLayout CENTER JPanel yearPanel new JPanel yearMonthPanel add yearPanel BorderLayout WEST yearPanel setLayout new BorderLayout yearPanel add yearsLabel BorderLayout WEST yearPanel add yearsSpinner BorderLayout CENTER monthsLabel new JLabel Month monthsComboBox new JComboBox for int i 1 i 5 maxDay maxDay day updateView JPanel monthPanel new JPanel yearMonthPanel add monthPanel BorderLayout EAST monthPanel setLayout new BorderLayout monthPanel add monthsLabel BorderLayout WEST monthPanel add monthsComboBox BorderLayout CENTER daysModel new AbstractTableModel public int getRowCount return 9 public int getColumnCount return 7 public Object getValueAt int row int column if row 0 return getHeader column row Calendar calendar Calendar MyCalendar this calendar clone calendar set Calendar DAY OF MONTH 1 int dayCount calendar getActualMaximum Calendar DAY OF MONTH int moreDayCount calendar get Calendar DAY OF WEEK 1 int index row 7 column 6 int dayIndex index moreDayCount 1 if index dayCount return null else return new Integer dayIndex daysTable new CalendarTable daysModel calendar daysTable setCellSelectionEnabled true daysTable setSelectionMode ListSelectionModel SINGLE SELECTION daysTable setDefaultRenderer daysTable getColumnClass 0 new TableCellRenderer public Component getTableCellRendererComponent JTable table Object value boolean isSelected boolean hasFocus int row int column String text value null value toString JLabel cell new JLabel text cell setOpaque true if row 0 cell setForeground headerForeground cell setBackground headerBackground else 7 if isSelected cell setForeground selectedForeground cell setBackground selectedBackground else cell setForeground foreground cell setBackground background return cell updateView cPane add daysTable BorderLayout CENTER public static String getHeader int index switch index case 0 return WEEK SUN case 1 return WEEK MON case 2 return WEEK TUE case 3 return WEEK WED case 4 return WEEK THU 8 case 5 return WEEK FRI case 6 return WEEK SAT default return null public void updateView daysModel fireTableDataChanged daysTable setRowSelectionInterval calendar get Calendar WEEK OF MONTH calendar get Calendar WEEK OF MONTH daysTable setColumnSelectionInterval calendar get Calendar DAY OF WEE K 1 calendar get Calendar DAY OF WEEK 1 public static class CalendarTable extends JTable private Calendar calendar public CalendarTable TableModel model Calendar calendar super model this calendar calendar 9 public void changeSelection int row int column boolean toggle boolean extend super changeSelection row column toggle extend if row 0 return Object obj getValueAt row column if obj null calendar set Calendar DAY OF MONTH Integer obj intValue public static void main String args JFrame frame new JFrame 简易时间日历 frame setDefaultCloseOperation JFrame EXIT ON CLOSE MyCalendar myCalendar new MyCalendar myCalendar init frame getContentPane add myCalendar frame setLocation 330 80 frame setSize 360 212 frame setVisible true 滚动字 public static class RollbyJFrame extends JFrame implements ActionListener FocusListener javax swing event ChangeListener 10 private JTextField text private JSpinner spinner private Timer timer private JButton button public RollbyJFrame super 滚动时间 this setSize 360 100 this setBackground java awt Color lightGray this setLocation 700 120 Container c getContentPane JButton button new JButton 修改速度 this add button East button addActionListener this Calendar now Calendar getInstance int hour now get Calendar HOUR int minute now get Calendar MINUTE int year now get Calendar YEAR int month now get Calendar MONTH int day now get Calendar DAY OF MONTH text new JTextField Hello 当前时间是 hour minute year month day this add text Center text addFocusListener this 注册焦点事件监听 器 timer new Timer 136 this timer start JPanel panel new JPanel new FlowLayout FlowLayout RIGHT 11 this add panel South spinner new JSpinner spinner setValue timer getDelay panel add spinner spinner addChangeListener this this setVisible true public void focusGained FocusEvent e 获得焦 点时 if e getSource text timer stop public void focusLost FocusEvent e 失去焦 点时 if e getSource text timer restart public void stateChanged ChangeEvent e if e getSource spinner timer setDelay new Integer spinner getValue 设置延时的时间间隔 12 public void actionPerformed ActionEvent e 定时器 定时执行事件 if e getSource button else String temp text getText temp temp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论