📄 configeditdialog.java.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 + -