java 焦点
答案:3 悬赏:10 手机版
解决时间 2021-03-31 16:43
- 提问者网友:城市野鹿
- 2021-03-31 10:10
java 焦点
最佳答案
- 五星知识达人网友:西岸风
- 2021-03-31 11:44
在JTextField的按键响应事件中判断是否为上下键,如果是,对JComboBox中进行选项切换。
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
// 添加field
JTextField field = new JTextField();
field.setPreferredSize(new Dimension(100, 20));
frame.getContentPane().add(field);
// 添加box
final JComboBox box = new JComboBox(new String[] { "1", "2", "3" });
box.setPreferredSize(new Dimension(100, 20));
frame.getContentPane().add(box);
// field添加按键响应
field.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println(e);
int box_index = box.getSelectedIndex();
if (e.getKeyCode() == KeyEvent.VK_UP) {
box.setSelectedIndex(box_index == 0 ? 0 : box_index - 1);
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
box
.setSelectedIndex(box_index == box.getItemCount() - 1 ? box_index
: box_index + 1);
}
}
});
frame.setBounds(0, 0, 320, 240);
frame.setVisible(true);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
// 添加field
JTextField field = new JTextField();
field.setPreferredSize(new Dimension(100, 20));
frame.getContentPane().add(field);
// 添加box
final JComboBox box = new JComboBox(new String[] { "1", "2", "3" });
box.setPreferredSize(new Dimension(100, 20));
frame.getContentPane().add(box);
// field添加按键响应
field.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println(e);
int box_index = box.getSelectedIndex();
if (e.getKeyCode() == KeyEvent.VK_UP) {
box.setSelectedIndex(box_index == 0 ? 0 : box_index - 1);
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
box
.setSelectedIndex(box_index == box.getItemCount() - 1 ? box_index
: box_index + 1);
}
}
});
frame.setBounds(0, 0, 320, 240);
frame.setVisible(true);
}
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-31 13:01
在窗体的load事件中,输入
JTextField.focus();
或者别的什么事件。根据你的需要, focus()就是光标默认的地方,焦点。
JTextField.focus();
或者别的什么事件。根据你的需要, focus()就是光标默认的地方,焦点。
- 2楼网友:山有枢
- 2021-03-31 11:56
估计你想自己实现一个根据输入动态变化JComboBox里面的选项啊,我以前夜试着弄过,但是没有弄出来,但是你去开源软件里面去找,里面有个现成的插件实现这个功能。
但是插件的名字我忘记了......
但是插件的名字我忘记了......
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯