日期:2014-05-20  浏览次数:20711 次

聊天界面写不下去了,麻烦大家帮忙下阿
/*
 * 聊天窗口主方法
 */
package chatinterface;

import java.io.*;

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.*;

class frame extends JFrame {
public frame() {
display pan1 = new display();
Container c = getContentPane();
c.add(pan1);
}
}

 class display extends JPanel implements ActionListener{
private JList userlist;
private JTextField ip_Address;
private JTextField nickname;
private JTextField port;
private String message = "";
private JScrollPane scroll; //滚动条对象
JTextArea dis_TextArea;
JTextArea sentarea;
JButton sent;
JButton login;
public display() {
this.setLayout(null); // 设置为无布局

dis_TextArea = new JTextArea(1,20); // 定义显示消息栏
//scroll = new JScrollPane(dis_TextArea);
dis_TextArea.setFont(new Font("PMingLiU", Font.PLAIN, 12));
dis_TextArea.setBackground(new Color(255, 255, 240));
dis_TextArea.setLineWrap(true);
dis_TextArea.setBounds(5, 26, 280, 179);

sentarea = new JTextArea(1, 20); // 发送消息栏
sentarea.setBackground(new Color(255, 250, 240));
sentarea.setForeground(new Color(0, 0, 0));
sentarea.setLineWrap(true);
sentarea.setBounds(5, 232, 280, 38);

sent = new JButton("发送"); // 发送按钮
sent.setFont(new Font("MingLiU", Font.BOLD, 12));
sent.setBounds(290, 235, 60, 35);
sent.addActionListener(this);

login = new JButton("登陆"); // 登陆按钮
login.setFont(new Font("PMingLiU", Font.BOLD, 12));
login.setBounds(290, 285, 60, 35);

JLabel user = new JLabel("昵称"); // 昵称标签
user.setBounds(5, 275, 36, 20);

// 将组件添加到面板
add(dis_TextArea);
add(sentarea);
add(sent);
add(login);
add(user);

final JLabel serverip = new JLabel(); // 服务器端IP
serverip.setText("服务器IP&端口");
serverip.setBounds(5, 300, 94, 20);
add(serverip);

final JLabel label = new JLabel(); // 冒号标签
label.setText(":");
label.setBounds(205, 305, 6, 15);
add(label);

port = new JTextField(); // 服务器端端口
port.setBounds(215, 300, 50, 20);
add(port);

nickname = new JTextField(); // 昵称
nickname.setBounds(105, 275, 95, 20);
add(nickname);

ip_Address = new JTextField(); // IP地址
ip_Address.setBounds(105, 300, 95, 20);
add(ip_Address);

userlist = new JList(); // 用户列表
userlist.setBounds(302, 26, 95, 179);
add(userlist);

final JLabel label_1 = new JLabel(); // 用户列表标签
label_1.setText("用户列表");
label_1.setBounds(320, 5, 60, 15);
add(label_1);

final JLabel label_2 = new JLabel(); // 信息栏标签
label_2.setText("信息栏");
label_2.setBounds(5, 5, 164, 15);
add(label_2);

final JLabel label_3 = new JLabel(); // 发送栏标签
label_3.setText("发送栏");
label_3.setBounds(5, 211, 280, 15);
add(label_3);

}
public void actionPerformed(ActionEvent e) {

if(e.getSource()==sent){
sentarea.getText();
dis_TextArea.append(message);
}

}
}

public class ChatUI {
public static void main(String args[]) {
frame fr = new frame();
fr.show(); // 设置窗口可显示
fr.setSize(500, 400); // 窗口大小
fr.setDefaultCloseOperation(fr.EXIT_ON_CLOSE); // 窗口最小化,关闭功能
fr.setResizable(false); // 是否窗口可调整大小(false)
fr.setTitle("ChatUI"); // 窗口标题
fr.setBounds(300, 200, 500, 400); // 窗口初始坐标,初始大小
}
}


------解决方案--------------------