现在文本框不能监听回车事件,希望大家帮我看看,给我改正一下!谢谢!
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.awt.event.KeyAdapter ;
import java.awt.event.KeyEvent ;
public class SendApplet extends Applet implements ActionListener//,KeyListener
{
private OutputStreamWriter osw;
private BufferedWriter bw;
private PrintWriter pw;
private InputStreamReader isr;
private BufferedReader br;
Panel panel=new Panel();
Panel panel2=new Panel();
TextField tf=new TextField("",30);
Button btn=new Button("发送");
TextArea ta=new TextArea(8,50);
Socket socket;
BufferedReader in;
public SendApplet(){
Sock sockPara = new Sock();
socket = sockPara.socket;
panel2.add(tf);
panel2.add(btn);
panel.setLayout(new BorderLayout());
panel.add(panel2,BorderLayout.SOUTH);
panel.add(ta,BorderLayout.CENTER);
btn.addActionListener(this);
add(panel);
this.setVisible(true);
try {
osw = new OutputStreamWriter(socket.getOutputStream());
bw = new BufferedWriter(osw);
pw = new PrintWriter(bw);isr = new InputStreamReader(socket.getInputStream());
br = new BufferedReader(isr);
} catch (IOException e) {
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
pw.println( tf.getText());
pw.flush();
ta.append(tf.getText());
tf.setText("");
}
////////////////////文本框响应回车事件
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if (e.getKeyChar() == 13)//KeyEvent.VK_ENTER) //按键 执行相应操作;
{
ta.append("\n\r");
ta.append(tf.getText());
tf.setText("");//记住该数据后,清空窗口
}
}
});
}
如果能让消息发送后光标自动定位到空白的文本框也可以!
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.awt.event.KeyAdapter ;
import java.awt.event.KeyEvent ;
public class SendApplet extends Applet implements ActionListener//,KeyListener
{
private OutputStreamWriter osw;
private BufferedWriter bw;
private PrintWriter pw;
private InputStreamReader isr;
private BufferedReader br;
Panel panel=new Panel();
Panel panel2=new Panel();
TextField tf=new TextField("",30);
Button btn=new Button("发送");
TextArea ta=new TextArea(8,50);
Socket socket;
BufferedReader in;
public SendApplet(){
Sock sockPara = new Sock();
socket = sockPara.socket;
panel2.add(tf);
panel2.add(btn);
panel.setLayout(new BorderLayout());
panel.add(panel2,BorderLayout.SOUTH);
panel.add(ta,BorderLayout.CENTER);
btn.addActionListener(this);
add(panel);
this.setVisible(true);
try {
osw = new OutputStreamWriter(socket.getOutputStream());
bw = new BufferedWriter(osw);
pw = new PrintWriter(bw);isr = new InputStreamReader(socket.getInputStream());
br = new BufferedReader(isr);
} catch (IOException e) {
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
pw.println( tf.getText());
pw.flush();
ta.append(tf.getText());
tf.setText("");
}
////////////////////文本框响应回车事件
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if (e.getKeyChar() == 13)//KeyEvent.VK_ENTER) //按键 执行相应操作;
{
ta.append("\n\r");
ta.append(tf.getText());
tf.setText("");//记住该数据后,清空窗口
}
}
});
}
如果能让消息发送后光标自动定位到空白的文本框也可以!
解决方案 »
- 关于文件操作的两个问题,求解答!
- java连接mysql数据库问题,连接出错了说找不到驱动
- 迷惑中!
- 想了解下JAVA对C/S平台开发好不好?
- 我做了个有关inetaddress的不东西,怎么跑起来起书上面的不一样的啊?
- 难题(jxl或者POI)控制excel 类型
- 哪里有WinRunner下载?
- 请问各位xdjm:UltraEdit-32 的Authorization Code 到那里可以找到啊?
- idltojava下载
- 关于Netty发送数据的问题
- 在一个操作系统上运行java程序,是必须安装jdk还是必须安装jvm
- 请教一下,我要个JAVA文件里用数据源连接名为BE的数据库,代码给如何写`````
public class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent evt) {
// Check for key characters.
if (evt.getKeyChar() == 'a') {
process(evt.getKeyChar());
}
// Check for key codes.
if (evt.getKeyCode() == KeyEvent.VK_HOME) {
process(evt.getKeyCode());
}
}
}光标自动定位到空白的文本框就是让文本框获得焦点
Component initComp;
initComp.requestFocus();
文本框直接加个 actionListiener 一样可以回车监听....
getInputMap()
getActionMap()