?? friendmanager.java
字號:
package one;
//--------------------導入各類-------------------------
import javax.swing.*;
import javax.swing.event.*;
import java.io.Serializable;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import java.io.*;
import java.util.*;
import javax.swing.text.*;
// 定義Friendmanager類
public class Friendmanager extends JFrame{
static int i=1;
//----------創建窗體所用組件-------------------
/**
* 先創建所需標簽(21)
*/
JLabel title;
JLabel guanxi;
JLabel name;
JLabel age;
JLabel feizhuliu;
JLabel shijian;
JLabel friendxinxi;
JLabel xin1;
JLabel xin2;
JLabel xin3;
JLabel xin4;
JLabel xin5;
JLabel xin6;
JLabel xin7;
JLabel xin8;
JLabel sex;
JLabel address;
JLabel telephone;
JLabel QQ;
JLabel email;
JLabel guanxi1;
//創建文本輸入框的對象
JTextField nametext;
JTextField guanxitext;
JTextField sextext;
JTextField addtext;
JTextField agetext;
JTextField teltext;
JTextField QQtext;
JTextField emailtext;
JTextField shijiantext;
/**
*定義兩個多行的文本輸入框 xianshikuang用于右邊顯示數據
*shijiantext 用于輸入職工業績
**/
TextArea xianshikuang;
/**
*創建字體的兩個對象 用于后面對文字的處理
**/
Font ft,tt,tf;
/**
*創建按鈕對象
**/
JButton add;
JButton find;
JButton clear;
JButton exit,show;
JButton write;
ArrayList<Object>al;
//創建一個容器對象是public的
public Container cp;
Friendmanager(String s){
//繼承父類
super(s);
//標簽對象的名字
title=new JLabel("我的交友錄");
name=new JLabel("姓 名");
sex=new JLabel("性別");
guanxi=new JLabel("交際關系");
age=new JLabel("生日");
address=new JLabel("地 址");
telephone=new JLabel("電 話");
QQ=new JLabel("QQ號");
email=new JLabel("郵 箱");
feizhuliu=new JLabel(new ImageIcon("feizhuliu.gif"));
xin1=new JLabel(new ImageIcon("xin1.gif"));
xin2=new JLabel(new ImageIcon("xin.gif"));
xin3=new JLabel(new ImageIcon("hudie2.gif"));
xin4=new JLabel(new ImageIcon("hudie4.gif"));
xin5=new JLabel(new ImageIcon("hudie3.gif"));
xin6=new JLabel(new ImageIcon("5.gif"));
xin7=new JLabel(new ImageIcon("7.gif"));
xin8=new JLabel(new ImageIcon("5.gif"));
shijian=new JLabel("創建時間");
friendxinxi=new JLabel("朋友資料顯示");
nametext=new JTextField();
sextext=new JTextField();
guanxitext=new JTextField();
agetext=new JTextField();
addtext=new JTextField();
teltext=new JTextField();
QQtext=new JTextField();
emailtext=new JTextField();
xianshikuang=new TextArea();
shijiantext=new JTextField();
ft=new Font("行楷",Font.ITALIC,50);
tt=new Font("隸書",Font.ITALIC,20);
tf=new Font("隸書",Font.ITALIC,30);
//在按鈕上貼圖片
add=new JButton(new ImageIcon("add.jpg"));
find=new JButton(new ImageIcon("find.jpg"));
clear=new JButton(new ImageIcon("clear.jpg"));
exit=new JButton(new ImageIcon("exit.jpg"));
write=new JButton(new ImageIcon("write.jpg"));
show=new JButton(new ImageIcon("show.jpg"));
al=new ArrayList<Object>();
cp=this.getContentPane();
//設置容器屬性
cp.setBackground(new Color(0,0,0));
cp.setLayout(null);
//標簽的字體屬性
title.setFont(ft);
title.setBounds(300,30,400,50);
guanxi.setFont(tt);
name.setFont(tt);
sex.setFont(tt);
age.setFont(tt);
address.setFont(tt);
QQ.setFont(tt);
telephone.setFont(tt);
email.setFont(tt);
shijian.setFont(tt);
friendxinxi.setFont(tf);
title.setForeground(new Color(210,90,180));
name.setForeground(new Color(255,110,90));
guanxi.setForeground(new Color(225,200,100));
age.setForeground(new Color(225,200,100));
sex.setForeground(new Color(225,200,100));
address.setForeground(new Color(225,200,100));
telephone.setForeground(new Color(225,200,100));
email.setForeground(new Color(225,200,100));
QQ.setForeground(new Color(225,200,100));
shijian.setForeground(new Color(225,200,100));
friendxinxi.setForeground(new Color(225,200,100));
//各個標簽以及輸入文本框的坐標及其大小
guanxi.setBounds(40,370,100,30);
name.setBounds(240,160,75,30);
sex.setBounds(420,110,40,30);
sextext.setBounds(410,140,55,30);
age.setBounds(70,110,40,30);
address.setBounds(240,525,75,30);
QQ.setBounds(25,250,45,30);
telephone.setBounds(465,250,75,30);
email.setBounds(235,450,75,30);
shijian.setBounds(420,370,100,40);
feizhuliu.setBounds(140,230,265,265);
xin1.setBounds(10,80,150,150);
xin2.setBounds(360,80,150,150);
xin3.setBounds(700,10,150,150);
xin4.setBounds(700,10,130,130);
xin5.setBounds(850,560,130,130);
xin6.setBounds(550,30,300,300);
xin8.setBounds(400,5,300,250);
guanxitext.setBounds(35,400,100,30);
nametext.setBounds(220,190,80,35);
agetext.setBounds(60,140,55,30);
addtext.setBounds(190,570,160,30);
QQtext.setBounds(0,280,80,30);
teltext.setBounds(460,280,80,30);
emailtext.setBounds(205,500,120,30);
friendxinxi.setBounds(580,140,200,70);
xianshikuang.setBounds(550,200,430,330);
shijiantext.setBounds(420,400,100,30);
//按鈕的坐標
add.setBounds(30,620,90,35);
find.setBounds(170,620,90,35);
clear.setBounds(315,620,90,35);
show.setBounds(455,620,90,35);
write.setBounds(605,620,90,35);
exit.setBounds(770,620,90,35);
//往容器上添加各個組件
cp.add(title);
cp.add(sex);
cp.add(name);
cp.add(sextext);
cp.add(guanxi);
cp.add(age);
cp.add(address);
cp.add(telephone);
cp.add(QQ);
cp.add(email);
cp.add(friendxinxi);
cp.add(xianshikuang);
cp.add(feizhuliu);
cp.add(xin1);
cp.add(xin2);
cp.add(xin3);
cp.add(xin4);
cp.add(xin5);
cp.add(xin6);
cp.add(xin7);
cp.add(xin8);
cp.add(shijiantext);
cp.add(shijian);
cp.add(nametext);
cp.add(guanxitext);
cp.add(agetext);
cp.add(addtext);
cp.add(teltext);
cp.add(QQtext);
cp.add(emailtext);
cp.add(shijiantext);
cp.add(add);
cp.add(find);
cp.add(clear);
cp.add(exit);
cp.add(write);
cp.add(show);
//異常的處理
try{
ObjectInputStream in=new ObjectInputStream(new FileInputStream("student"));
al=(ArrayList)in.readObject();
in.close();
}
catch(Exception ex){}
//---------------事件監聽------------------
//添加按鈕的事件監聽
add.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(nametext.getText().equalsIgnoreCase("")){//如果名字輸入為空將彈出消息框
JOptionPane.showMessageDialog(null,"無法添加名字為空的記錄","Message",JOptionPane.INFORMATION_MESSAGE);
//按下確定后清空剛才輸入的數據
nametext.setText("");
agetext.setText("");
sextext.setText("");
guanxitext.setText("");
addtext.setText("");
teltext.setText("");
QQtext.setText("");
emailtext.setText("");
shijiantext.setText("");
return;
}
//創建Friend的一個對象
Friend stu=new Friend();
stu.name=nametext.getText();
stu.guanxi=guanxitext.getText();
stu.age=agetext.getText();
stu.address=addtext.getText();
stu.telephone=teltext.getText();
stu.QQ=QQtext.getText();
stu.sex=sextext.getText();
stu.email=emailtext.getText();
stu.shijian=shijiantext.getText();
//再創建一個Friend對象是儲存再次輸入的數據
Friend temp;
for(int i=0;i<al.size();i++){
temp=(Friend)al.get(i);
if(temp.name.equals(stu.name)){//如果再次輸入的姓名和已經存在的記錄中的姓名重復彈出消息框
JOptionPane.showMessageDialog(null,"已經存在此記錄","message",JOptionPane.INFORMATION_MESSAGE);
break;
}
}
//ArrayList 的對象添加上Friend的對象
al.add(stu);
//清空當前輸入框中的數據
nametext.setText("");
agetext.setText("");
sextext.setText("");
guanxitext.setText("");
addtext.setText("");
teltext.setText("");
QQtext.setText("");
emailtext.setText("");
shijiantext.setText("");
}
});
//查找按鈕的事件監聽
find.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Friend stu=new Friend();
//按照姓名和職工號都可以查找
stu.name=nametext.getText();
stu.guanxi=guanxitext.getText();
Friend temp;
for(int i=0;i<al.size();i++){
temp=(Friend)al.get(i);//初始化al
if(temp.name.equals(stu.name)||temp.guanxi.equals(stu.guanxi)){
//如果輸入要查找的姓名或職工號有異者和儲存記錄中的相同就全部輸出信息
guanxitext.setText(temp.guanxi);
nametext.setText(temp.name);
agetext.setText(temp.age);
addtext.setText(temp.address);
teltext.setText(temp.telephone);
QQtext.setText(temp.QQ);
emailtext.setText(temp.email);
sextext.setText(temp.sex);
shijiantext.setText(temp.shijian);
break;
}
}
if(i>=al.size()){
nametext.setText("");
agetext.setText("");
sextext.setText("");
guanxitext.setText("");
addtext.setText("");
teltext.setText("");
QQtext.setText("");
emailtext.setText("");
shijiantext.setText("");
JOptionPane.showMessageDialog(null,"無此記錄","message",JOptionPane.INFORMATION_MESSAGE);
}
}
});
clear.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
nametext.setText("");
agetext.setText("");
sextext.setText("");
guanxitext.setText("");
addtext.setText("");
teltext.setText("");
QQtext.setText("");
emailtext.setText("");
shijiantext.setText("");
}
});
//添加退出按鈕的事件監聽
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,"確定要退出?");
System.exit(1);
}
});
//添加顯示的事件監聽
show.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Friend temp;
xianshikuang.setText("");
for(int i=0;i<al.size();i++){
temp=(Friend)al.get(i);
xianshikuang.setText(xianshikuang.getText()+"\n"+"["+i+"]"+" "+temp.name+" "+temp.sex+" "+temp.age+" "+temp.address+" "+temp.telephone+" "+temp.QQ+" "+temp.email+" "+temp.guanxi+" "+temp.shijian);
}
}
});
//添加保存(寫入)的事件監聽
write.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//異常處理事件
try{
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("student"));
out.writeObject(al);
out.close();
}
catch(Exception ex){}
}
private void Friendmanager(ArrayList<Object> al) {
// TODO Auto-generated method stub
}
});
}
//main方法
public static void main(String arg[]){
JOptionPane.showMessageDialog(null,"Hai! 主人,歡迎進入系統,祝您一天好心情!");
Friendmanager com=new Friendmanager("我的交友錄");
com.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
com.setSize(1000,730);
com.setVisible(true);
com.setResizable(false);
}
}
//創建Friend類
class Friend implements Serializable{
public String name;
public String guanxi;
public String age;
public String address;
public String telephone;
public String QQ;
public String email;
public String sex;
public String shijian;
public String liuyan;
public Friend(){};
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -