У меня есть диалог для клиентского GUI, который запрашивает IP-адрес и порт сервера, к которому вы хотите подключиться. У меня есть все остальное, но как я могу сделать так, чтобы, когда пользователь нажимает «ОК» в моем диалоговом окне, что он что-то запускает? Вот то, что я до сих пор:Java Dialog - узнать, нажата ли кнопка ОК?
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
Я знаю, что код не является правильным, но то, что я хочу, что, когда пользователь нажимает кнопку «OK» в диалоговом окне, я могу запустить код. Благодаря!
Почему вы создаете JDialog из объекта JOptionPane, а не просто просто показываете JOptionPane? Мне кажется, вам нужен модальный диалог, и поэтому JOptionPane должен отлично работать сам по себе. –
Хммм. Хороший вопрос. –