KeyStroke按钮ENTER禁用NewLine

问题描述:

我有这个代码为与ENTER键关联的按钮(测试)。KeyStroke按钮ENTER禁用NewLine

contentPane.add(test); 
    getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("released ENTER"), "press"); 

    this.getRootPane().setDefaultButton(test); 

当我按下ENTER键时,它工作正常,但也执行NewLine命令。我怎么能禁用NewLine功能? 谢谢。

你的问题是有点不清楚,你想激活按钮时焦点是在按下输入文本框/ textarea但不写在textfield/textarea的新行?

+0

是的。代码工作,但我不想在JText区域中的新行。 – 5minutsOfBullfight

+0

基本上你需要消费事件,以防止它被触摸的Enter键。像这样: JTextArea area = new JTextArea(); 区域.addKeyListener(新KeyAdapter(){ 公共无效的keyTyped(KeyEvent的发送){ 炭C = e.getKeyChar();如果 (C == KeyEvent.VK_ENTER)){ e.consume(); //忽略事件 } } }); –

+0

我试过但不行。 或者,我怎样才能把这个字符串输入中的最后一个字符的游标? String input = jTextAreaINPUT.getText(); – 5minutsOfBullfight

我解决addinng:

String input = jTextAreaINPUT.getText(); 
input = input.replace("\n", ""); 

这样,我只取第一行而不是第二个空行。