📄 mainframe.java
字号:
package phonebook2;import java.awt.event.ActionEvent;import java.awt.event.MouseEvent;import javax.swing.*;import java.awt.*;import java.awt.event.ActionListener;import javax.swing.JOptionPane;public class MainFrame extends JFrame{ JPanel panel1=new JPanel(new GridLayout(8,1),true); PHbook phonebook=new PHbook(); JLabel label1=new JLabel("ID | 姓名 | 电话 | 学校/年龄 |类型"); JLabel[] labelgroup=new JLabel[5]; JMenuBar menubar=new JMenuBar(); JMenu menu_add=new JMenu("添加"); JMenu menu_phonebook=new JMenu("电话本"); JMenuItem itemadd_ter=new JMenuItem("教师"); JMenuItem itemadd_stu=new JMenuItem("学生"); JMenuItem itemadd_scan=new JMenuItem("浏览"); JMenuItem itemadd_quit=new JMenuItem("退出"); JMenuItem item_find=new JMenuItem("查找"); JButton nextbutton=new JButton("下一页"); JButton prevbutton=new JButton("上一页"); int index=0; boolean scan=true; PropertyBox property=new PropertyBox(this); public MainFrame(){ super("电话本 2"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); this.setSize(300, 300); panel1.setPreferredSize(new Dimension(300,300)); menu_add.add(itemadd_ter); menu_add.add(itemadd_stu); menu_phonebook.add(itemadd_scan); menu_phonebook.add(itemadd_quit); menu_phonebook.add(item_find); menubar.add(menu_phonebook); menubar.add(menu_add); panel1.add(label1); initlabels(); setMenuitem(); setButton(); setLabel(); this.setJMenuBar(menubar); panel1.setVisible(true); getContentPane().add(panel1); panel1.add(prevbutton); panel1.add(nextbutton); showItems(); scan=true; } void setMenuitem(){ itemadd_quit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { System.exit(0); } }); itemadd_ter.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String name,phone,school; name=JOptionPane.showInputDialog(null, "请输入教师名字", null); phone=JOptionPane.showInputDialog(null, "请输入教师电话", null); school=JOptionPane.showInputDialog(null, "请输入教师学校", null); if(name==null) { return; } if(phone==null) { return; } if(school==null) { return; } PHbookItem temp=new Teacher(name,phone,school); phonebook.addItem(temp); showItems(); } }); itemadd_stu.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String name,phone,age; name=JOptionPane.showInputDialog(null, "请输入学生名字", null); phone=JOptionPane.showInputDialog(null, "请输入学生电话", null); age=JOptionPane.showInputDialog(null, "请输入学生年龄", null); if(name==null) { return; } if(phone==null) { return; } if(age==null) { return; } PHbookItem temp=new Student(name,phone,age); phonebook.addItem(temp); showItems(); } }); item_find.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String name; name=JOptionPane.showInputDialog(null, "请输入要查找的名字:", null); if(name==null) { return; } else{ if(phonebook.Find(name, 1).pbook.size()==0) JOptionPane.showConfirmDialog(null, "没有找到条目", "查找", 2); showresult(phonebook.Find(name, 1)); scan=false; } } }); itemadd_scan.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { scan=true; showItems(); } }); } void setLabel() { for(int i=0;i<5;i++) { final int j=i; labelgroup[i].addMouseListener(new java.awt.event.MouseAdapter(){ @Override public void mouseClicked(java.awt.event.MouseEvent evt) { LabelMouseClicked(phonebook,j,evt); } }); } } void LabelMouseClicked(PHbook p,int i,MouseEvent evt) { if((i+index+1)<=phonebook.pbook.size()&&scan) { property.initPropertyBox(p, index+i); } } void setButton(){ prevbutton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { if(index!=0&&scan) index-=5; showItems(); } }); nextbutton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { if((index+6)<=phonebook.pbook.size()&&scan) { index+=5; } showItems(); } });}void showresult(PHbook p){ for(int i=0;i<5;i++) { if((i+1)<=p.pbook.size()) labelgroup[i].setText((i+1)+" "+p.getItem(i).toString()+" "+ (p.getItem(i).getClass()==Teacher.class?"Teacher":"Student" )); else{ labelgroup[i].setText((i+1)+" 还没有条目"); } } } void showItems() { for(int i=0;i<5;i++) { if((i+index+1)<=phonebook.pbook.size()) labelgroup[i].setText((i+index+1)+" "+phonebook.getItem(i+index).toString()+" "+ (phonebook.getItem(i+index).getClass()==Teacher.class?"Teacher":"Student" )); else{ labelgroup[i].setText((i+index+1)+" 还没有条目"); } } repaint(); } void initlabels(){ for(int i=0;i<5;i++) { labelgroup[i]=new JLabel(); panel1.add(labelgroup[i]); } } public static void main(String[] args) { MainFrame mainframe=new MainFrame(); mainframe.setVisible(true); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -