[英]Swing Application window not showing changes
我正在使用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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.