因此,根据您的描述,您有一个不可见的面板,如果单击组合框,您希望出现该面板?那么它会出现在组合框中的任何选项中吗?
那应该很简单。让我们从 Java 教程JLabel
中修改这个 ComboBoxDemo中的。由于它们都继承自JComponent
,我们将能够以相同的方式使JLabel
和JPanel
可见。
首先,确保您了解演示在做什么。组合框选项正在更改 JLabel 中日期文本的格式。我们希望以这样一种方式编辑演示,使这个 JLabel 在我们选择 JComboBox 中的任何选项之前不可见。
首先,我们希望包含一个布尔值作为类变量,以便我们可以在任何方法中访问它。
boolean visibleComp;
接下来,在构造函数中,您需要将 JLabel“结果”更改为默认不可见。我们可以通过使用JComponent的setVisible 方法来做到这一点。
result.setVisible(false);
现在我们需要控制结果何时以及如何变得可见——当我们继续执行代码时,我们看到该actionPerformed
方法处理我们的事件,并将格式化细节传递给另一个名为reformat.
由于在我们的构造函数中也调用了重新格式化,我们希望在 actionPerformed 方法中设置我们的布尔值。
visibleComp = true;
然后,我们将要在重新格式化的 try 块中添加一个条件语句——这将检查我们的布尔值是否为真,只有当用户执行了一个操作时才会发生这种情况。我们可以使用它来设置组件的可见性。
if(visibleComp){
result.setVisible(true);
}
您可以轻松地将 JPanel 与此示例互换。希望有帮助。