如何检查 JPanel 是否包含 JLabel?
How to check a JPanel contains JLabel or not?
我在地图中有 16 个 JLabel,还有一个 JPanel。现在我想检查 JPanel 在 16 个中是否包含 JLabel。
我试过这种方法:
private int PanelContains(JPanel panel) {
JLabel Value;
for (Entry<Integer, JLabel> entry : Blackbox.entrySet()) {
Value = entry.getValue();
if (panel.getName() == Value.getParent().getName()) {
return 1;
}
}
return 0;
}
我在和他们的名字比较。但是我在 if (panel.getName() == Value.getParent().getName())
这一行收到 "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"
错误。
SwingUtilities 包含许多可以帮助您执行此操作的方法,但我的猜测是 getAncestorNamed 可能是最有用的:
没有父对象的 JLabel
会导致此异常。请尝试下面的代码。
private int panelContains(JPanel panel) {
JLabel Value;
for (Entry<Integer, JLabel> entry : Blackbox.entrySet()) {
Value = entry.getValue();
if (Value.getParent() == panel) {
return 1;
}
}
return 0;
}
我在地图中有 16 个 JLabel,还有一个 JPanel。现在我想检查 JPanel 在 16 个中是否包含 JLabel。 我试过这种方法:
private int PanelContains(JPanel panel) {
JLabel Value;
for (Entry<Integer, JLabel> entry : Blackbox.entrySet()) {
Value = entry.getValue();
if (panel.getName() == Value.getParent().getName()) {
return 1;
}
}
return 0;
}
我在和他们的名字比较。但是我在 if (panel.getName() == Value.getParent().getName())
这一行收到 "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"
错误。
SwingUtilities 包含许多可以帮助您执行此操作的方法,但我的猜测是 getAncestorNamed 可能是最有用的:
没有父对象的 JLabel
会导致此异常。请尝试下面的代码。
private int panelContains(JPanel panel) {
JLabel Value;
for (Entry<Integer, JLabel> entry : Blackbox.entrySet()) {
Value = entry.getValue();
if (Value.getParent() == panel) {
return 1;
}
}
return 0;
}