如何在 swing 中获取可访问父级(面板)的名称?
how to get name of a accessible parent(panel) in swing?
当我点击按钮时,它会打印可访问的父名称。有什么办法吗?
我已经尝试了一些代码,但是它打印的是空值。
谁能指出我的错误。
Container c = cancel.getParent();
System.out.println("Parent Name = "+c.getName());
要使 getName()
正常工作,您应该早点调用 c.setName()
并为其设置一个正确的名称。
否则它只会return默认值,在大多数情况下(包括你的)默认值为null
,如果c
是JFrame
,默认情况下会return 类似 Frame0
等等...
我无法确定你的问题,因为我没有看到你的完整代码,但请尝试以下代码:
JButton cancel = new JButton("AAAA");
JPanel p = new JPanel();
p.setName("Panel p");
p.add(cancel);
JFrame f = new JFrame();
f.add(p);
f.pack();
f.setVisible(true);
System.out.println(cancel.getParent().getName());
这将打印 "Panel p" 作为取消按钮的父级。
我想这就是你想要的。
祝你好运。
当我点击按钮时,它会打印可访问的父名称。有什么办法吗?
我已经尝试了一些代码,但是它打印的是空值。 谁能指出我的错误。
Container c = cancel.getParent();
System.out.println("Parent Name = "+c.getName());
要使 getName()
正常工作,您应该早点调用 c.setName()
并为其设置一个正确的名称。
否则它只会return默认值,在大多数情况下(包括你的)默认值为null
,如果c
是JFrame
,默认情况下会return 类似 Frame0
等等...
我无法确定你的问题,因为我没有看到你的完整代码,但请尝试以下代码:
JButton cancel = new JButton("AAAA");
JPanel p = new JPanel();
p.setName("Panel p");
p.add(cancel);
JFrame f = new JFrame();
f.add(p);
f.pack();
f.setVisible(true);
System.out.println(cancel.getParent().getName());
这将打印 "Panel p" 作为取消按钮的父级。
我想这就是你想要的。
祝你好运。