问题描述
我正在使用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楼
您可以使用两种方式设置标题:
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);
}
2楼
设置更改后,转到frame.dispose()
然后你可以
frame.repaint();
frame.revalidate();
3楼
请尝试以下方法:
try {
Application window = new Application();
window.frame.setVisible(true);
window.frame.setTitle("My Application");
} catch (Exception e) {
e.printStackTrace();
让我知道结果。
编辑:从初始化方法中删除setTitle()。
编辑:如果您是初学者,可以尝试JavaFX。 它与Java Swing一样简单,但是具有更多潜力,更好的设计选项和功能。 开始学习Java时,我曾尝试过这种方法。
4楼
我认为您应该删除秋千并重新安装。 因为任何解决方案都行不通,并且没有其他理由不这样做。 只需尝试重新安装swing。