如何在 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,如果cJFrame,默认情况下会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" 作为取消按钮的父级。

我想这就是你想要的。

祝你好运。