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

📄 createframes.java

📁 java写的源码
💻 JAVA
字号:
package DBlab;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class CreateFrames {
	
	public static int equal(String s){
		if (s == "全部图书信息") return 0;
		if (s == "超期图书信息") return 1;
		if (s == "图书信息") return 2;
		if (s == "已借图书") return 3;
		if (s == "归还图书") return 4;
		if (s == "续借图书") return 5;
		if (s == "图书借阅") return 6;
		else return 7;
	}
	
	private static void selectbookinfo (Frame frame, JComboBox jcomb, JTextField jtf){
		String current = jcomb.getSelectedItem().toString();
		if (current.compareTo("")==0) 
			  JOptionPane.showConfirmDialog(frame, "请选择查找类型", "Error",2,1);
		else{
			String keyword = jtf.getText().trim();
			if (keyword.compareTo("")==0) 
				  JOptionPane.showConfirmDialog(frame, "请填写关键字", "Error",2,1);
			else if (current=="书名关键字")
				DBSQL.bookinfo(keyword, 0);
			else if (current=="作者")
				DBSQL.bookinfo(keyword, 1);
			else
				JOptionPane.showConfirmDialog(frame, "请选择查找类型", "Error",2,1);
			}
	}
	
	private static void borrowbook (String id, Frame frame, JTextField jtf){
		String ISBN = jtf.getText();
		if (ISBN.compareTo("")==0)
			  JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
		else if (!DBSQL.borrowbook(id, ISBN))
			JOptionPane.showConfirmDialog(frame, "借阅图书错误,请核实后重新操作", "ERROR",2,1);
		else 
			JOptionPane.showMessageDialog(frame, "借阅图书成功", "借阅成功",JOptionPane.INFORMATION_MESSAGE);
	}
	
	private static void renew (String id, Frame frame, JTextField jtf){
		String ISBN = jtf.getText();
		if (ISBN.compareTo("")==0)
			  JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
		else if (!DBSQL.renew(id, ISBN))
			JOptionPane.showConfirmDialog(frame, "续借图书错误,请核实后重新操作", "ERROR",2,1);
		else 
			JOptionPane.showMessageDialog(frame, "续借图书成功", "续借成功",JOptionPane.INFORMATION_MESSAGE);
	}
	
	private static void returnbook (String id, Frame frame, JTextField jtf){
		String ISBN = jtf.getText();
		if (ISBN.compareTo("")==0)
			  JOptionPane.showConfirmDialog(frame, "请输入ISBN", "Error",2,1);
		else {
			int punish = DBSQL.returnbook(id, ISBN);
			if (punish == -1){
				JOptionPane.showConfirmDialog(frame, "归还图书错误,请核实ISBN后重新操作", "Error",2,1);
				return;
			}
			if (punish != 0)
				JOptionPane.showConfirmDialog(frame, "还书成功,请尽快交清罚款"+Integer.toString(punish)+"元!", "罚款",2,1);
			else 
				JOptionPane.showMessageDialog(frame, "还书成功", "还书成功",JOptionPane.INFORMATION_MESSAGE);
		}
	}
	
	private static void overtime (Frame frame, JTextField jtf){
		String number = jtf.getText();
		if (number.compareTo("")==0)
			  JOptionPane.showConfirmDialog(frame, "请输入超期天数", "Error",2,1);
		else if (DBSQL.overtime(Integer.parseInt(number)) == 0)
			JOptionPane.showConfirmDialog(frame, "无超期"+number+"天以上图书", "ERROR",2,1);
	}
	
	public static void CreatMajorFrame (final String id) {
		final JFrame MajorFrame = new JFrame ("majorframe");
		MajorFrame.setSize (400,300);
		MajorFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		int screenWidth = screenSize.width;
		int screenHeight = screenSize.height;
		int x = (screenWidth - MajorFrame.getWidth())/2;
		int y = (screenHeight - MajorFrame.getHeight())/2;
		MajorFrame.setLocation (x,y);
		MajorFrame.setVisible (true);
				
		String name , department , major , title, identity ;
		name = DBSQL.userinfo( id, "UNAME" );
		department = DBSQL.userinfo( id, "DEPARTMENT" );
		major = DBSQL.userinfo( id, "SUBJECT" );
		title = DBSQL.userinfo( id, "TITLE" );
		identity = DBSQL.userinfo( id, "IDENTITY" );
		
		Container majorframecon = MajorFrame.getContentPane();
		MajorFrame.setLayout(new BorderLayout());
		majorframecon.add(new JLabel("欢迎使用图书信息管理系统!") , BorderLayout.NORTH);
		
		final JPanel p1 = new JPanel ();
		p1.setLayout(new GridLayout(7,1));
		p1.add(new JLabel ("用户信息"), BorderLayout.CENTER);
		if (identity.compareToIgnoreCase("s")==0){
			JLabel ID = new JLabel ("学号 : " + id);
			JLabel NAME = new JLabel ("姓名 : " + name);
			JLabel DEPARTMENT = new JLabel ("院系 : " + department);
			JLabel MAJOR = new JLabel ("专业 : " + major);
			p1.add(ID, BorderLayout.CENTER);
			p1.add(NAME, BorderLayout.CENTER);
			p1.add(DEPARTMENT, BorderLayout.CENTER);
			p1.add(MAJOR, BorderLayout.CENTER);
		}
		else if (identity.compareToIgnoreCase("t")==0){
			JLabel ID = new JLabel ("工号 : " + id);
			JLabel NAME = new JLabel ("姓名 : " + name);
			JLabel DEPARTMENT = new JLabel ("院系 : " + department);
			JLabel MAJOR = new JLabel ("实验室 : " + major);
			JLabel TITLE = new JLabel ("职称: " + title);
			p1.add(ID, BorderLayout.CENTER);
			p1.add(NAME, BorderLayout.CENTER);
			p1.add(DEPARTMENT, BorderLayout.CENTER);
			p1.add(MAJOR, BorderLayout.CENTER);
			p1.add(TITLE, BorderLayout.CENTER);
		}
		else {
			JLabel ID = new JLabel ("管理帐号 : " + id);
			JLabel NAME = new JLabel ("图书馆");
			p1.add(NAME, BorderLayout.CENTER);
			p1.add(ID, BorderLayout.CENTER);
		}
		
		final JPanel p2 = new JPanel ();
		JButton jbtSelect = new JButton("确定");
		p2.add( new JLabel("查询管理功能"),BorderLayout.NORTH );
		final JComboBox jcombSelect;
		final JTextField jtf = new JTextField();
		
		
		final JPanel p4 = new JPanel ();
		p4.setLayout(new GridLayout(2,1));
		p4.add(new JLabel ("关键字输入"));
		p4.add(jtf);
		if (identity.compareToIgnoreCase("a")== 0){
			jcombSelect = new JComboBox(new String[]{"全部图书信息","超期图书信息"});
			p2.add(jcombSelect, BorderLayout.CENTER);
			p2.add(jbtSelect,BorderLayout.EAST);
		}
		else {
			jcombSelect = new JComboBox(new String[]{"图书信息","已借图书","归还图书","续借图书","图书借阅"});
			p2.add(jcombSelect, BorderLayout.CENTER);
			p2.add(jbtSelect,BorderLayout.EAST);
		}
		
		JPanel p3 = new JPanel ();
		p3.setLayout(new GridLayout (6,1));
		p3.add(p2);
		p3.add(p4);
       	
		majorframecon.add(p1,BorderLayout.WEST);
		majorframecon.add(p3);		
		
		final JComboBox jcomb = new JComboBox (new String[] {"","书名关键字","作者"});
		p4.add(new JLabel ("图书查询"));
		p4.add(jcomb);
				
		jbtSelect.addActionListener(new ActionListener(){
			  public void actionPerformed (ActionEvent e){
				  switch (equal(jcombSelect.getSelectedItem().toString())){
				  case 0: DBSQL.allbookinfo(); break;
				  case 1: overtime(MajorFrame,jtf); break;
				  case 2: selectbookinfo(MajorFrame,jcomb,jtf); break;
				  case 3: DBSQL.userborrowed(id); break;
				  case 4: returnbook(id,MajorFrame,jtf) ; break;
				  case 5: renew(id,MajorFrame,jtf); break;
				  case 6: borrowbook(id,MajorFrame,jtf);
				  default: break;
				  } 
			  }
		  }); 
	};
	  
	public static void LoginFrame(){		  
	  
		  final JFrame frame = new JFrame ("Login in");
		  
		  GridBagConstraints GridBag;
	   	  int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
	   	  double weightx,weighty;
	   	  Insets inset;
	   	  
	   	  GridBagLayout gridbag=new GridBagLayout();
	   	  Container contentPane=frame.getContentPane();
	   	  contentPane.setLayout(gridbag);

	   	  JLabel jlbID = new JLabel ("ID");
	 	  gridx=1;
		  gridy=120;
		  gridwidth=1;
		  gridheight=1;
		  weightx=10;
		  weighty=1;
		  anchor=GridBagConstraints.CENTER;
		  fill=GridBagConstraints.HORIZONTAL;
		  inset=new Insets(0,60,0,20);
		  ipadx=0;
		  ipady=0;
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jlbID,GridBag);
		  contentPane.add(jlbID);
	   	  
		  final JTextField jtfID = new JTextField ("");
	   	  gridx=GridBagConstraints.RELATIVE;
		  gridy=120;
		  gridwidth=2;
		  gridheight=1;
		  inset=new Insets(0,-60,0,30);
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jtfID,GridBag);
		  contentPane.add(jtfID);

		  JLabel jlbPW = new JLabel ("Password ");
	 	  gridx=1;
		  gridy=150;
		  gridwidth=1;
		  gridheight=1;
		  inset=new Insets(0,40,0,20);
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jlbPW,GridBag);
		  contentPane.add(jlbPW);
		  
		  final JPasswordField jtfPW = new JPasswordField ("");
	   	  gridx=GridBagConstraints.RELATIVE;
		  gridy=150;
		  gridwidth=2;
		  gridheight=1;
		  inset=new Insets(0,-60,0,30);
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jtfPW,GridBag);
		  contentPane.add(jtfPW);	  
	 	  
		  JButton jbtOK = new JButton ("登陆");
		  gridx=1;
		  gridy=250;
		  gridwidth=1;
		  gridheight=1;
		  inset=new Insets(0,40,0,50);
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jbtOK,GridBag);
		  contentPane.add(jbtOK);	
		  
		  JButton jbtCancel = new JButton ("取消");
		  gridx=GridBagConstraints.RELATIVE;
		  inset=new Insets(0,0,0,40);
		  GridBag=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
		  gridbag.setConstraints(jbtCancel,GridBag);
		  contentPane.add(jbtCancel);	
		  
		  frame.setSize (300,200);
		  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	  
		  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		  int screenWidth = screenSize.width;
		  int screenHeight = screenSize.height;
		  int x = (screenWidth - frame.getWidth())/2;
		  int y = (screenHeight - frame.getHeight())/2;
		  frame.setLocation (x,y);
		  frame.setVisible (true);

		  
		  jbtCancel.addActionListener(new ActionListener(){
			  public void actionPerformed (ActionEvent e){
				  System.exit(0);
			  }
		  });  
		  		    
		  jbtOK.addActionListener(new ActionListener(){
			  public void actionPerformed (ActionEvent e){
				  String usrid = jtfID.getText();
				  String password = new String ( jtfPW.getPassword());				  

				  if ( !(DBSQL.loginin(usrid, password)) ){
					  JOptionPane.showConfirmDialog(frame, "用户名或密码错误!", "Login Error",2,1);
					  return ;
					  }
				  
				  frame.dispose();
				  CreateFrames.CreatMajorFrame(usrid);
				  }
			  });
		  
		  jtfPW.addActionListener(new ActionListener(){
			  public void actionPerformed (ActionEvent e){
				  String usrid = jtfID.getText();
				  String password = new String ( jtfPW.getPassword());				  
				  
				  if ( !(DBSQL.loginin(usrid, password)) ){
					  JOptionPane.showConfirmDialog(frame, "用户名或密码错误!", "Login Error",2,1);
					  return ;
					  }		
			  
				  frame.dispose();
				  CreateFrames.CreatMajorFrame(usrid);
				  }
			  });
	  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -