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

📄 adminframe.java

📁 连接测试系统
💻 JAVA
字号:
package com.cnu.cie.olts.client.admin;import java.awt.BorderLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.JTextPane;import javax.swing.JToolBar;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;import com.cnu.cie.olts.client.AboutJPanel;import com.cnu.cie.olts.client.BriefAnswerJPanel;import com.cnu.cie.olts.client.FillBlankJPanel;import com.cnu.cie.olts.client.ItemInfo;import com.cnu.cie.olts.client.Login;import com.cnu.cie.olts.client.TrueFalseJPanel;import com.cnu.cie.olts.client.multipleChoiceJPanel;import com.cnu.cie.olts.client.singleChoiceJPanel;import com.cnu.cie.olts.client.teacher.AddNewItemInfoJPanel;import com.cnu.cie.olts.client.teacher.itemManageJPanel;public class AdminFrame extends javax.swing.JFrame {	private JMenuBar adminMenuBar;	public static JMenuItem reconnectMenuItem;	private JMenuItem helpMenuItem;	private JScrollPane jScrollPane1;	private static JPanel mainPanel;	private JPanel titlepanel;	private JButton AddNewUserButton;	private JButton UserMaintenanceButton;	public  static JButton reconnectButton;	private JToolBar adminToolBar;	private JMenu aboutMenu;	private JMenuItem exitMenuItem;	private JMenu jMenu1;	private JMenu UserManageMenu;	private JMenuItem AddNewUserMenuItem;	private JMenuItem UserMaintenanceMenuItem;			String currentstate;		 Socket socket;		 public static BufferedReader bufreader=null;	 public static PrintWriter pswriter=null;	 static UserInfo[] userinfo;	 	/**	* Auto-generated main method to display this JFrame	*/	/*public static void main(String[] args) {		SwingUtilities.invokeLater(new Runnable() {			public void run() {			//	AdminFrame inst = new AdminFrame();			//	inst.setLocationRelativeTo(null);			//	inst.setVisible(true);			}		});	}	*/	public AdminFrame(Socket socket,BufferedReader bufreader,PrintWriter pswriter) {		super();		initGUI();//		Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();	//  setLocation(((screen.width-this.WIDTH)/2),((screen.height-this.HEIGHT)/2));		this.socket=socket;		this.bufreader=bufreader;		this.pswriter=pswriter;	}		//实现关闭登录程序要进行的操作	  protected void processWindowEvent(WindowEvent e)          	 {	    super.processWindowEvent(e);	    if (e.getID() == WindowEvent.WINDOW_CLOSING) {	    				try {				if(socket!=null&&!socket.isClosed()){					socket.close();					socket=null;				}				if(bufreader!=null)					bufreader.close();				if(pswriter!=null)					pswriter.close();			} catch (IOException e1) {				// TODO Auto-generated catch block				e1.printStackTrace();			}			System.exit(0);	    }	  }	  //添加新试题	  private void AddNewUserButtonActionPerformed(ActionEvent evt) {		  mainPanel.removeAll();		  mainPanel.setLayout(new BorderLayout());		  mainPanel.add(new AddNewUserJPanel(),BorderLayout.CENTER);		  mainPanel.validate();		  mainPanel.repaint();	  	  }	  //已有用户信息维护	  private void UserMaintenanceButtonActionPerformed(ActionEvent evt) {		  String msg="GETUSERINFO:";			msg=new String(msg.getBytes());			pswriter.println(msg);			pswriter.flush();			String USERstrinfo=null;			try {				USERstrinfo=bufreader.readLine();				String[] QAstrarray=USERstrinfo.split("@_@");				if("USERINFO".equals(QAstrarray[0])){															userinfo=new UserInfo[QAstrarray.length-1];					if(QAstrarray.length>1){						for(int i=1;i<QAstrarray.length;i++){											System.out.println(QAstrarray[i]);							String[] QAarray=QAstrarray[i].split("&_&");							int userid=Integer.parseInt(QAarray[0]);							String usernamestr=QAarray[1];							String passwordstr=QAarray[2];							String statusstr=QAarray[3];							userinfo[i-1]=new UserInfo(userid,usernamestr,passwordstr,statusstr);						}					}					else {						JOptionPane.showMessageDialog(null,"当前库中吴用户信息,请添加新用户信息","联机测试系统",JOptionPane.ERROR_MESSAGE);											}				}				else {					JOptionPane.showMessageDialog(null,"用户信息获取失败","联机测试系统",JOptionPane.ERROR_MESSAGE);				}			} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();				JOptionPane.showMessageDialog(null,"IO异常,请重新连接","联机测试系统",JOptionPane.ERROR_MESSAGE);				reconnectButton.setEnabled(true);				reconnectMenuItem.setEnabled(true);			}			if(USERstrinfo==null){				JOptionPane.showMessageDialog(null,"与服务器的连接已经中断,请重新连接","联机测试系统",JOptionPane.ERROR_MESSAGE);				reconnectButton.setEnabled(true);				reconnectMenuItem.setEnabled(true);				return ;			}						mainPanel.removeAll();			mainPanel.setLayout(new BorderLayout());			mainPanel.add(new userManageJPanel(userinfo),BorderLayout.CENTER);			mainPanel.validate();			mainPanel.repaint();	  }	  	  //重新连接服务器	  private void reconnectButtonActionPerformed(ActionEvent evt) {		    String id=Login.id;	  	  	String ps=Login.ps;		  	String status=Login.status;		  	String serverip=Login.serverip;		  	int serverport=Login.serverport;		  	    		  	try {		  		if(socket!=null&&!socket.isClosed())		  			socket.close();		  		bufreader.close();		  		pswriter.close();		  		socket=new Socket(serverip,serverport);		  		bufreader=new BufferedReader(new InputStreamReader(socket.getInputStream()));				pswriter=new PrintWriter(socket.getOutputStream());								String st="LOGIN:"+id+":"+ps+":"+status;   				st=new String(st.getBytes());   				pswriter.println(st);				pswriter.flush();				reconnectButton.setEnabled(false);				reconnectMenuItem.setEnabled(false);				new Thread(){public void run(){					String loginfostring = "";					try {						loginfostring = bufreader.readLine();					} catch (IOException e) {						// TODO Auto-generated catch block						if(socket!=null&&!socket.isClosed())							System.out.println(e.getMessage());						reconnectButton.setEnabled(true);						reconnectMenuItem.setEnabled(true);					}					if(loginfostring==null){						JOptionPane.showMessageDialog(null,"网络不通或者服务器没开启服务","连接失败",JOptionPane.ERROR_MESSAGE);						reconnectButton.setEnabled(true);						reconnectMenuItem.setEnabled(true);					}					else if("LOGINSUCC".equals(loginfostring)){						JOptionPane.showMessageDialog(null,"重新连接成功","连接成功",JOptionPane.INFORMATION_MESSAGE);					}					else if("ALREADYONLINE".equals(loginfostring)){						JOptionPane.showMessageDialog(null,"你已经在线了,不能重复登录","登录失败",JOptionPane.ERROR_MESSAGE);						reconnectButton.setEnabled(true);						reconnectMenuItem.setEnabled(true);					}				}}.start();						  	 } catch (Exception e1) {					// TODO Auto-generated catch block		  		 	JOptionPane.showMessageDialog(null,"网络连接失败,请检查网络设置以及目标主机服务是否启动","登录失败",JOptionPane.ERROR_MESSAGE);		  		 	reconnectButton.setEnabled(true);					reconnectMenuItem.setEnabled(true);		  		 	if(socket!=null&&!socket.isClosed())						try {							socket.close();						} catch (IOException e) {							System.out.println(e.getMessage());						}		  		 	System.out.println(e1.getMessage());		  	 		}				        System.out.println("id--"+id);		        System.out.println("ps--"+ps);		        System.out.println("state--"+status);		        System.out.println("ip--"+serverip);		        System.out.println("port--"+serverport);		        System.out.println("reconnect");	  }	  //退出系统	private void exitMenuItemActionPerformed(ActionEvent evt) {		try {			if(socket!=null&&!socket.isClosed()){				socket.close();				socket=null;			}			if(bufreader!=null)				bufreader.close();			if(pswriter!=null)				pswriter.close();		} catch (IOException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		}                                             		System.exit(0);	}		private void initGUI() {		try {			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);			this.setTitle("\u8054\u673a\u6d4b\u8bd5\u7cfb\u7edf");			this.setResizable(false);			getContentPane().setLayout(null);			{				adminToolBar = new JToolBar();				getContentPane().add(adminToolBar);				adminToolBar.setBounds(0, 2, 100, 26);				{					AddNewUserButton = new JButton(new ImageIcon("images/addUser.gif"));					adminToolBar.add(AddNewUserButton);					AddNewUserButton.setToolTipText("添加用户");					AddNewUserButton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							AddNewUserButtonActionPerformed(evt);						}					});				}				{					UserMaintenanceButton = new JButton(new ImageIcon("images/UserManage.gif"));					adminToolBar.add(UserMaintenanceButton);					UserMaintenanceButton.setToolTipText("已有用户信息维护");					UserMaintenanceButton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							UserMaintenanceButtonActionPerformed(evt);						}					});				}				{					reconnectButton = new JButton(new ImageIcon("images/reconnect.gif"));					adminToolBar.add(reconnectButton);					reconnectButton.setToolTipText("重新连接服务器");					reconnectButton.setEnabled(false);					reconnectButton.addActionListener(new ActionListener() {						public void actionPerformed(ActionEvent evt) {							reconnectButtonActionPerformed(evt);						}					});				}			}			{				jScrollPane1 = new JScrollPane();				getContentPane().add(jScrollPane1);				jScrollPane1.setBounds(0, 34, 623, 419);				{					mainPanel = new JPanel();					jScrollPane1.setViewportView(mainPanel);					mainPanel.setPreferredSize(new java.awt.Dimension(620, 406));				}			}			{				adminMenuBar = new JMenuBar();				setJMenuBar(adminMenuBar);				{					jMenu1 = new JMenu();					adminMenuBar.add(jMenu1);					jMenu1.setText("\u6587\u4ef6");					{						reconnectMenuItem = new JMenuItem();						jMenu1.add(reconnectMenuItem);						reconnectMenuItem.setText("\u91cd\u65b0\u8fde\u63a5");						reconnectMenuItem.setEnabled(false);						reconnectMenuItem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								reconnectButtonActionPerformed(evt);							}						});					}					{						exitMenuItem = new JMenuItem();						jMenu1.add(exitMenuItem);						exitMenuItem.setText("\u9000\u51fa");						exitMenuItem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								exitMenuItemActionPerformed(evt);							}						});					}				}				{					UserManageMenu = new JMenu();					adminMenuBar.add(UserManageMenu);					UserManageMenu.setText("用户管理");					{						AddNewUserMenuItem = new JMenuItem();						UserManageMenu.add(AddNewUserMenuItem);						AddNewUserMenuItem.setText("添加新用户");						AddNewUserMenuItem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								AddNewUserButtonActionPerformed(evt);							}						});					}					{						UserMaintenanceMenuItem = new JMenuItem();						UserManageMenu.add(UserMaintenanceMenuItem);						UserMaintenanceMenuItem.setText("用户维护");						UserMaintenanceMenuItem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								UserMaintenanceButtonActionPerformed(evt);							}						});					}				}				{					aboutMenu = new JMenu();					adminMenuBar.add(aboutMenu);					aboutMenu.setText("\u5173\u4e8e");					{						helpMenuItem = new JMenuItem();						aboutMenu.add(helpMenuItem);						helpMenuItem.setText("\u5e2e\u52a9");						helpMenuItem.addActionListener(new ActionListener() {							public void actionPerformed(ActionEvent evt) {								mainPanel.removeAll();								mainPanel.add(new AboutJPanel(),BorderLayout.CENTER);								mainPanel.validate();							}						});					}				}			}			pack();			setSize(631, 514);		} catch (Exception e) {			e.printStackTrace();		}	}}

⌨️ 快捷键说明

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