Java 向GUI构造函数添加参数会停止GUI弹出
我已经开始使用Eclipse学习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
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);
}
}