当前位置: 首页 > 知识库问答 >
问题:

JavaSwing GUI-如何打开多个对话框,一个接一个?

邢博涛
2023-03-14

我正在开发一个应用程序,通过逐步给出说明来帮助用户浏览网站。

说明以对话框的形式给出。我使用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();

    }


    }

}

当我运行它时,问题是指令对话框的所有3个实例同时运行。我同时弹出了3个对话框。

但是我希望它们一个接一个地运行——第二个对话框应该在第一个对话框的OK按钮按下之前出现,第三个对话框应该在第二个对话框的OK按钮按下之前出现。

我怎样才能做到这一点?

任何帮助将不胜感激。谢谢。

共有2个答案

浦德明
2023-03-14

前一段时间,我有一个类似的问题。我开发了小型库UiBooster。使用UiBooster,您可以创建阻塞对话框,询问用户不同的输入。

String opinion = new UiBooster().showTextInputDialog("What do you think?");
赵英哲
2023-03-14

CardLayout是我用于类似问题的东西。

它就像一副牌,你可以一个接一个地显示。

 类似资料:
  • 一个典型的应用程序应该有一些偏好设置,在每次打开时都能被记住。即使是为这个小范例程序,我们也将想改变正文的字体。 我们将用GSettings 来保存偏好设置,GSettings 需要一个描述我们设置的模式。 <?xml version="1.0" encoding="UTF-8"?> <schemalist> <schema path="/org/gtk/exampleapp/" id="or

  • 我有一个jsf页面,我有一个selectOneMenu和,我想打开一个对话框对selectOneMenu变化。 举个例子,如果用户从jsf selectOneMenu中选择一个值=“被动”,它应该在同一个页面上打开一个对话框或一个灯箱,我想像这里一样显示一个小jsf表单。(在selectOneMenu中选择特定值后,我想打开的框))http://www.primefaces.org/showcas

  • 问题内容: 我有一个JFrame和JPanel, 里面装满了 带有 动作监听器的Jsomethings 。当用户单击一个对象时,我想打开另一个JFrame。这是我所做的: (RejectApp调用一个新的JFrame。)因此,另一个JFrame在屏幕上打开,带有更多选项。它可以正常工作(到目前为止),但是我想知道这个标准吗?我的意思是这样调用main方法?另一个问题是,不使用cardlayout(

  • 我有一个自定义复选框。我想要的是在选中复选框时打开一个引导模式。我想要一个引导模式打开就像点击一个按钮一样。希望你能理解我的问题。我怎么能做到。

  • 有人能告诉我如何从顶部屏幕打开一个自定义对话框吗?就像这张照片一样? 我试着使用,在底部sheet fragment中,一切工作都很好,但是我不能像top sheet fragment那样设置它的行为,我需要这样做。