当前位置: 代码迷 >> J2SE >> java的GUI设计,如何样获得具有焦点的控件,比如说文本框!text.isFocusControl如何不行?
  详细解决方案

java的GUI设计,如何样获得具有焦点的控件,比如说文本框!text.isFocusControl如何不行?

热度:8769   发布时间:2013-02-25 00:00:00.0
java的GUI设计,怎么样获得具有焦点的控件,比如说文本框!text.isFocusControl怎么不行?~~~~~~~~~~
窗口中有很多文本框,单击某个文本框,要怎么获得对应的文本框对象啊?
我的想法是遍历所有的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);    }}
------解决方案--------------------------------------------------------
探讨
Java codeimport 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() {
getConten…
  相关解决方案