📄 serverconfiggui.java
字号:
package smoker.server;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import smoker.tools.*;
public class ServerConfigGUI extends JDialog implements ChangeListener, ActionListener{
public static final long serialVersionUID = 0;
private JCheckBox chkEdit;
private JLabel labIP;
private JLabel labPort;
private JLabel labPc;
private JTextField tfHostName;
private JTextField tfIP;
private JTextField tfPort;
private JButton btnOK;
private JButton btnCancel;
private Container container;
private GridBagLayout gbl = new GridBagLayout();
private GridBagConstraints gbc = new GridBagConstraints();
private IServerCenter iServerCenter;
public ServerConfigGUI(IServerCenter iServerCenter) {
this.iServerCenter = iServerCenter;
this.setTitle("服务端配置");
this.setSize(300, 200);
this.setModal(true);
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
GUIManager.CenterWindow(this);
init();
setComponent();
this.setVisible(true);
}
private void init() {
container = this.getContentPane();
container = this.getContentPane();
container.setLayout(new BorderLayout());
chkEdit = new JCheckBox("编辑信息");
chkEdit.addChangeListener(this);
labIP = GUIManager.createJLabel("主机IP:");
labIP.setHorizontalTextPosition(JLabel.RIGHT);
labPort = GUIManager.createJLabel("服务端口号:");
labPort.setHorizontalTextPosition(JLabel.RIGHT);
labPc = GUIManager.createJLabel("主机名:");
labPc.setHorizontalTextPosition(JLabel.RIGHT);
tfHostName = GUIManager.createJTextField(iServerCenter.getHostName());
tfHostName.setEditable(false);
tfIP = GUIManager.createJTextField(iServerCenter.getHostAddress());
tfIP.setEditable(false);
tfPort = GUIManager.createJTextField("");
tfPort.setEditable(false);
btnOK = GUIManager.createJButton(null, Files.OK_ICON, this, "btnOK");
btnCancel = GUIManager.createJButton(null, Files.CANCEL_ICON, this, "btnCancel");
tfPort.setText(String.valueOf(iServerCenter.getServerPort()));
}
private void setComponent() {
JPanel rootPanel = new JPanel();
rootPanel.setLayout(gbl);
GUIManager.setConstraints(gbl, gbc, 0, 0, 1, 1, 1, 1);
rootPanel.add(chkEdit, gbc);
gbc.anchor = GridBagConstraints.NORTH;
GUIManager.setConstraints(gbl, gbc, 0, 1, 1, 1, 1, 1);
rootPanel.add(labIP, gbc);
GUIManager.setConstraints(gbl, gbc, 0, 2, 1, 1, 1, 1);
rootPanel.add(labPort, gbc);
GUIManager.setConstraints(gbl, gbc, 0, 3, 1, 1, 1, 1);
rootPanel.add(labPc, gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
GUIManager.setConstraints(gbl, gbc, 1, 1, 2, 1, 1, 1);
rootPanel.add(tfIP, gbc);
GUIManager.setConstraints(gbl, gbc, 1, 2, 2, 1, 1, 1);
rootPanel.add(tfPort, gbc);
GUIManager.setConstraints(gbl, gbc, 1, 3, 2, 1, 1, 1);
rootPanel.add(tfHostName, gbc);
GUIManager.setConstraints(gbl, gbc, 1, 4, 1, 1, 1, 1);
rootPanel.add(btnOK, gbc);
GUIManager.setConstraints(gbl, gbc, 2, 4, 1, 1, 1, 1);
rootPanel.add(btnCancel, gbc);
container.add(rootPanel);
container.add(Box.createRigidArea(new Dimension(20, 0)), BorderLayout.EAST);
}
public void stateChanged(ChangeEvent e) {
Object src = e.getSource();
if(src == chkEdit) {
if(chkEdit.isSelected() == true) {
tfPort.setEditable(true);
}else {
tfPort.setText(String.valueOf(iServerCenter.getServerPort()));
tfPort.setEditable(false);
}
}
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if(command.equals("btnOK")) {
if(chkEdit.isSelected() == true) {
iServerCenter.setServerPort(tfPort.getText().trim());
this.chkEdit.setSelected(false);
}else {
dispose();
}
}else {
dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -