⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.java

📁 JAVA实现模拟数据库,可以读取和保存文件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -