我正在使用Java進行項目,並且在點擊該特定按鈕JFrame
後需要重新加載整個JFrame
。這個怎麼做?如何刷新或重新加載JFrame?
13
A
回答
23
嘗試
SwingUtilities.updateComponentTreeUI(frame);
如果仍不能再完成上述步驟嘗試
frame.invalidate();
frame.validate();
frame.repaint();
0
您應使用此代碼
this.setVisible(false); //this will close frame i.e. NewJFrame
new NewJFrame().setVisible(true); // Now this will open NewJFrame for you again and will also get refreshed
0
試試這個代碼之後的工作。我也遇到了同樣的問題,但我解決了一些問題。
public class KitchenUserInterface {
private JFrame frame;
private JPanel main_panel, northpanel , southpanel;
private JLabel label;
private JButton nextOrder;
private JList list;
private static KitchenUserInterface kitchenRunner ;
public void setList(String[] order){
kitchenRunner.frame.dispose();
kitchenRunner.frame.setVisible(false);
kitchenRunner= new KitchenUserInterface(order);
}
public KitchenUserInterface getInstance() {
if(kitchenRunner == null) {
synchronized(KitchenUserInterface.class) {
if(kitchenRunner == null) {
kitchenRunner = new KitchenUserInterface();
}
}
}
return this.kitchenRunner;
}
private KitchenUserInterface() {
frame = new JFrame("Lullaby's Kitchen");
main_panel = new JPanel();
main_panel.setLayout(new BorderLayout());
frame.setContentPane(main_panel);
northpanel = new JPanel();
northpanel.setLayout(new FlowLayout());
label = new JLabel("Kitchen");
northpanel.add(label);
main_panel.add(northpanel , BorderLayout.NORTH);
frame.setSize(500 , 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private KitchenUserInterface (String[] order){
this();
list = new JList<String>(order);
main_panel.add(list , BorderLayout.CENTER);
southpanel = new JPanel();
southpanel.setLayout(new FlowLayout());
nextOrder = new JButton("Next Order Set");
nextOrder.addActionListener(new OrderUpListener(list));
southpanel.add(nextOrder);
main_panel.add(southpanel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
KitchenUserInterface dat = kitchenRunner.getInstance();
try{
Thread.sleep(1500);
System.out.println("Ready");
dat.setList(OrderArray.getInstance().getOrders());
}
catch(Exception event) {
System.out.println("Error sleep");
System.out.println(event);
}
}
}
3
只是使用 frame.setVisible(false); frame.setVisible(true); 我有這個問題與JLabels與圖像,這解決了它
相關問題
- 1. 重新加載JFrame或JLabel
- 2. 如何重新啓動,重新加載或刷新活動?
- 3. 在簡歷上重新加載SharedPreferences? (或如何刷新/重新加載活動)
- 4. 刷新或重新加載在MVC
- 5. 重新加載或刷新UIView?
- 6. 如何刷新/重新加載桌面
- 7. 如何重新加載/刷新app.config?
- 8. EF4:如何重新加載/刷新EntityCollection?
- 9. 如何刷新/重新加載UITableView
- 10. 如何刷新/重新加載網格
- 11. 如何刷新JFrame?
- 12. 如何重新加載JFrame - Java
- 13. 重新加載/刷新按鈕上的JFrame窗口點擊
- 14. 重新加載/刷新ABPersonViewController
- 15. NStoolbar重新加載/刷新
- 16. 刷新/重新加載FileChooser
- 17. python刷新/重新加載
- 18. 刷新/重新加載uipicker
- 19. 當新窗口刷新或重新加載時重新加載父窗口
- 20. 如何在jQuery中強制頁面刷新或重新加載?
- 21. 如何刷新或重新加載數據
- 22. 如何刷新或重新加載樞軸網格
- 23. 如何使用Ajax刷新或重新加載div的內容
- 24. 如何在角度2中刷新或重新加載組件?
- 25. 如何重新加載或刷新java中的jtree的內容
- 26. Django:如何從數據庫刷新或重新加載模型
- 27. 谷歌小工具如何刷新或重新加載自己
- 28. Jquery/Ajax刷新無需重新加載或加載頁面?
- 29. 如何禁用頁面刷新或重新加載時重新提交數據
- 30. JFrame不刷新與重繪
你是什麼意思'刷新'?它是否「將所有組件返回到首次放入框架時的狀態」,「更換組件」,還有其他的東西? –
是在運行時添加/刪除JComponent,還是更改大小,需要重新佈局..., – mKorbel
您正在用JFrame做什麼。請親近它。 ? –