Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向GUI构造函数添加参数会停止GUI弹出_Java_Eclipse_User Interface_Constructor - Fatal编程技术网

Java 向GUI构造函数添加参数会停止GUI弹出

Java 向GUI构造函数添加参数会停止GUI弹出,java,eclipse,user-interface,constructor,Java,Eclipse,User Interface,Constructor,我已经开始使用Eclipse学习Java,并且我修改了主函数,将两个字符串传递给同样修改过的GUI构造函数(以前没有传递任何内容) GUI现在不会在屏幕上弹出,但可以从屏幕底部的任务栏访问。我只是想知道为什么会这样?我已经在下面粘贴了缩短的代码 我已经试过很多次了,并且试图在网上找到关键字的问题 public class MainButton { public static void main(String[] args) { String A = "titl

我已经开始使用Eclipse学习Java,并且我修改了主函数,将两个字符串传递给同样修改过的GUI构造函数(以前没有传递任何内容)

GUI现在不会在屏幕上弹出,但可以从屏幕底部的任务栏访问。我只是想知道为什么会这样?我已经在下面粘贴了缩短的代码

我已经试过很多次了,并且试图在网上找到关键字的问题

public class MainButton 
{
    public static void main(String[] args) 
    {
        String A = "title"; String B = "Button";
        Agui a = new Agui(A,B);

               //BEFORE Agui a = new Agui();
    }
}

如果不去屏幕底部的任务栏就可以获得弹出窗口,并且能够理解出现此问题的逻辑,那就太好了。

JFrame#setAlwaysOnTop()Swing代码必须在AWT事件调度线程上执行。不这样做会导致不可预测的行为。有关详细信息,请参阅。快速修复将
main
方法的第二行更改为:
EventQueue.invokeLater(()->new Agui(A,B))JFrame#setAlwaysOnTop()Swing代码必须在AWT事件调度线程上执行。不这样做会导致不可预测的行为。有关详细信息,请参阅。快速修复将
main
方法的第二行更改为:
EventQueue.invokeLater(()->new Agui(A,B))
import javax.swing.*;

public class Agui extends JFrame 
{
    //BEFORE public Agui()
    public Agui(String A, String B) 
    {
        setTitle(A);
        setSize(400, 400);

        // Create JButton and JPanel
        JButton button = new JButton(B);
        JPanel panel = new JPanel();

        // Add button to JPanel
        panel.add(button);
        // And JPanel needs to be added to the JFrame itself!
        this.getContentPane().add(panel);

        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
      }
}