栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

实现JTextField上下键、回车键的跳转功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实现JTextField上下键、回车键的跳转功能

目标:实现JTextField上下键、回车键的跳转功能;

第一步:利用循环,创建一个JTextFiled数组,并添加到主窗体;

第二部:添加JTextFiled跳转功能;

主窗体代买块,如下:

package my_packge;

import java.awt.Container;
import javax.swing.Jframe;
import javax.swing.JTextField;
	
public class test {
	private Jframe frame;
	private Container container;
	private JTextField text[] = new JTextField[4];
	
	private test() {
		frame = new Jframe("测试");
		container = frame.getContentPane();
		container.setLayout(null);	
		String text_name[]=new String[] {"1","2","3","4"};	
		
		for(int i = 0 ; i < text.length ; i++) {			
			text[i] = new Create_JTextField().New_JTextField(80,i * 40,100,30);
			text[i].setText(text_name[i]);
			container.add(text[i]);					
		}
		new Create_JTextField().JText_Field(text);//添加功能		
		frame.setSize(300, 250);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); 
		frame.setResizable(false); 
		frame.setVisible(true);		
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new  test();
	}

}

JTextField功能代码块,如下:

package my_packge;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JTextField;

public class Create_JTextField {
	private JTextField text_box;
		
	
	public JTextField New_JTextField (int x, int y, int width, int height) {
		text_box = new JTextField();
		text_box.setBounds(x, y, width, height);
		return text_box;		
	}
		
	
	public void JText_Field(JTextField jtextField[]) {
		for (int i = 0; i < jtextField.length; i++) {
			int Index = i;
			jtextField[Index].addKeyListener(new KeyAdapter() {
				public void keyPressed(KeyEvent e) { 
					switch (e.getKeyCode()) {					
					case 38:// 上箭头键
						if (Index - 1 < 0) {
							jump(jtextField[jtextField.length - 1]);
						} else {
							jump(jtextField[Index - 1]);
						}
						break;					
					case 10:// 回车键
						if (Index + 1 >= jtextField.length) {
							jump(jtextField[0]);
						} else {
							jump(jtextField[Index + 1]);
						}
						break;					
					case 40:// 下箭头键
						if (Index + 1 >= jtextField.length) {
							jump(jtextField[0]);
						} else {
							jump(jtextField[Index + 1]);
						}
						break;
					}
				}
			});
		}
	}
	
	
	private void jump(JTextField jtextField ) {
		jtextField.requestFocusInWindow();
	}
}

 运行结果,如下:

路漫漫其修远兮,吾将上下而求索——屈原  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284145.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号