这是以前给别人做的例子,requestFocus();要加在frame.setVisible(true);的后面才能生效import javax.swing.*;public class Test{
JFrame frame;
JPanel pane;
JTextField t1, t2, t3;
public Test() {
t1 = new JTextField(20);
t2 = new JTextField(20);
t3 = new JTextField(20);
frame = new JFrame("");
pane = new JPanel();
frame.getContentPane().add(pane);
pane.add(t1);
pane.add(t2);
pane.add(t3);
frame.setSize(300, 200);
frame.setVisible(true);
//t1.requestFocus();//第一个得到光标的焦点,这个是默认的
//t2.requestFocus();//第二个得到光标的焦点
t3.requestFocus(); //第三个得到光标的焦点 } public static void main(String[] args) {
Test test = new Test();
}
}
<------ 树欲静而风不止 ------>
JFrame frame;
JPanel pane;
JTextField t1, t2, t3;
public Test() {
t1 = new JTextField(20);
t2 = new JTextField(20);
t3 = new JTextField(20);
frame = new JFrame("");
pane = new JPanel();
frame.getContentPane().add(pane);
pane.add(t1);
pane.add(t2);
pane.add(t3);
frame.setSize(300, 200);
frame.setVisible(true);
//t1.requestFocus();//第一个得到光标的焦点,这个是默认的
//t2.requestFocus();//第二个得到光标的焦点
t3.requestFocus(); //第三个得到光标的焦点 } public static void main(String[] args) {
Test test = new Test();
}
}
<------ 树欲静而风不止 ------>
解决方案 »
- 关于java类的字面值
- Java HashMap遍历菜鸟小白求解
- 那位有实怎么现数据库方面的数据和资料?
- 怎么在java编写的记事本实现对字体的修改?
- java中如何import一个自己写的包
- 救解字符转义,一个是'一个是\
- 关于“reflection”
- 我现在是java初级程序员,以后怎么样学习java?
- 错误信息:Exception occurred: java.rmi.RemoteException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
- @@请问作图的applet画图代码应该写到那里?
- 关于Jni问题已经解决,回答过的兄弟门接分啊!!!!!!!!!!给足200分,说话算话吧!!哈哈
- ResultSet中的absolute(int k)不能用,请高人指点.散分.100
楼上所说
第二个问题:
回车后,你是想要光标去下一行吗?如果是,那可不行,TextField是单行文本框,多行文本用TextArea
import java.awt.event.*;public class Test{
JFrame frame;
JPanel pane;
JTextField t1, t2, t3;
public Test() {
t1 = new JTextField(20);
t2 = new JTextField(20);
t3 = new JTextField(20);
t1.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
if((int)keyEvent.getKeyChar()==10){
t2.requestFocus();
}
}
public void keyPressed(KeyEvent keyEvent) {}
public void keyReleased(KeyEvent keyEvent) {}
});
t2.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
if((int)keyEvent.getKeyChar()==10){
t3.requestFocus();
}
}
public void keyPressed(KeyEvent keyEvent) {}
public void keyReleased(KeyEvent keyEvent) {}
});
frame = new JFrame("");
pane = new JPanel();
frame.getContentPane().add(pane);
pane.add(t1);
pane.add(t2);
pane.add(t3);
frame.setSize(300, 200);
frame.setVisible(true);
t1.requestFocus();//第一个得到光标的焦点,这个是默认的
//t2.requestFocus();//第二个得到光标的焦点
//t3.requestFocus(); //第三个得到光标的焦点
} public static void main(String[] args) {
Test test = new Test();
}
}<------ 树欲静而风不止 ------>
不过还可以在请教点问题吗?
如果不是固定的指定是t1,t2,t3得光标,而是想实现让光标跳转到一个可以得光标的控件上,能不能实现呢?比如做专门负责光标跳转的小函数?不好意思。
import javax.swing.*;
import java.awt.event.*;
import java.awt.Component;public class Test{
JFrame frame;
JPanel pane;
JTextField t1, t2, t3;
JButton button;
public Test() {
button = new JButton("确定");
t1 = new JTextField(20);
t2 = new JTextField(20);
t3 = new JTextField(20);
t1.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
if((int)keyEvent.getKeyChar()==10){
setCFocus(t2);
}
}
public void keyPressed(KeyEvent keyEvent) {}
public void keyReleased(KeyEvent keyEvent) {}
});
t2.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
if((int)keyEvent.getKeyChar()==10){
setCFocus(t3);
}
}
public void keyPressed(KeyEvent keyEvent) {}
public void keyReleased(KeyEvent keyEvent) {}
});
t3.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
if((int)keyEvent.getKeyChar()==10){
setCFocus(button);
}
}
public void keyPressed(KeyEvent keyEvent) {}
public void keyReleased(KeyEvent keyEvent) {}
});
frame = new JFrame("");
pane = new JPanel();
frame.getContentPane().add(pane);
pane.add(t1);
pane.add(t2);
pane.add(t3);
pane.add(button);
frame.setSize(300, 200);
frame.setVisible(true);
t1.requestFocus();//第一个得到光标的焦点,这个是默认的
//t2.requestFocus();//第二个得到光标的焦点
//t3.requestFocus(); //第三个得到光标的焦点
} public void setCFocus(Component c){
c.requestFocus();
} public static void main(String[] args) {
Test test = new Test();
}
}<------ 树欲静而风不止 ------>
keyEvent. getComponent().transferFocus();
好想也还可以的样子。
呵呵。不知道这样做是不是会有什么不好呢?