📄 taskeditwindow.java
字号:
package net.sujee.javatimer;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Date;import java.util.Calendar;import net.sujee.util.IntegerInputField;import net.sujee.util.DateInputField;public class TaskEditWindow extends JDialog implements ActionListener{ public JTextField mFieldTaskName, mFieldTaskDesc; JLabel [] label = { new JLabel ("Task Name"), new JLabel ("Task Description"), new JLabel ("Start Date"), new JLabel ("FinishDate"), new JLabel ("Totlal Time (mins)") }; DateInputField mStartDate, mFinishDate; IntegerInputField mTotalTimeMins; boolean editResult; Task mTask; JButton mOkayButton = new JButton ("OK"), mCancelButton = new JButton ("Cancel"); // BUGFIX : 133076 // (http://sourceforge.net/bugs/?func=detailbug&bug_id=133076&group_id=10562) // Making this dialog modal public TaskEditWindow (JFrame f, Task task) { super (f); setModal(true); setLocationRelativeTo(f); setSize (400,500); this.mTask = task; mFieldTaskName = new JTextField (task.mName); mFieldTaskDesc = new JTextField (task.mDescription); mStartDate = new DateInputField (task.mStartDate); mFinishDate = new DateInputField (task.mFinishDate); mTotalTimeMins = new IntegerInputField (0,Integer.MAX_VALUE); mTotalTimeMins.setText(""+task.getTime().inMinutes ()); getContentPane().setLayout(new BorderLayout ()); JPanel panel1 = new JPanel (new GridLayout (5,2)); JPanel panel2 = new JPanel (); getContentPane().add (panel1, BorderLayout.CENTER); getContentPane().add (panel2, BorderLayout.SOUTH); panel1.add (label [0]); panel1.add (mFieldTaskName); panel1.add (label[1]); panel1.add (mFieldTaskDesc); panel1.add (label[2]); panel1.add (mStartDate); panel1.add (label[3]); panel1.add (mFinishDate); panel1.add (label [4]); panel1.add (mTotalTimeMins); panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Task")); panel2.add (mOkayButton); panel2.add (mCancelButton); mOkayButton.addActionListener(this); mCancelButton.addActionListener(this); pack (); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); // also add window closing addWindowListener( new WindowAdapter () { public void windowClosing (WindowEvent e) { editResult = false; } }); } public void actionPerformed (ActionEvent e) { JButton src = (JButton) e.getSource(); if (src == mOkayButton) editResult = true; else editResult = false; hide(); dispose(); } public boolean showEdit () { show (); toFront(); return editResult; } public Task getEditedTask () { mTask.mName = mFieldTaskName.getText(); mTask.mDescription = mFieldTaskDesc.getText(); mTask.mStartDate = mStartDate.getDate(); mTask.mFinishDate = mFinishDate.getDate(); mTask.mLastModified = new Date (); try { mTask.mTimeSpent = mTotalTimeMins.getValue() * 60; // convert to secs } catch (NullPointerException e) { e.printStackTrace(); } return mTask; } public static void main (String [] args) { JFrame frame = new JFrame (); TaskEditWindow edit = new TaskEditWindow (frame, new Task ("a", "aa")); if (edit.showEdit()) { Task t = edit.getEditedTask(); System.out.println( t.toString() ); } else System.out.println("Cancelled"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -