📄 stuinfor.java
字号:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.tree.*;
import javax.swing.table.*;
public class StuInfor extends JFrame implements ActionListener{
//变量声明
JLabel labName;
JLabel labPass;
JLabel labSex;
JLabel labPar;
JLabel labAge;
JLabel labGra;
JLabel labTex;
JLabel labRes;
JLabel labTit;
JButton butCol;
JButton butPic;
JButton panePic;
JButton butAdd;
JButton count,exit0;
JToolBar tb;
JTextField texName;
JPasswordField pass;
JRadioButton man;
JRadioButton woman;
JCheckBox chePar0;
JCheckBox chePar1;
JSpinner spiAge;
JComboBox comGra;
JTextArea texAreRes;
JPanel paneStu,paneSex,panePar;
JTable tabStu;
// Object value[][];
ButtonGroup radGroup;
ButtonGroup cheGroup;
Box p0,p1,p2,p3,p4,p5,p6,p7,p8,p9;
Box baseBox;
Box topBox;
Box leftBox;
Box bottomBox;
Box endBox;
Box rightBox;
Box startBox;
Box all;
Box menuBox;
JSplitPane split0;
JSplitPane split1;
JScrollPane scrop;
Container con;
Color color;
String picDir;
Icon icon;
//构造方法
public StuInfor(){
super("学生基本信息");
con=getContentPane();
setVisible(true);
JMenuBar bar=new JMenuBar();
JMenu menuSys=new JMenu("系统");
JMenuItem itemShowHide=new JMenuItem("显示/隐藏工具条");
JMenuItem itemCount=new JMenuItem("统计人数");
JMenuItem itemExit=new JMenuItem("推出");
itemExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.ALT_MASK));
itemExit.addActionListener
(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
StuInfor.this.windowClosed();
}
}
);
menuSys.add(itemShowHide);
menuSys.add(itemCount);
menuSys.add(itemExit);
bar.add(menuSys);
menuBox=Box.createHorizontalBox();
baseBox=Box.createVerticalBox();
startBox=Box.createHorizontalBox();
topBox=Box.createHorizontalBox();
leftBox=Box.createVerticalBox();
bottomBox=Box.createVerticalBox();
endBox=Box.createHorizontalBox();
rightBox=Box.createVerticalBox();
all=Box.createVerticalBox();
paneStu=new JPanel();
p0=Box.createHorizontalBox();
p1=Box.createHorizontalBox();
p2=Box.createHorizontalBox();
p3=Box.createHorizontalBox();
p4=Box.createHorizontalBox();
p5=Box.createHorizontalBox();
p6=Box.createHorizontalBox();
p7=Box.createHorizontalBox();
p8=Box.createHorizontalBox();
p9=Box.createHorizontalBox();
paneStu.setLayout(new GridLayout(8,2));
labTit=new JLabel("学生基本信息");
labName=new JLabel("姓名",JLabel.LEFT);
labPass=new JLabel("密码",JLabel.LEFT);
labSex=new JLabel("性别",JLabel.LEFT);
labPar=new JLabel("党否",JLabel.LEFT);
labAge=new JLabel("年龄",JLabel.LEFT);
labGra=new JLabel("年级",JLabel.LEFT);
labRes=new JLabel("简历",labRes.LEFT);
butCol=new JButton(" 选择颜色...");
butAdd=new JButton("添加");
butCol.addActionListener(this);
butPic=new JButton("选择照片...");
count=new JButton("统计人数");
exit0=new JButton("退出");
butPic.addActionListener(this);
panePic=new JButton("显示路径");
texName =new JTextField(20);
//texName.reSi
pass=new JPasswordField(20);
man=new JRadioButton("男",true);
woman=new JRadioButton("女");
radGroup=new ButtonGroup();
radGroup.add(man);
radGroup.add(woman);
chePar0=new JCheckBox("是",false);
chePar1=new JCheckBox("否",true);
cheGroup=new ButtonGroup();
cheGroup.add(chePar0);
cheGroup.add(chePar1);
spiAge=new JSpinner();
spiAge.setValue(new Integer(20));
comGra=new JComboBox();
comGra.addItem("一年级");
comGra.addItem("二年级");
comGra.addItem("三年级");
comGra.addItem("四年级");
tb=new JToolBar();
tb.add(count);
tb.add(exit0);
tb.setFloatable(false);
texAreRes=new JTextArea(4,10);
scrop=new JScrollPane(texAreRes);
Object field[]={"姓名","密码","性别","党否","年龄","年级","简历","颜色","照片"};
Object value[][]=new Object[4][9];
for(int i=0;i<4;i++){
for(int j=0;j<9;j++){
value[i][j]="null";
}
}
tabStu=new JTable(value,field);
//tabStu.repaint();
tabStu.setShowGrid(true);
paneSex=new JPanel();
paneSex.add(man);
paneSex.add(woman);
paneSex.setBorder(BorderFactory.createLineBorder(Color.gray,2));
panePar=new JPanel();
panePar.add(chePar0);
panePar.add(chePar1);
panePar.setBorder(BorderFactory.createLineBorder(Color.gray,2));
p0.add(labName);
p0.add(Box.createHorizontalStrut(8));
p0.add(texName);
p0.add(Box.createHorizontalGlue());
p1.add(labPass);
p1.add(Box.createHorizontalStrut(8));
p1.add(pass);
p1.add(Box.createHorizontalGlue());
p2.add(labSex);
p2.add(Box.createHorizontalStrut(8));
p2.add(paneSex);
//p2.add(woman);
p2.add(Box.createHorizontalGlue());
p3.add(labPar);
p3.add(Box.createHorizontalStrut(8));
p3.add(panePar);
//p3.add(chePar1);
p3.add(Box.createHorizontalGlue());
p4.add(labAge);
p4.add(Box.createHorizontalStrut(8));
p4.add(spiAge);
p4.add(Box.createHorizontalGlue());
p5.add(labGra);
p5.add(Box.createHorizontalStrut(8));
p5.add(comGra);
p5.add(Box.createHorizontalGlue());
p6.add(labRes);
p6.add(Box.createHorizontalStrut(8));
p6.add(scrop);
p6.add(Box.createHorizontalGlue());
p7.add(butCol);
p7.add(Box.createHorizontalGlue());
p8.add(butPic);
p6.add(Box.createHorizontalStrut(8));
p8.add(panePic);
p8.add(Box.createHorizontalGlue());
p9.add(butAdd);
p9.add(Box.createHorizontalGlue());
//p9.add(panePic);
// p9.add(Box.createHorizontalGlue());
//leftBox.add(labTit);
startBox.add(tb);
startBox.add(Box.createHorizontalGlue());
//startBox.add(labTit);
leftBox.add(p0);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p1);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p2);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p3);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p4);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p5);
leftBox.add(Box.createVerticalStrut(8));
leftBox.add(p6);
leftBox.add(Box.createVerticalStrut(8));
rightBox.add(p7);
rightBox.add(Box.createVerticalStrut(8));
rightBox.add(p8);
rightBox.add(Box.createVerticalStrut(8));
rightBox.add(p9);
rightBox.add(Box.createVerticalGlue());
bottomBox.add(tabStu);
bottomBox.add(endBox);
Timers time=new Timers();
endBox.add(time);
split0=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,leftBox,rightBox);
split1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,split0,bottomBox);
//baseBox.add(split1);
//all.add(startBox);
//all.add(baseBox);
//con.add(bar,BorderLayout.NORTH);
menuBox.add(bar);
menuBox.add(Box.createHorizontalGlue());
all.add(menuBox);
all.add(tb);
all.add(split1);
con.add(all);
//con.add(split1);
con.validate();
}
protected void windowClosed() {
// TODO: Check if it is safe to close the application
// Exit application.
System.exit(0);
}
public void actionPerformed(ActionEvent e)
{
Object source=e.getSource();
if(source==butCol){
Choosers2();
setColor();
}
if(source==butPic){
operating();
setPicture();
}
}
public void Choosers2()
{
color=JColorChooser.showDialog(null,"Color Chooser",new Color(0,0,255));
}
public void setColor(){
butCol.setBackground(color);
}
public void operating()
{
JFileChooser fc=new JFileChooser();
fc.setMultiSelectionEnabled(true);
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int ret=fc.showDialog(null,"选择");
if (ret==JFileChooser.APPROVE_OPTION)
{
File dir=fc.getCurrentDirectory();
File file=fc.getSelectedFile();
picDir=dir.getAbsolutePath()+"\\"+ file.getName();
picDir=picDir.replace('\\','/');
}
}
public void setPicture(){
panePic.setText(picDir);
}
public static void main(String args[]){
StuInfor si=new StuInfor();
si.setExtendedState(MAXIMIZED_BOTH);
}
}
class Timers extends JPanel implements ActionListener
{
javax.swing.Timer timer;
JLabel dispt;
Timers()
{
timer=new javax.swing.Timer(1000,this);
Font f=new Font("黑体",Font.BOLD,36);
dispt=new JLabel();
dispt.setHorizontalAlignment(JLabel.CENTER);
dispt.setFont(f);
dispt.setForeground(Color.RED);
add(dispt);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
dispt.setText(new Date().toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -