📄 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 + -