【发布时间】:2012-01-24 20:19:57
【问题描述】:
我有一个用于客户端 GUI 的对话框,询问想要连接的服务器的 IP 和端口。我拥有其他一切,但是我将如何做到这一点,以便当用户在我的对话框上单击“确定”时,它会运行一些东西?到目前为止,这是我所拥有的:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class ClientDialog {
JTextField ip = new JTextField(20);
JTextField port = new JTextField(20);
GUI gui = new GUI();
Client client = new Client();
JOptionPane optionPane;
public void CreateDialog(){
Object msg[] = {"IP: ", ip, "\nPort: ", port};
optionPane = new JOptionPane();
optionPane.setMessage(msg);
optionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
JDialog dialog = optionPane.createDialog(null, "Connect to a server");
dialog.setVisible(true);
if(dialog == JOptionPane.OK_OPTION){
System.out.println(ip);
String ipMsg = ip.getText();
int portMsg = Integer.parseInt(port.getText());
gui.CreateConsole(client, ipMsg, portMsg);
}
}
} //End class
我知道代码不正确,但我想要的是当用户在对话框中点击“确定”时,我可以运行一些代码。谢谢!
【问题讨论】:
-
为什么要从 JOptionPane 对象创建 JDialog 而不是更简单地显示 JOptionPane?我想你想要一个模态对话框,所以 JOptionPane 应该可以自己正常工作。
标签: java swing user-interface jdialog joptionpane