0
  1. JPanel(a).JPanel(b).JLabel
  2. JPanel(a).JTextArea

我添加了一个KeyListenerJTextArea. 当它被调用时,它应该访问JLabel并返回getText()

我可以JPanel(a)通过getSource()/到达getParent(),但我不知道如何“转身”然后走另一条路......

这可能吗?怎么做?

4

1 回答 1

0

解决了!

JPanel a = (JPanel) ((Component) arg0.getSource()).getParent();
JPanel b = (JPanel) a.getComponent(0);
String textInJLabel = ((JLabel) b.getComponent(0)).getText();

对于偶然发现这一点的人,请注意以正确的getComponent(int index)方法设置索引。此代码中的代码适用于我的情况。

于 2012-08-29T12:43:18.413 回答