Java GUI更好地删除或setVisible(false)?

时间:2014-05-24 11:48:51

标签: java swing user-interface

我正在使用Swing库中的小部件在Java中编写一个相对简单的GUI应用程序。有条件的'的常见做法是什么?显示某些项目?对于我们想暂时隐藏的事情是.setVisible(false)吗?或者它是否需要.add个项目,然后在不再显示它们时删除它们?

2 个答案:

答案 0 :(得分:5)

  

“我需要显示(多个)错误消息,当事情显然正确时必须消失”

不确定您是如何显示错误消息的,但似乎只需简单JLabel就可以使用setText()。尝试添加删除或设置可见会使布局混乱,导致不断变化的布局,这可能是不合需要的或不是非常用户友好。简单的事情;

String errorMessage = "Error";
String noErrorMessage = "  ";

....
if (error) {
    errorLabel.setText(errorMessage);
} else {
    errorLabel.setText(noErrorMessage);
}

我使用noErrorMessage的空格,因为没有空格会影响首选尺寸并仍会影响布局

答案 1 :(得分:3)

通常这些事情取决于设计师的观点,但这取决于你究竟想要展示/隐藏的内容。

如果您想在某个条件/方法返回true后显示一个小部件,那么只需使用setVisible(true),这样您就可以轻松地打开/关闭。

如果您只想显示一次小部件(而不是再次隐藏它),那么只需在需要时添加它以便显示它(条件/方法)。

所有归结为偏好