从keyListener访问JComponents

时间:2012-08-29 12:13:43

标签: java swing jtextarea keylistener

  1. JPanel(a).JPanel(b).JLabel
  2. JPanel(a).JTextArea
  3. 我已将KeyListener添加到JTextArea。当它被调用时,它应该访问JLabel并返回getText()

    我可以JPanel(a) / getSource()前往getParent(),但我不知道如何“转身”并走另一条路......

    这可能吗?如何?

1 个答案:

答案 0 :(得分:0)

解决了!

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

对于偶然发现此事的人,请注意以getComponent(int index)方法设置索引。这段代码中的代码适用于我的案例。