Java Swing GUI - 如何一个接一个地打开多个对话框?
Java Swing GUI - How to open multiple dialog boxes, one after another?
我正在构建一个应用程序,它通过提供逐步说明来帮助用户浏览网站。
说明以对话框的形式给出。我正在使用 Java Swing 创建 GUI 对话框。
这是我的代码结构:
MainClass
{
//some selenium code to access the website 'Google.com'.....
InstructionDialog frame1 = new InstructionDialog("Enter 'Hello' in search field");
frame1.setVisible(true);
InstructionDialog frame2 = new InstructionDialog("Click 'Search' button");
frame2.setVisible(true);
InstructionDialog frame3 = new InstructionDialog("'Hello' is displayed in the results");
frame3.setVisible(true);
}
class InstructionDialog extends JFrame {
public String message;
public static javax.swing.JButton btnOk;
public InstructionDialog(String message)
{
//some code for the content pane //
msgArea = new JTextArea();
msgArea.setBounds(12, 13, 397, 68);
contentPane.add(msgArea);
msgArea.setEditable(false);
simpleStepMessage.msgArea.setText(message);
btnOk = new JButton("OK");
btnOk.setBounds(323, 139, 97, 25);
contentPane.add(btnOk);
btnOk.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
OkBtnActionPerformed(evt);
}
});
public void OkBtnActionPerformed(java.awt.event.ActionEvent evt)
{
this.dispose();
}
}
}
我 运行 的问题是 InstructionDialog 的所有 3 个实例同时 运行。所以我同时弹出了所有3个对话框。
但我希望它们一个接一个地 运行 - 在按下第一个对话框的确定按钮之前,第二个对话框不应该出现,在第二个对话框的确定按钮之前,第三个对话框不应该出现一个被按下。
我怎样才能做到这一点?
如有任何帮助,我们将不胜感激。谢谢
CardLayout 是我用来解决类似问题的东西。
它就像一个卡片组,你可以一张一张地展示。
前段时间我遇到了类似的问题。我开发了小库UiBooster。使用 UiBooster,您可以创建阻止对话框以询问用户不同的输入。
String opinion = new UiBooster().showTextInputDialog("What do you think?");
我正在构建一个应用程序,它通过提供逐步说明来帮助用户浏览网站。
说明以对话框的形式给出。我正在使用 Java Swing 创建 GUI 对话框。
这是我的代码结构:
MainClass
{
//some selenium code to access the website 'Google.com'.....
InstructionDialog frame1 = new InstructionDialog("Enter 'Hello' in search field");
frame1.setVisible(true);
InstructionDialog frame2 = new InstructionDialog("Click 'Search' button");
frame2.setVisible(true);
InstructionDialog frame3 = new InstructionDialog("'Hello' is displayed in the results");
frame3.setVisible(true);
}
class InstructionDialog extends JFrame {
public String message;
public static javax.swing.JButton btnOk;
public InstructionDialog(String message)
{
//some code for the content pane //
msgArea = new JTextArea();
msgArea.setBounds(12, 13, 397, 68);
contentPane.add(msgArea);
msgArea.setEditable(false);
simpleStepMessage.msgArea.setText(message);
btnOk = new JButton("OK");
btnOk.setBounds(323, 139, 97, 25);
contentPane.add(btnOk);
btnOk.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
OkBtnActionPerformed(evt);
}
});
public void OkBtnActionPerformed(java.awt.event.ActionEvent evt)
{
this.dispose();
}
}
}
我 运行 的问题是 InstructionDialog 的所有 3 个实例同时 运行。所以我同时弹出了所有3个对话框。
但我希望它们一个接一个地 运行 - 在按下第一个对话框的确定按钮之前,第二个对话框不应该出现,在第二个对话框的确定按钮之前,第三个对话框不应该出现一个被按下。
我怎样才能做到这一点?
如有任何帮助,我们将不胜感激。谢谢
CardLayout 是我用来解决类似问题的东西。
它就像一个卡片组,你可以一张一张地展示。
前段时间我遇到了类似的问题。我开发了小库UiBooster。使用 UiBooster,您可以创建阻止对话框以询问用户不同的输入。
String opinion = new UiBooster().showTextInputDialog("What do you think?");