我使用Swing庫中的小部件編寫了一個相對簡單的Java應用程序。 「有條件」展示特定商品的常見做法是什麼?對於我們想要暫時隱藏的東西是否是.setVisible(false)
;或者是否需要.add
項目,然後在不再顯示時刪除它們?Java GUI更好地移除或setVisible(false)?
4
A
回答
3
通常這樣的事情取決於設計師的意見,然而這取決於你究竟想要展示/隱藏什麼。
如果你想在某個條件/方法返回true之後顯示一個小部件,那麼只需使用setVisible(true),這可以讓你輕鬆切換開/關。
如果您只想顯示一次窗口小部件(而不是再次隱藏窗口小部件),那麼只需在需要時添加它,以便顯示它(條件/方法)。
都可以歸結爲偏好
5
「我需要顯示時的事情是正確的顯然是必須離開(多個)錯誤信息」
不知道你是如何展示你的錯誤消息,但看起來像一個簡單的JLabel
與簡單的使用setText()
將是適當的。試圖添加刪除或設置可見將與佈局混亂,導致不斷變化的佈局,這可能是不受歡迎的或不是非常用戶友好的。一些簡單的事情;
String errorMessage = "Error";
String noErrorMessage = " ";
....
if (error) {
errorLabel.setText(errorMessage);
} else {
errorLabel.setText(noErrorMessage);
}
我使用空間noErrorMessage
爲沒有空間將影響優選的大小,並且仍然實現佈局
相關問題
- 1. Java JPopupMenu setVisible(false);
- 2. Java Swing dispose()與setVisible(false)
- 3. 從JPanel完全刪除JLabel ... not setVisible(False)
- 4. setVIsible(false);從JFrame內
- 5. gxt uibinder TabItem.getHeader()。setVisible(false)
- 6. 我無法使用setMap(null)或setVisible(false)來清除標記
- 7. 的Java GUI使用調用setVisible()
- 8. SetVisible(false)佔用空間
- 9. setVisible(true/false)錯誤JFrame
- 10. setVisible(false)刪除標記,但不刪除setMap(null)
- 11. 爲什麼setVisible()移除我的組件?
- 12. 使用java的更好的GUI設計
- 13. 在GUI地圖上平移Java
- 14. jbutton setVisible(false)設置回setVisible(true)不起作用
- 15. Java setVisible issue
- 16. Java - setVisible(true)
- 17. 如何清除父組件後的JTextField文本setVisible(false)`?
- 18. JAVA:.setText和.setVisible(false)方法不起作用
- 19. Google標記setVisible true/false顯示/隱藏
- 20. Android標記setVisible(false)沒有工作
- 21. MenuItem setVisible(false)在Android中不起作用
- 22. Java - setVisible(true)對GUI沒有任何影響
- 23. Java GUI,setVisible不工作,顯示空白幀
- 24. 更好地使用TreeMap或命令?
- 25. JFrames方法setVisible(true)或setVisible(false)不在循環中工作。框架顯示不正確
- 26. 更好的GUI類組織?
- 27. 哪種方式更好地移動ImageView
- 28. 已刪除行的同步更好地存儲或比較?
- 29. 更好地在Java或Javascript中處理JSON?
- 30. 從1日蝕或2更好地運行2個Java程序?
我傾向於使用一個'CardLayout'(或者換句話說,沒有上述).. –
對我來說,我會改變知名度 – Stultuske
*「..爲'有條件'顯示某些項目」*不要忘記你可以有條件*啓用*某些項目。這裏的實際用例是什麼? –