【发布时间】:2012-03-07 13:47:59
【问题描述】:
我想知道 JPanel 是否在屏幕上。这并不意味着isVisible() 方法可以用于这种情况。我的意思是我想知道以前启动的组件现在是否是我主面板上的组件之一。
编辑和更多解释:我之前在我的程序中启动了几个面板,并根据需要在我的表单上使用它们。例如,我想知道现在出现在我的表单上的任何面板上的jpanel1。
例子:
public class GUI extends JFrame() {
private JPanel1, jPanel2;
public static void main(String[] args) {
GUI gui = new GUI();
jPanel1 = new JPanel();
jPanel2 = new JPanel();
gui.setContentpane(jPanel1);
gui.setVisible(true);
}
}
现在jPanel1 在屏幕上可见但jPanel2 不可见。
我怎样才能知道这个?
【问题讨论】:
-
是的,可以,请您用SSCCE 编辑您的问题,也许还有其他选择
-
你的意思是 isShowing() 吗?:docs.oracle.com/javase/6/docs/api/java/awt/…
-
@mKorbel :很清楚,我按我的意思解释了。
-
@Guillaume PoletIt:我之前调查过,但没有找到我的目标
-
如果组件是
setVisible(true)但组件的边界在 JPanel 之外,因此用户实际上看不到它,会发生什么情况。isVisible、isDisplayable和isShowing会输出什么?
标签: java swing user-interface