【发布时间】:2014-01-21 00:51:10
【问题描述】:
首先,很抱歉,标题可能是错误的。我会解释我的问题。我有一个带有 showinputdialog 组件的 joptionpane 来输入服务器地址。我想在单击取消按钮后,它将返回主窗口。但就我而言,它改为第二个 joptionpane。
我的英语不好:) ... 任何人都可以帮助我吗?
这是我的代码
private static int setPortNumber()
{
String portNumber = JOptionPane.showInputDialog(frame,
"Enter the Port number for server creation","Server Connection\n",
JOptionPane.OK_CANCEL_OPTION);
int PORT = Integer.parseInt(portNumber);
return PORT;
}
private static String setServerName()
{
server_address = JOptionPane.showInputDialog(frame,
"Enter Server Address or PC-Name.", "Server Connection",
JOptionPane.OK_CANCEL_OPTION);
return server_address;
}
private void networking() {
server_address = setServerName();
try {
PORT = setPortNumber();
if (server_address != null) {
sock = new Socket(InetAddress.getByName(server_address) ,
PORT);
}
else {
SocketException sc = new SocketException();
throw sc;
}
// Recieving input and output streams
InputStreamReader ir = new InputStreamReader(sock.getInputStream());
br = new BufferedReader(ir);
pw = new PrintWriter(sock.getOutputStream());
login.setEnabled(true);
incoming.append("Connected to Server.please login.\n");
connect.setEnabled(false);
pw.println("~##~");
pw.flush();
login.requestFocus();
}
【问题讨论】:
-
setServerNumber()和setPortNumber()都打开一个JOptionPane并且那些方法在你的netWorking()方法中被一个接一个地调用。也许你应该改变它 -
对不起,我应该改变什么?如果我单击确定,我确实必须一一调用它。但是取消按钮仍然调用另一个。
标签: java swing sockets joptionpane cancel-button