Swing Application窗口未显示更改

问题描述 投票:0回答:4

我正在使用eclipse和windowbuilder插件制作一个java proyect。完成逻辑后,我创建了一个应用程序窗口并执行项目,一切都很好。但现在我想修改窗口,所以我改变标题为例。在可视化视图中,我可以看到这些更改,但是当我执行应用程序时,没有任何更改,它始终是相同的窗口。这是代码:

public class Application {

    private JFrame frame;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Application window = new Application();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Application() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("My Application");
    }

}

我刚刚添加了一行,所以我不知道会出现什么问题。我还想知道这是否是制作gui应用程序的最佳方式(使用应用程序窗口)或者是否有更好的方法。

编辑:我添加一些图像来显示哪个是问题

我执行时的窗口:

Window when i execute

windowbuilder中的窗口:

Window in windowbuilder

java eclipse swing windowbuilder
4个回答
1
投票

您可以使用两种方式设置标题:

1.使用JFrame setTitle()方法设置标题:frame.setTitle("My Application");

2.使用JFrame(String Title)构造函数设置标题:frame = new JFrame("My Application");

根据我的意见,两种方式都可以设置标题,但如果你正在努力争取第一个选项,你可以尝试第二种选择。可能这段代码适合你。

private void initialize() {
    frame = new JFrame("My Application");
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

0
投票

设置更改后,请转到frame.dispose()

之后你可以

frame.repaint();
frame.revalidate();

0
投票

请试试这个:

               try {
                    Application window = new Application();
                    window.frame.setVisible(true);
                    window.frame.setTitle("My Application");
                } catch (Exception e) {
                    e.printStackTrace();

让我知道结果。

编辑:从initialize方法中删除setTitle()。

编辑:如果您是初学者,可以尝试JavaFX。它也像Java Swing一样简单,但有更多潜在的,更好的设计选项和东西。我开始学习Java时,我尝试过的东西。


0
投票

我认为你应该删除你的挥杆并再次安装它。因为任何解决方案都不起作用,没有其他理由不这样做。只是尝试重新安装秋千。

© www.soinside.com 2019 - 2024. All rights reserved.