java 焦点

哪位大哥帮帮忙,在一个面板上有一个JTextField,还有一个JComboBox下拉框展开的,现在光标在文本框里,我想要实现光标不离开JTextField,但是按上下键... 哪位大哥帮帮忙,在一个面板上有一个JTextField,还有一个JComboBox下拉框展开的,现在光标在文本框里,我想要实现光标不离开JTextField,但是按上下键能在JComboBox选项中切换选项,有点像代码编辑器给提示那样,最好有代码,我水平菜,忘各位指教 展开
 我来答
bellCliff
推荐于2016-09-10 · TA获得超过650个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:614万
展开全部
在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);
}
sd6221637
2010-05-12 · TA获得超过2750个赞
知道小有建树答主
回答量:565
采纳率:100%
帮助的人:187万
展开全部
在窗体的load事件中,输入
JTextField.focus();

或者别的什么事件。根据你的需要, focus()就是光标默认的地方,焦点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fei2115958
2010-05-12 · TA获得超过119个赞
知道小有建树答主
回答量:162
采纳率:100%
帮助的人:139万
展开全部
估计你想自己实现一个根据输入动态变化JComboBox里面的选项啊,我以前夜试着弄过,但是没有弄出来,但是你去开源软件里面去找,里面有个现成的插件实现这个功能。
但是插件的名字我忘记了......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式