演示图
演示图
Calendarapp.java
ปฏิทินแพ็คเกจ; นำเข้า java.awt.borderlayout; นำเข้า java.awt.color; นำเข้า java.awt.flowlayout; นำเข้า java.awt.font; นำเข้า java.awt.gridlayout; นำเข้า java.awt.event.actionevent; .ActionListener; นำเข้า java.awt.event.mousevent; นำเข้า java.awt.event.mouselistener; นำเข้า java.io.file; นำเข้า java.text.simpledateFormat; นำเข้า java.util.calendar; นำเข้า java.util.date นำเข้า; java.util.Gregoriancalendar; นำเข้า java.util.locale; นำเข้า Javax.swing.japplet; นำเข้า Javax.swing.jbutton; นำเข้า Javax.swing.jcombobox; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.jpanel; javax.swing.border.titledBorder; CalendarApp ระดับสาธารณะขยาย JFrame {ปฏิทินเอกชนปฏิทิน = ใหม่ปฏิทิน (); ส่วนตัว JLabel Jlabel JlBllearn = new JLabel ("开始准备记单词"); String Private String = "欢迎使用版本 1.0.20150427"; ส่วนตัว jlabel jlblversionid = new jlabel (เวอร์ชั่น); JBUTTON ส่วนตัว JBTPROIR = ใหม่ JBUTTON ("←"); ส่วนตัว JButton JBTNEXT = New JButton ("→"); JBUTTON ส่วนตัว jBtDiary = new JButton ("写日记"); JBUTTON ส่วนตัว JBTSCandiary = New JButton ("看日记"); เอกชนคงที่ปี โมฆะสาธารณะ init () {ปี = calendarPanel.getYear (); CalendarPanel.SetBackground (สีขาว); / ** * 添加功能性按钮到日历面板下方 */ jpanel jpbuttons = new JPanel (ใหม่ flowlayout ()); // 设置按钮背景色为白色 jbtprior.setbackground (color.white); jbtnext.setbackground (color.white); jbtdiary.setbackground (color.white); jbtscandiary.setbackground (color.white); / * * 给四个按钮添加鼠标事件, 使其更加炫酷 * // // 一、后退按钮 jbtprior.addmouselistener (mouselistener ใหม่ () {@Override โมฆะสาธารณะ mouseclicked (MouseEvent Arg0) {// todo วิธีการอัตโนมัติที่สร้างขึ้นอัตโนมัติ stub} @Override โมฆะสาธารณะ Mouseentered (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นโดยอัตโนมัติ jbtprior.setforeground (สีกรีน); Setforeground (color.black);} @Override โมฆะสาธารณะ mousepressed (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นอัตโนมัติ stub} @Override โมฆะสาธารณะ mouserlease (MouseEvent Arg0) // 二、前进按钮 jbtnext.addmouselistener (Mouselistener ใหม่ () {@Override โมฆะสาธารณะ mouseclicked (MouseEvent Arg0) {// วิธีการที่สร้างอัตโนมัติ stub} @Override โมฆะโมฆะ stub jbtnext.setforeground (color.green);} @Override โมฆะสาธารณะ mouseexited (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นอัตโนมัติ // วิธีการที่สร้างขึ้นอัตโนมัติ todo stub} @Override โมฆะสาธารณะ mouserleased (MouseEvent Arg0) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub}}); // 三、写日记按钮 jbtdiary.addmouselistener (mouselistener ใหม่ () {@Override โมฆะสาธารณะ mouseclicked (MouseEvent Arg0) {// วิธีการที่สร้างอัตโนมัติ stub} @Override โมฆะโมฆะ วิธีการที่สร้างขึ้น jbtdiary.setforeground (color.green);} @Override โมฆะสาธารณะ mousexited (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นอัตโนมัติ {// วิธีที่สร้างขึ้นอัตโนมัติ todo stub} @Override โมฆะสาธารณะ mouserleased (MouseEvent Arg0) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub}}); // 四、看日记按钮 jbtscandiary.addmouselistener (mouselistener ใหม่ () {@Override โมฆะสาธารณะโมฆะ mouseclicked (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นอัตโนมัติ stub} @Override วิธีการที่สร้างขึ้น jbtscandiary.setforeground (color.green)} @Override โมฆะสาธารณะ mouseexited (MouseEvent Arg0) {// วิธีการที่สร้างขึ้นอัตโนมัติ jbtscandiary.setforeground {// วิธีที่สร้างขึ้นอัตโนมัติ todo stub} @Override โมฆะสาธารณะ mouserleased (MouseEvent Arg0) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub}}); jpbuttons.add (jbtprior); jpbuttons.add (JBTNEXT); jpbuttons.add (jbtdiary); jpbuttons.add (jbtscandiary); jpbuttons.setbackground (color.white); / ** * 添加日历主要组件 */ jpanel jpcalendar = new JPanel (ใหม่ BorderLayout ()); jpcalendar.add (ปฏิทิน, Borderlayout.center); jpcalendar.add (jpbuttons, borderlayout.south); / ** * 添加背单词模块 */ jpanel jplearn = new JPanel (ใหม่ flowlayout ()); jplearn.setBorder (ใหม่ titledBorder ("开心背单词")); jplearn.add (jlbllearn); jplearn.setbackground (color.white); / ** * 添加版本号信息 */ jPanel jpversionId = new JPanel (ใหม่ flowlayout ()); FONT FONT = FONT ใหม่ ("宋体", FONT.PLAIN, 4); jpversionid.setFont (แบบอักษร); jpversionid.add (jlblversionid); jpversionid.setbackground (color.white); / ** * 容器面板, 合并记单词与版本号模块 */ jpanel jpbelow = new JPanel (New BorderLayout (2,1)); jpbelow.add (Jplearn, Borderlayout.center); jpbelow.add (jpversionid, borderlayout.south); this.add (jpcalendar, borderlayout.center); this.add (jpbelow, borderlayout.south); this.setbackground (color.white); this.setsize (700, 500); this.setLocationRelativeto (null); this.settitle ("多功能日历"); this.setDefaultCloseOperation (exit_on_close); this.setVisible (จริง); jbtscandiary.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {เธรดใหม่ (ใหม่ Thread_scandiary ()). เริ่ม ();}}); jbtdiary.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {// 获取本地系统时间 SimpledateFormat df = new SimpledateFormat ("yyyy-mm-dd-hh-mm-ss"); // 设置日期设置日期设置日期格式เวลาสตริง = df.format (วันที่ใหม่ ()); jbtprior.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub int currentMonth = calendarPanel.getMonth (); if (currentMonth == 0) {Calendarpanel.Setyear ปี-; JBTNEXT.ADDACTIONLISTENER (ใหม่ ActionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub int currentMonth = CalendArpanel.getMonth (); ถ้า (currentMonth == 11) {Calendarpanel.Setyear ( ปี); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น InterruptedException {// วิธีการที่สร้างขึ้นอัตโนมัติ todo stub swinguitiities.invokelater (ใหม่ runnable () {@Override public void run () {// toDo วิธีการที่สร้างขึ้นอัตโนมัติ ) .init (); - CalendarPanel.java
/** * 本程序功能是进行日历主面板布局 */ปฏิทินแพ็คเกจ; นำเข้า java.awt.borderlayout; นำเข้า java.awt.color; นำเข้า java.awt.font; นำเข้า java.awt.gridlayout; นำเข้า java.awt.event.mousevent; นำเข้า java.awt.event.mouselistener; .DateFormatSymbols; นำเข้า java.text.simpledateFormat; นำเข้า java.util.calendar; นำเข้า java.util.Gregoriancalendar; นำเข้า java.util.locale; นำเข้า Javax.swing.*; นำเข้า Javax.swing.border.lineBorder; ปฏิทินชั้นเรียนสาธารณะขยาย jPanel { / ** * 声明数据变量 * / ส่วนตัวคงที่สุดท้าย Long SerialVersionUid = 1L; ส่วนตัว jlabel jlblheader = new jlabel ("", jlabel.center); ส่วนตัว jlabel [] jlblday = new Jlabel [49]; ปฏิทินปฏิทินส่วนตัว = New Gregoriancalendar (); Private Int Year0 = Calendar.get (Calendar.year); Private Int Month0 = Calendar.get (Calendar.month); Private Int Day0 = Calendar.get (calendar.day_of_month); เดือนเอกชน ปีเอกชน วันส่วนตัว JPANEL JPDAYS ส่วนตัว = ใหม่ JPANEL (ใหม่ gridlayout (0,7)); FONT FONT1 = FONT ใหม่ ("宋体", Font.italic, 20); Font Font2 = Font ใหม่ ("宋体", Font.Bold, 26); Font Font3 = Font ใหม่ ("宋体", Font.Bold, 30); ปฏิทินสาธารณะ () {// 设置日历头部件以及日期标签的背景色为白色 jlblheader.setbackground (color.white); jpdays.setbackground (color.white); // 声明每个标签สำหรับ (int i = 0; i <49; i ++) {jlblday [i] = new Jlabel (); jlblday [i] .setBorder (ใหม่ lineBorder (color.light_gray, 1)); jlblday [i] .Sethorizontalalignment (jlabel.right); jlblday [i] .setverticalalignment (jlabel.top); } ปฏิทิน = ใหม่ gregoriancalendar (); เดือน = Calendar.get (Calendar.month); ปี = Calendar.get (Calendar.year); day = calendar.get (calendar.date); // 更新日历 updateCalendar (); Showheader (); Showdays (); // 添加到主面板 this.setLayout (New BorderLayout ()); this.add (jlblheader, borderlayout.north); this.add (jpdays, borderlayout.center); } Private Void Showheader () {SimpledateFormat SDF = New SimpledateFormat ("MMMM YYYY", locale.china); header String = sdf.format (calendar.getTime ()); jlblheader.settext (ส่วนหัว); jlblheader.setforeground (color.blue); jlblheader.setfont (Font3); } โมฆะส่วนตัว showdayNames () {dateformatsymbols dfs = ใหม่ dateformatsymbols (locale.china); String daynames [] = dfs.getWeekDays (); สำหรับ (int i = 0; i <7; i ++) {jlblday [i] .settext (ชื่อ dayname [i+1]); jlblday [i] .setforeground (color.blue); jlblday [i] .Sethorizontalalignment (jlabel.Center); jlblday [i] .setFont (Font2); jpdays.add (jlblday [i]); }} โมฆะสาธารณะ Showdays () {jpdays.removeAll (); showdaynames (); int เริ่มต้นวันใหม่ = calendar.get (calendar.day_of_week); ปฏิทิน clonecalendar = (ปฏิทิน) ปฏิทิน. clone (); clonecalendar.add (Calendar.date, -1); int daysinprecingMonth = clonecalendar.getActualMaximum (calendar.day_of_month); สำหรับ (int i = 0; i <เริ่มต้นวันใหม่-1; i ++) {jlblday [i+7] .setforeground (color.light_gray); jlblday [i+7] .Sethorizontalalignment (jlabel.center); jlblday [i+7] .settext (วันเริ่มต้นวันเริ่มต้นวันใหม่+2+i+""); jlblday [i+7] .setFont (Font1); jpdays.add (jlblday [i+7]); } int daysincurrentMonth = calendar.getActualMaximum (calendar.day_of_month); สำหรับ (int i = 1; i <= daysincurrentMonth; i ++) {ถ้า (i == day0 && year == year0 && month == month0) {jlblday [i-2+เริ่มต้นวันใหม่+7] jlblday [I-2+เริ่มต้นวันใหม่+7] .Sethorizontalalignment (jlabel.Center); jlblday [I-2+เริ่มต้นวันใหม่+7] .settext (i+""); jlblday [I-2+เริ่มต้นวันใหม่+7] .setFont (Font2); jpdays.add (jlblday [I-2+เริ่มต้นวันใหม่+7]); } else {jlblday [I-2+เริ่มต้นวันใหม่+7] .setforeground (color.darkgray); jlblday [I-2+เริ่มต้นวันใหม่+7] .Sethorizontalalignment (jlabel.Center); jlblday [I-2+เริ่มต้นวันใหม่+7] .settext (i+""); jlblday [I-2+เริ่มต้นวันใหม่+7] .setFont (Font1); jpdays.add (jlblday [I-2+เริ่มต้นวันใหม่+7]); }} int j = 1; สำหรับ (int i = daysincurrentMonth-1+เริ่มต้นวันใหม่+7; i%7! = 0; i ++) {jlblday [i] .setforeground (color.light_gray); jlblday [i] .Sethorizontalalignment (jlabel.Center); jlblday [i] .settext (j +++""); jlblday [i] .setFont (Font1); jpdays.add (jlblday [i]); } jpdays.repaint (); } โมฆะสาธารณะ updateCalendar () {calendar.set (calendar.year, ปี); Calendar.set (Calendar.month, เดือน); Calendar.set (Calendar.date, 1); เดือน = Calendar.get (Calendar.month); ปี = Calendar.get (Calendar.year); day = calendar.get (calendar.date); } สาธารณะ int getMonth () {เดือนกลับ; } public int getYear () {ปีกลับ; } โมฆะสาธารณะ setMonth (เดือน int) {this.month = เดือน; updateCalendar (); Showheader (); Showdays (); } โมฆะสาธารณะ setYear (int ปี) {this.year = ปี; updateCalendar (); Showheader (); Showdays (); -Diary.java
/** * 本程序为日记类 * 最后修改日期为 2015-4-27 */ปฏิทินแพ็คเกจ; นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.fileoutputstream; นำเข้า java.io.objectInputStream; นำเข้า java.io.ObjectOutputStream; นำเข้า Java.io.serializable; นำเข้า Javax.swing.joptionpane; ไดอารี่ระดับสาธารณะใช้งาน serializable { /** * 数据域 * /// 私有变量ชื่อไฟล์สตริงส่วนตัว; ชุดรูปแบบสตริงส่วนตัว; เนื้อหาสตริงส่วนตัว // 含参构造方法ไดอารี่สาธารณะ (ชื่อไฟล์สตริง, ธีมสตริง, เนื้อหาสตริง) {if (Theme.length () == 0) {Joptionpane.showMessageDialog (null, "无论心情如何, 总得有个主题吧!") ; } อื่นถ้า (content.length () == 0) {joptionpane.showMessagedialog (null, "把开心的不开心的都尽情写下吧!"); } else {ไฟล์ calendardiaryFile = ไฟล์ใหม่ ("c:/ปฏิทิน/ไดอารี่"); if (! CalendardiaryFile.exists ()) {calendardiaryfile.mkdirs (); } this.filename = "c:/ปฏิทิน/ไดอารี่/"+filename+". dat"; this.theme = ธีม; this.content = เนื้อหา; }} โมฆะสาธารณะเขียน () พ่นข้อยกเว้น {ไฟล์ไฟล์ = ไฟล์ใหม่ (ชื่อไฟล์); fileOutputStream fos = new fileOutputStream (ไฟล์); ObjectOutputStream OOS = ใหม่ ObjectOutputStream (FOS); oos.writeObject (นี่); oos.close (); } ไดอารี่สาธารณะอ่าน () พ่นข้อยกเว้น {ไฟล์ไฟล์ = ไฟล์ใหม่ (ชื่อไฟล์); FileInputStream FIS = ใหม่ FileInputStream (ไฟล์); ObjectInputStream OIS = ใหม่ ObjectInputStream (FIS); ไดอารี่ d = (ไดอารี่) ois.readobject (); ois.close (); กลับ D; } / ** * 变量 get () 方法 * @return * / สตริงสาธารณะ getTheMe () {return this.theme; } สตริงสาธารณะ getContent () {return this.content; } /** * 变量 set () 方法 * @param comment * /}thread_keepdiary.java
/** * 备忘录线程 * 用于单击标签时可以存储日记 * 目前只考虑年月日时间点, 不标记具体时间点 */ปฏิทินแพ็คเกจ; นำเข้า java.awt.borderlayout; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.actionListener; นำเข้า java.io.file; นำเข้า java.nio.file.files; นำเข้า Javax.swing.*; ชั้นเรียนสาธารณะ Thread_KeepDiary ขยาย JFrame ใช้งาน Runnable {ส่วนตัว JFrame JF = สิ่งนี้; ส่วนตัว jtextarea jta = new jtextarea (); JBUTTON ส่วนตัว JBTSAVE = JBUTTON ใหม่ ("保存"); ส่วนตัว Jlabel jlbltitle = new Jlabel ("主题"); ส่วนตัว jtextfield jtftitle = new Jtextfield (16); รหัสสตริงส่วนตัว; public thread_keepdiary (เวลาสตริง) {jpanel jptitle = new jpanel (); jptitle.setLayout (New BorderLayout ()); jptitle.add (Jlbltitle, Borderlayout.west); jptitle.add (jtftitle, borderlayout.center); jta.setLineWrap (จริง); jta.setWrapStyleword (จริง); JScrollpane JSP = new JScrollpane (JTA); jsp.sethorizontalscrollbarpolicy (jscrollpane.horizontal_scrollbar_never); this.id = เวลา; jbtsave.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent Arg0) {// todo วิธีการที่สร้างขึ้นอัตโนมัติชุดรูปแบบ Stub String = jtftitle.getText () Trim (); String Content = JTA.getText (); d_today = ไดอารี่ใหม่ (id, ธีม, เนื้อหา); );}}}); this.settitle ("备忘录"+id); this.add (jsp, borderlayout.center); this.add (jptitle, borderlayout.north); this.add (Jbtsave, Borderlayout.south); this.setsize (500,500); this.setLocationRelativeto (null); this.setDefaultCloseoperation (dispose_on_close); } @Override โมฆะสาธารณะเรียกใช้ () {this.setVisible (จริง); -thread_mottosparkle.java
ปฏิทินแพ็คเกจ; นำเข้า Javax.swing.jlabel; ชั้นเรียนสาธารณะ Thread_mottosparkle ใช้งานได้ {ส่วนตัว jlabel jlbl; Public Thread_mottosparkle (Jlabel Jlbl) {this.jlbl = jlbl; } @Override โมฆะสาธารณะ Run () {String Content = jlbl.getText (); int l = content.length (); ดัชนี int = 0; ในขณะที่ (จริง) {jlbl.settext (content.substring (0, index)); ลอง {thread.sleep (250); } catch (exception ex) {ex.printstacktrace (); } ดัชนี ++; if (index == (l+1)) index = 0; -thread_scandiary.java
/*** 查看日记线程编写*/ปฏิทินแพ็คเกจ; นำเข้า java.awt.borderlayout; นำเข้า java.awt.color; นำเข้า java.awt.font; นำเข้า java.awt.event.actionEvent; นำเข้า java.awt.event.ActionListener; นำเข้า java.io.file; .FileInputStream; นำเข้า Java.io.ObjectInputStream; นำเข้า Javax.swing.*; นำเข้า Javax.swing.table.defaultTableCellRenderer; นำเข้า Javax.swing.table.defaultTableModel; นำเข้า Javax.swing.table.jtableheader; ชั้นเรียนสาธารณะ Thread_scandiary ขยาย JFrame ดำเนินการ runnable { / ** * 声明变量区 * / ส่วนตัวคงที่สุดท้าย Long SerialVersionUid = 1L; // 日历数据库存放路径เส้นทางสตริงส่วนตัว = "C:/ปฏิทิน/ไดอารี่"; // 日历总个数 NUM int คงที่ส่วนตัว; // 声明日历文件ไฟล์ไฟล์ส่วนตัว; ไฟล์ส่วนตัว [] ไดอารี่; // 声明 jtable 模型ส่วนตัว jtable jtable; // 声明格言面板及标签及内容等 JPANEL JPMOTTO ส่วนตัว = ใหม่ JPANEL (); ส่วนตัว jlabel jlblmotto = new jlabel (); ตัวอักษรตัวอักษรส่วนตัว = ตัวอักษรใหม่ ("宋体", Font.italic, 20); สตริงส่วนตัว wish = "唯有专注, 才能让自己成功。"; // 增加弹出式菜单 2015-4-26 ส่วนตัว jpopupmenu jpopupMenu1 = new JPopupMenu (); // 声明菜单ส่วนตัว jmenuitem jmiscan = new jmenuitem ("查看"); JMENUITEM ส่วนตัว JMIDELETE = ใหม่ JMENUITEM ("删除"); JMENUITEM ส่วนตัว JMICOMMENT = JMENUITEM ใหม่ ("评论"); @Override โมฆะสาธารณะ Run () {// 尝试弹出式菜单增加子菜单 jmiscan.setforeground (color.red); jmidelete.setforeground (color.red); jmicomment.setforeground (color.red); JPOPUPMENU1.ADD (JMISCAN); JPOPUPMENU1.ADDSPERATOR (); JPOPUPMENU1.ADD (JMIDELETE); JPOPUPMENU1.ADDSPERATOR (); JPOPUPMENU1.ADD (JMICOMMENT); / ** * 智能获取文件列表 */ file = ไฟล์ใหม่ (พา ธ ); ไดอารี่ = file.listfiles (); num = ไดอารี่ความยาว; String [] head = {"时间", "主题"}; วัตถุ [] [] ไดอารี่ = วัตถุใหม่ [num] [2]; สำหรับ (int i = 0; i <num; i ++) {ลอง {string time = diary [i] .getName (). แทนที่ first (". dat", ""); FileInputStream FIS = ใหม่ FileInputStream (ไดอารี่ [i]); ObjectInputStream OIS = ใหม่ ObjectInputStream (FIS); ไดอารี่ d = (ไดอารี่) ois.readobject (); ois.close (); ธีมสตริง = d.getTheme (); ไดอารี่ [i] [0] = เวลา; ไดอารี่ [i] [1] = ธีม; } catch (exception ex) {ex.printstacktrace (); }} / ** * 格言面板取 * / jlblmotto.settext (Wish); jlblmotto.setfont (แบบอักษร); jlblmotto.setforeground (color.red); jpmotto.add (jlblmotto); jpmotto.setbackground (color.white); / ** * 日历列表面板区 */ final defaultTableModel tableModel = ใหม่ defaultTableModel (ไดอารี่, หัว); jtable = ใหม่ jtable (tablemodel); jtable.setbackground (color.white); jtable.setrowheight (30); jtable.setDoubleBuffered (เท็จ); jtable.setComponentPopUpMenu (JPOPUPMENU1); jtable.SetSelectionMode (listselectionModel.single_selection); defaultTableCellRenderer tcr = ใหม่ defaultTableCellRenderer (); // 设置ตาราง内容居中 tcr.sethorizontalalignment (swingConstants.center); // 这句和上句作用一样 jtable.setDefaultrenderer (Object.class, tcr); JScrollpane JSP = new JScrollpane (JTable); /** * 弹出式菜单事件监听器编写 */// 查看菜单 jmiscan.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ถ้า (jtable.getSelectedRow ()> = 0) {int index = jtable.getSelectedRow (); OIS = New ObjectInputStream (FIS); "); jtextfield jtftitle = new Jtextfield (16); jpanel jptitle = new JPanel (); jptitle.setLayout (ใหม่ Borderlayout ()); jptitle.add (Jlbltitle, Borderlayout.west); jptitle.add ); .getContent ()); jf.settitle ("日记"+ไดอารี่ [ดัชนี] .getName (). แทนที่ first (". dat", ""); JF.Add (JSP, BorderLayout.Center); jf.add (Jptitle, Borderlayout.north); JF.Setsize (400,400); jf.setLocationRelativeto (null); jf.setDefaultCloseoperation (dispose_on_close); jf.setVisible (จริง); } catch (exception ex) {ex.printstacktrace (); }} else {joptionpane.showMessageDialog (null, "请先选中一个日记!"); - // 删除菜单 jmidelete.addactionListener (ใหม่ actionListener () {@Override โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ถ้า (jtable.getSelectedRow ()> = 0) {int index = jtable.getSelectedRow () /ปฏิทิน/ไดอารี่/"+ไดอารี่ [ดัชนี] .getName (); ไฟล์ไฟล์ = ไฟล์ใหม่ (ชื่อไฟล์); ตัวเลือก int = JOptionPane.ShowConfirmDialog (null," 你确定要删除日记 "+ไดอารี่ [ดัชนี] .getName () +"?"); else {}} else {joptionpane.showMessageDialog (null, "请先选中一个日记!");}}}); / ** * 主框架布局 */ this.add (jsp, borderlayout.center); this.add (jpmotto, borderlayout.south); this.setsize (600, 500); this.setDefaultCloseoperation (dispose_on_close); this.setLocationRelativeto (null); this.settitle ("日记列表"); this.setVisible (จริง); กระทู้ใหม่ (ใหม่ Thread_mottosparkle (Jlblmotto)). start (); -Thread_showenglish.java
ปฏิทินแพ็คเกจ; นำเข้า java.awt.Color; นำเข้า java.awt.font; นำเข้า java.io.bufferedreader; นำเข้า java.io.filereader; นำเข้า java.io.linenumberReader; นำเข้า Java.security.Securerandom; นำเข้า Java.util.Random; นำเข้า Javax.swing.jlabel; ชั้นเรียนสาธารณะ Thread_showenglish ใช้งานได้ {ส่วนตัวคงที่ jlabel jlbl = new jlabel (); FONT FONT = FONT ใหม่ ("���", Font.Bold, 18); public thread_showenglish (jlabel jlbl) {this.jlbl = jlbl; jlbl.setforeground (color.magenta); jlbl.setfont (แบบอักษร); } @Override โมฆะสาธารณะเรียกใช้ () {// todo วิธีการที่สร้างอัตโนมัติ stub int count = 0; ลอง {string file = "c: /calendar/learning/english_word.txt"; bufferedReader input = ใหม่ bufferedReader (filereader ใหม่ (ไฟล์)); ในขณะที่ (input.readline ()! = null) {count ++; } input.close (); int [] word = new int [count]; securerandom random = ใหม่ securerandom (); สำหรับ (int i = 0; i <count; i ++) {word [i] = random.nextint (นับ); } int index = 0; Thread.sleep (1,000); ในขณะที่ (จริง) {bufferedReader input1 = new bufferedReader (filereader ใหม่ (ไฟล์)); เนื้อหาสตริง = ""; int line = 0; ในขณะที่ ((content = input1.readline ())! = null) {ถ้า (line == word [index]) {jlbl.settext (เนื้อหา); } line ++; } if (index == count-1) index = 0; ดัชนีอื่น ++; Thread.sleep (3500); }} catch (Exception ex) {ex.printstacktrace (); -以上所述就是本文的全部内容了, 希望大家能够喜欢。