当我点击按钮时,它将打印可访问的父名称。有没有办法做到这一点?。
我尝试了一些代码,但它的打印无效。 任何人都可以指出我的错误。
Container c = cancel.getParent();
System.out.println("Parent Name = "+c.getName());
答案 0 :(得分:1)
要使getName()
生效,您应该先调用c.setName()
并为其设置正确的名称。
否则它会在大多数情况下(包括你的)返回默认值null
,如果c
是JFrame
,它默认会返回Frame0
之类的内容等等......
答案 1 :(得分:1)
我无法确定您的问题,因为我没有看到您的完整代码,但请尝试以下代码:
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”作为取消按钮的父级。
我认为这就是你想要的。
祝你好运。