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

📄 configeditdialog.java.bak

📁 这是网络连通性测试与日志管理
💻 BAK
字号:
//ConfigEditDialog.java
//提供新增,编辑,删除记录的界面

import  java.awt.*;
import  javax.swing.*;
import  javax.swing.border.*;
import  java.awt.event.*;
import  java.net.*;
public class  ConfigEditDialog extends JDialog{
	JPanel panel1 = new JPanel();
	BorderLayout borderLayout1 = new BorderLayout();
	JPanel jPanel1 = new JPanel();
	JPanel jPanel2 = new JPanel();
	JPanel jPanel3 = new JPanel();
	GridLayout gridLayout1 = new GridLayout(0,1);
	JLabel jLabel1 = new JLabel();
	JLabel jLabel2 = new JLabel();
	JLabel jLabel3 = new JLabel();
	GridLayout gridLayout2 = new GridLayout(0,1);
	JButton btCancel = new JButton();
	JButton btOK = new JButton();
	JTextField tfIP = new JTextField();
	JTextField tfPort = new JTextField();
	Border border1;
	Border border2;

	ConfigFloor floor;
	//最后返回的时候,不该修改传入的对象,应该新生成对象传回,这个是结果对象
	ConfigFloor floorInfo = new ConfigFloor();
	boolean isOk = false;
	//为了在不同的情况下显示不同的对话矿标题,所以生成标题叔祖
	final static String[]TITLES = new String[3];
	public final static int NEW_OPERATION=0;
	public final static int EDIT_OPERATION=1;
	public final static int DELETE_OPERATION=2;
	//当前对话框的操作状态
	int currentOperation = NEW_OPERATION;

	static {
		TITLES[NEW_OPERATION]="新设备";
		TITLES[EDIT_OPERATION]="编辑设备";
		TITLES[DELETE_OPERATION]="删除设备?";
	}
	public ConfigEditDialog(Frame frame,String title,boolean modal){
		super(frame,title,modal);
		try{
			jbInit();
			pack();
		}
		catch(Exception ex){
			ex.printStackTrace();
		}
	}

	public ConfigEditDialog(){
		this(null,"",false);
	}

	void jbInit()throws Exception{
		border1 = BorderFactory.createEmptyBorder(20,20,20,20);
		border2 = BorderFactory.createEmptyBorder(10,0,0,0);
		panel1.setLayout(borderLayout1);
		jPanel1.setLayout(gridLayout1);
		gridLayout1.setRows(0);
		gridLayout1.setColumns(1);
		jLabel1.setMinimumSize(new Dimension(20,18));
		jLabel1.setPreferredSize(new Dimension(20,18));
		jLabel1.setText("IP设备:");
		jLabel2.setMinimumSize(new Dimension(20,18));
		jLabel2.setPreferredSize(new Dimension(20,18));
		jLabel2.setText("端口:");
		jPanel2.setLayout(gridLayout2);
		btCancel.setText("取消");
		btCancel.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(ActionEvent e){
				btCancel_actionPerformed(e);
			}
		});
		btOK.setText("确定");
		btOK.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(ActionEvent e){
				btOK_actionPerformed(e);
			}
		});
		gridLayout2.setRows(0);
		gridLayout2.setColumns(1);
		tfIP.setMinimumSize(new Dimension(120,10));
		tfIP.setPreferredSize(new Dimension(120,10));
		tfPort.setMinimumSize(new Dimension(120,10));
		tfPort.setPreferredSize(new Dimension(120,10));
		panel1.setBorder(border1);
		panel1.setMinimumSize(new Dimension(250,170));
		panel1.setPreferredSize(new Dimension(250,170));
		jPanel3.setBorder(border2);
		getContentPane().add(panel1);
		panel1.add(jPanel1,BorderLayout.CENTER);
		jPanel1.add(jLabel1,null);
		jPanel1.add(jLabel2,null);
		panel1.add(jPanel2,BorderLayout.EAST);
		jPanel2.add(tfIP,null);
		jPanel2.add(tfPort,null);
		panel1.add(jPanel3,BorderLayout.SOUTH);
		jPanel3.add(btOK,null);
		jPanel3.add(btCancel,null);
	}
	/**
	*初始化对话框状态,在显示前必须被调用
	*@param operation - 当前的操作,可以使删除,新增或编辑
	*@param floor-    用来进行操作Floor的对象
	*/
	void initDialog(int operation,ConfigFloor floor){
		currentOperation=operation;
		this.floor=floor;
		if(currentOperation==NEW_OPERATION){
			this.floor = new ConfigFloor();
		}
		updateGUI();
	}
	void updateGUI(){
		this.setTitle(TITLES[currentOperation]);
		tfIP.setText(floor.getIP());
		tfPort.setText(floor.getPort()+"");
		if(currentOperation==DELETE_OPERATION){
			tfIP.setEnabled(false);
			tfPort.setEnabled(false);
		}
	}

	/**
	*获得当前界面信息,并将信息会写道结果对象中
	**/
	boolean  getGUIInfo(){
			if(tfIP.getText().trim().equals("")==true){
				JOptionPane.showMessageDialog(this,"IP不能为空!","Warning",JOptionPane.WARNING_MESSAGE);
				return false;
			}
			else {
				try{
					InetAddress ipTest=InetAddress.getByName(tfIP.getText().trim());
					floorInfo.setIP(tfIP.getText().trim());
				}
				catch(Exception e){
					JOptionPane.showMessageDialog(this,"IP无效值输入!","Warning",JOptionPane.WARNING_MESSAGE);
					return false;
				}

				
			}
			int port=0;
			try{
				String s = tfPort.getText();
				port=Integer.parseInt(s);

			}
			catch(Exception ex){
				System.out.println("Port is not int");
			}
			
			floorInfo.setPort(port);
			return true;
	}
	void btOK_actionPerformed(ActionEvent e){
		doOK();
	}

	void btCancel_actionPerformed(ActionEvent e){
		dispose();
	}
	void doOK(){
		int port;
		String s = tfPort.getText();
		try{
			port = Integer.parseInt(s);
			if (port <0){
				JOptionPane.showMessageDialog(this,"Port无效值输入!","Warning",JOptionPane.WARNING_MESSAGE);
				return;
			}
		}
		catch(Exception ex){
		JOptionPane.showMessageDialog(this,"Port无效值输入!","Warning",JOptionPane.WARNING_MESSAGE);
		return;
		}
		if(getGUIInfo()){
		isOk=true;
		dispose();
		}
	}
	ConfigFloor getUpdatedFloor(){
		return floorInfo;
	}
}

⌨️ 快捷键说明

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