📄 database.java
字号:
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.lang.Object;
import java.text.*;
class LoginWindow extends JDialog implements ActionListener{
JPanel p1=new JPanel(); //定义并建立面板
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JTextField txtUserName=new JTextField(15);
JPasswordField txtPassWord=new JPasswordField(15);
JButton ok=new JButton("确定");
JButton cancel=new JButton("取消");
public LoginWindow(){
setModal(true);
setBackground(Color.LIGHT_GRAY);
Container contentPane=this.getContentPane();//取出内容面板
contentPane.setLayout(new GridLayout(5,1));
p1.add(new JLabel("欢迎访问本数据库!"));
p2.add(new JLabel("用户名:"));p2.add(txtUserName);
p3.add(new JLabel("密 码:"));p3.add(txtPassWord);
p4.add(ok);p4.add(cancel);
ok.addActionListener(this);
cancel.addActionListener(this);
txtUserName.addActionListener(this);
txtPassWord.addActionListener(this);
contentPane.add(p1); //将面板添加到内容面板
contentPane.add(p2);
contentPane.add(p3);
contentPane.add(p4);
contentPane.add(p5);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //设置自动关闭窗口
setSize(300,200);
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//调整对象的高度和宽度
setLocation((screen.width-300)/2,(screen.height-200)/2);
setTitle("登录");
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok||e.getSource()==txtPassWord){
if(txtUserName.getText().trim().equals("leyun")&&txtPassWord.getText().trim().equals("123456")){
dispose();
Database f=new Database();
f.show();
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误!请重试!");
txtUserName.requestFocus(); //设置焦点
txtUserName.setSelectionStart(0);//设置选中文本开始位置
txtUserName.setSelectionEnd(txtUserName.getText().length());
}
}
else if(e.getSource()==cancel){ //单击取消按钮
dispose();
System.exit(0);
}
else if(e.getSource()==txtUserName) //在用户名文本框按回车焦点转移到密码域
txtPassWord.requestFocus();
}
}
public class Database extends JFrame implements ActionListener{
JPanel p6=new JPanel(); //定义并建立面板
JPanel p7=new JPanel();
JPanel p8=new JPanel();
JPanel p9=new JPanel();
JTextArea textarea=new JTextArea();
String filename="NoName"; //默认文件名
String title[]={"编号:","姓名:","性别:","省份:","备注:"};//用户信息属性
JMenuBar menubar=new JMenuBar(); //定义菜单栏
JMenu filemenu=new JMenu("文件");
JMenuItem openitem=new JMenuItem("打开");//下拉菜单选项
JMenuItem saveitem=new JMenuItem("保存");
JMenuItem saveasitem=new JMenuItem("另存为");
JMenuItem exititem=new JMenuItem("退出");
JMenu editmenu=new JMenu("编辑");
JMenuItem additem=new JMenuItem("添加");
JMenuItem deleteitem=new JMenuItem("删除");
JMenuItem updateitem=new JMenuItem("修改");
JMenu helpmenu=new JMenu("帮助");
JMenuItem aboutitem=new JMenuItem("关于");
JButton firstbutton=new JButton("第一条"); //定义功能按钮
JButton priorbutton=new JButton("前一条");
JButton nextbutton=new JButton("后一条");
JButton lastbutton=new JButton("最后一条");
JButton addbutton=new JButton("添加");
JButton deletebutton=new JButton("删除");
JButton openbutton=new JButton("打开");
JButton savebutton=new JButton("保存");
JTextField nofield=new JTextField(5);
JTextField namefield=new JTextField(9);
JTextField otherfield=new JTextField(20);
ButtonGroup group=new ButtonGroup(); //定义按钮组,用来组合sexm和sexw两个单选按钮
JRadioButton sexm=new JRadioButton("男",true);
JRadioButton sexw=new JRadioButton("女",false);
JComboBox sheng=new JComboBox();//定义组合框
List list=new List(); //定义列表框
public Database(){
setSize(650,500);
setLocation(200,140);
setBackground(Color.LIGHT_GRAY); //设置背景色
openitem.setMnemonic('O'); //定义快捷键和热键
openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.event.InputEvent.CTRL_MASK));
saveitem.setMnemonic('S');
saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,java.awt.event.InputEvent.CTRL_MASK));
saveasitem.setMnemonic('Q');
saveasitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,java.awt.event.InputEvent.CTRL_MASK));
exititem.setMnemonic('E');
exititem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,java.awt.event.InputEvent.CTRL_MASK));
additem.setMnemonic('A');
additem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.event.InputEvent.CTRL_MASK));
deleteitem.setMnemonic('D');
deleteitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,java.awt.event.InputEvent.CTRL_MASK));
aboutitem.setMnemonic('B');
aboutitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,java.awt.event.InputEvent.CTRL_MASK));
filemenu.add(openitem);//添加菜单选项
filemenu.add(saveitem);
filemenu.add(saveasitem);
filemenu.add(exititem);
editmenu.add(additem);
editmenu.add(deleteitem);
editmenu.add(updateitem);
helpmenu.add(aboutitem);
menubar.add(filemenu);
menubar.add(editmenu);
menubar.add(helpmenu);
setJMenuBar(menubar);
p6.setLayout(new GridLayout(1,2));//总体布局为网格布局
sheng.addItem("湖南");//组合框添加选项
sheng.addItem("湖北");
sheng.addItem("广东");
sheng.addItem("广西");
sheng.addItem("四川");
sheng.setSelectedIndex(0);//设置组合框的默认选项
sheng.setEditable(true);
group.add(sexm);group.add(sexw);
JPanel p[]=new JPanel[5];
for(int i=0;i<5;i++){ //把用户信息的属性放到容器里去
p[i]=new JPanel(new FlowLayout(FlowLayout.LEFT));
p[i].add(new JLabel(title[i]));
}
p[0].add(nofield);
p[1].add(namefield);
p[2].add(sexm);p[2].add(sexw);
p[3].add(sheng);
p[4].add(otherfield);
p9.setLayout(new GridLayout(2,1)); //占为P6的左半部分
p9.add(textarea);
p9.add(list);
p8.setLayout(new GridLayout(2,4));//用来添加按钮
p8.add(firstbutton);p8.add(priorbutton);
p8.add(nextbutton);p8.add(lastbutton);
p8.add(addbutton);p8.add(deletebutton);
p8.add(openbutton);p8.add(savebutton);
p7.setLayout(new GridLayout(6,1));
for(int i=0;i<5;i++){
p7.add(p[i]);
}
p7.add(p8);
p6.add(p9);
p6.add(p7);
setContentPane(p6); //设置内容面板
addWindowListener(new WindowAdapter() //响应关闭窗体
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
openitem.addActionListener(this); //注册事件监听器
saveitem.addActionListener(this);
saveasitem.addActionListener(this);
exititem.addActionListener(this);
additem.addActionListener(this);
deleteitem.addActionListener(this);
updateitem.addActionListener(this);
aboutitem.addActionListener(this);
firstbutton.addActionListener(this);
priorbutton.addActionListener(this);
nextbutton.addActionListener(this);
lastbutton.addActionListener(this);
addbutton.addActionListener(this);
deletebutton.addActionListener(this);
openbutton.addActionListener(this);
savebutton.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
Object source=e.getSource(); //定义事件源对象
if(source==firstbutton){ //响应第一条按钮
if(list.getItemCount()!=0){
list.select(0);
selected(list);//将选中的列表项值赋给各输入对象
}
else{
JOptionPane.showMessageDialog(null,"已经没有信息了!");
}
}
else if(source==priorbutton){//前一条
int i;
i=list.getSelectedIndex();
if(i==-1){
JOptionPane.showMessageDialog(null,"操作非法");//消息对话框
}
else{
if(i==0){
JOptionPane.showMessageDialog(null,"前面已没有信息");
}
else{
list.select(i-1);
selected(list);
}
}
}
else if(source==nextbutton){//下一条
int i;
i=list.getSelectedIndex();
if(i==list.getItemCount()-1){
JOptionPane.showMessageDialog(null,"不存在");
}
list.select(i+1);
selected(list);
}
else if(source==lastbutton){//最后一条
int i;
i=list.getItemCount();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -