如何获得可访问的父级(面板)的名称?

时间:2015-06-23 05:06:49

标签: java swing parent-child

当我点击按钮时,它将打印可访问的父名称。有没有办法做到这一点?。

我尝试了一些代码,但它的打印无效。 任何人都可以指出我的错误。

    Container c  = cancel.getParent();
    System.out.println("Parent Name = "+c.getName());

2 个答案:

答案 0 :(得分:1)

要使getName()生效,您应该先调用c.setName()并为其设置正确的名称。

否则它会在大多数情况下(包括你的)返回默认值null,如果cJFrame,它默认会返回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”作为取消按钮的父级。

我认为这就是你想要的。

祝你好运。