停止Swing中事件的默认行为 [英] Stopping default behavior of events in Swing

查看:104
本文介绍了停止Swing中事件的默认行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



<$ p $

我通过点击发送按钮调用一个方法中的下列代码,或者在一段代码中的消息文本字段中输入。 p> //在类ChatWindow
private void messageTextAreaKeyPressed(java.awt.event.KeyEvent evt){//由Netbeans GUI设计器创建的调用此方法的事件处理程序。
if(evt.getKeyCode()== java.awt.event.KeyEvent.VK_ENTER){
sendMessage();
}
}
public void sendMessage(){
String currentMessage = messageTextArea.getText();
addMessage(你,currentMessage);
app.sendMessage(currentMessage,1);
messageTextArea.setText();
}

最后一位代码将空白文本区域。但是,通过按Enter按钮发送消息而不是空,文本框包含换行符。



我的猜测是,在我的事件处理程序运行后,那么正在添加换行符。如何停止添加换行符?

解决方案

尝试添加 evt.consume() code> sendMessage()

  private void messageTextAreaKeyPressed(java.awt.event.KeyEvent evt){
if(evt.getKeyCode()== java.awt.event.KeyEvent.VK_ENTER){
sendMessage();
evt.consume();
}
}


I have the following bit of code in a method called by clicking the send button, or pressing enter in the message text field in a piece of code.

// In class ChatWindow
private void messageTextAreaKeyPressed(java.awt.event.KeyEvent evt) { // Event handler created by Netbeans GUI designer to call this method.           
    if(evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
        sendMessage();
    }
}   
public void sendMessage() {
    String currentMessage = messageTextArea.getText();
    addMessage("You", currentMessage);
    app.sendMessage(currentMessage, 1);
    messageTextArea.setText("");
}

The last bit of code blanks the text area. However, after a message is sent by pressing the enter button, rather than being empty, the text box contains a newline.

My guess is that after my event handler runs, THEN the newline character is being added. How to I stop the newline being added?

解决方案

try adding evt.consume() after your call to sendMessage()

private void messageTextAreaKeyPressed(java.awt.event.KeyEvent evt) { 
 if(evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
    sendMessage();
    evt.consume();
 }
}  

这篇关于停止Swing中事件的默认行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆