📄 dateorganizersystem.java
字号:
package P3;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.MatteBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.concurrent.*;
class AboutDialog extends JDialog{
static String information=" Writed by Han Zeyu\n 2008.6.20";
private JTextArea text=new JTextArea(2,20);
private JPanel textPanel=new JPanel();
private JButton b1=new JButton("OK");
private JPanel buttonPanel=new JPanel();
public AboutDialog(JFrame parent){
super(parent,"About...",true);
text.setEditable(false);
text.setText(information);
text.setBorder(new MatteBorder(3,3,1,1,Color.LIGHT_GRAY));
text.setBackground(getBackground());
text.setForeground(Color.black);
textPanel.add(text);
textPanel.setBorder(new TitledBorder("Date Organizer System"));
add(textPanel,BorderLayout.NORTH);
add(new JPanel(),BorderLayout.CENTER);
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(b1);
add(buttonPanel,BorderLayout.EAST);
setSize(300,140);
}
}
public class DateOrganizerSystem extends JFrame implements Runnable{
private Calendar calendar=Calendar.getInstance();
private Activities totalActivities=new Activities();
private CalendarDisplay calendarPanel;
private Schedule schedulePanel;
public void run(){
Calendar oldCalendar=(Calendar)calendar.clone();
while(true){
if(!oldCalendar.equals(calendar)){
schedulePanel.update();
oldCalendar=(Calendar)calendar.clone();
}
}
}
public DateOrganizerSystem(){
setJMenuBar(new MyMenuBar(totalActivities));
calendarPanel=new CalendarDisplay(calendar);
schedulePanel=new Schedule(calendar,totalActivities);
add(BorderLayout.WEST,calendarPanel);
add(BorderLayout.CENTER,schedulePanel);
}
private class MyMenuBar extends JMenuBar{
private Activities totalActivities;
private JMenu[] menus={new JMenu("File"),new JMenu("Query"),new JMenu("Help")};
private JMenuItem[] menuItems={new JMenuItem("Exit"),new JMenuItem("by year"),new JMenuItem("by month"),
new JMenuItem("by week"),new JMenuItem("by day"),new JMenuItem("About...")};
public MyMenuBar(final Activities totalActivities){
super();
this.totalActivities=totalActivities;
menus[0].add(menuItems[0]);
menus[1].add(menuItems[1]);
menus[1].add(menuItems[2]);
menus[1].add(menuItems[3]);
menus[1].add(menuItems[4]);
menus[2].add(menuItems[5]);
menuItems[0].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
System.exit(0);
}
});
menuItems[1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JMenuItem target=(JMenuItem)e.getSource();
String actionCommand=target.getActionCommand();
if(actionCommand.equals("by year")){
QueryOfYear.run(new QueryOfYear(totalActivities));
}
}
});
menuItems[2].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JMenuItem target=(JMenuItem)e.getSource();
String actionCommand=target.getActionCommand();
if(actionCommand.equals("by month")){
QueryOfMonth.run(new QueryOfMonth(totalActivities));
}
}
});
menuItems[3].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JMenuItem target=(JMenuItem)e.getSource();
String actionCommand=target.getActionCommand();
if(actionCommand.equals("by week")){
QueryOfWeek.run(new QueryOfWeek(totalActivities));
}
}
});
menuItems[4].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JMenuItem target=(JMenuItem)e.getSource();
String actionCommand=target.getActionCommand();
if(actionCommand.equals("by day")){
QueryOfDay.run(new QueryOfDay(totalActivities));
}
}
});
menuItems[5].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
AboutDialog dlg=new AboutDialog(null);
dlg.setVisible(true);
}
});
for(JMenu jm:menus)
add(jm);
}
}
public static void run(final JFrame f){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
f.setTitle("Date Organizer System");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(770, 560);
f.setVisible(true);
}
});
}
public static void main(String[] args){
DateOrganizerSystem dateOrganizerSystem=new DateOrganizerSystem();
ExecutorService exec=Executors.newCachedThreadPool();
exec.execute(dateOrganizerSystem);
run(dateOrganizerSystem);
exec.shutdown();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -