当前位置: 代码迷 >> java >> Swing应用程序窗口未显示更改
  详细解决方案

Swing应用程序窗口未显示更改

热度:103   发布时间:2023-07-31 10:52:57.0

我正在使用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应用程序的最佳方法(使用“应用程序窗口”)还是有更好的方法。

编辑:我添加一些图像以显示这是问题

我执行时的窗口:

windowbuilder中的窗口:

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

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);
}

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

然后你可以

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

请尝试以下方法:

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

让我知道结果。

编辑:从初始化方法中删除setTitle()。

编辑:如果您是初学者,可以尝试JavaFX。 它与Java Swing一样简单,但是具有更多潜力,更好的设计选项和功能。 开始学习Java时,我曾尝试过这种方法。

我认为您应该删除秋千并重新安装。 因为任何解决方案都行不通,并且没有其他理由不这样做。 只需尝试重新安装swing。