java的GUI设计,如何样获得具有焦点的控件,比如说文本框!text.isFocusControl如何不行?
java的GUI设计,怎么样获得具有焦点的控件,比如说文本框!text.isFocusControl怎么不行?~~~~~~~~~~
窗口中有很多文本框,单击某个文本框,要怎么获得对应的文本框对象啊?
我的想法是遍历所有的text对象,然后利用text.isFocusControl,这个不是判断该text是否获得焦点的么,
为什么老报错。
还有,我写了一个监听线程,就是一旦某个文本框获得焦点,就做相应的操作。
各位辛苦了!
------解决方案--------------------
窗口中有很多文本框,单击某个文本框,要怎么获得对应的文本框对象啊?
我的想法是遍历所有的text对象,然后利用text.isFocusControl,这个不是判断该text是否获得焦点的么,
为什么老报错。
还有,我写了一个监听线程,就是一旦某个文本框获得焦点,就做相应的操作。
各位辛苦了!
------解决方案--------------------
- Java code
import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JTextField; public class TestText extends JFrame implements FocusListener { private JTextField[] txts = new JTextField[3]; public TestText() { getContentPane().setLayout(new FlowLayout()); for (int i = 0; i < txts.length; i++) { txts[i] = new JTextField("Test" + i); txts[i].setName("我是Text:" + i); txts[i].setPreferredSize(new Dimension(70, 20)); txts[i].addFocusListener(this); getContentPane().add(txts[i]); } setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(300, 200); } public void focusGained(FocusEvent e) { System.out.println(((JComponent) e.getSource()).getName()); } public void focusLost(FocusEvent e) { } public static void main(String[] args) { TestText frame = new TestText(); frame.setVisible(true); } }
------解决方案--------------------