实验六构建聊天客户端界面


实验六 构建聊天客户端界面
一、 实验目的

1) 了解 Java 系统图形用户界面的工作原理和界面的设计步骤; 2) 了解图形界面的事件响应机制; 3) 常握图形界面基本组件、布局策略的设计与使用;
二、 实验内容 1) 构建聊天客户界面,包括消息显示窗口、消息发送窗口、选择好友的选择窗口、发送 按钮。 2) 为发送按钮添加事件,把消息显示在消息窗口中。 三、 实验步骤 我们首先开发一个简单的界面程序 ClientChatUI,一个界面首先是一个 JFrame 对象, 即一个窗体;然后我们就可以在窗体上添加组建;最后为组建添加事件。 1) 完成一个拥有窗体的界面
package qq.client; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class ClientChatUI extends JFrame { private String userName;//登陆成功的用户名 private JTextArea jta_recieve=new JTextArea(15,25);//显示接收到消息的 类 private JComboBox jcb_users=new JComboBox();//在线用户名的下接框 //主函数 public static void main(String args[]){ new ClientChatUI("何婷");} //构造函数 public ClientChatUI(String userName){ this.userName=userName; initUI(); showFrame();} //显示一个窗体界面的方法 public void showFrame(){ //设置标题 this.setTitle("netjava:欢迎" + this.userName); java.awt.FlowLayout fl = new java.awt.FlowLayout(0); this.setLayout(fl); this.setSize(300, 500); this.setDefaultCloseOperation(3); //窗体关闭时程序退出 this.setVisible(true);}}

2) 定义一个initUI方法,在方法中添加组建。 两个JLabel,一个显示”接收到的消息:”,一个显示”发送给:” 一个显示消息区域JTextArea,一个消息发送窗口JTextField,一个选择用户的选择窗口 JComboBox,一个发送按钮JButton。
private void initUI(){ //用户名的标签 JLabel la_name=new JLabel("接收到的消息:"); JLabel la_users=new JLabel("发送给:"); final JTextField jtf_send=new JTextField(20);//发送输入框 javax.swing.JButton bu_send=new javax.swing.JButton("send"); //添加好友 jcb_users.addItem("钱尧"); jcb_users.addItem("徐丹"); //添加组件

add(la_name); add(jta_recieve); add(la_users); add(jtf_send); add(jcb_users); add(bu_send); //发送事件监听器 ActionListener sendListener=new ActionListener(){ public void actionPerformed(ActionEvent e){ String reciever=(String) jcb_users.getSelectedItem(); reciever =reciever.trim();//去除空格 String content=jtf_send.getText(); //发送一条聊天消息 jta_recieve.append(userName+"对"+reciever+"说: +content+"\r\n"); jtf_send.setText("");} }; bu_send.addActionListener(sendListener); jtf_send.addActionListener(sendListener);}

3) 添加发送事件
ActionListener sendListener=new ActionListener(){ public void actionPerformed(ActionEvent e){ String reciever=(String) jcb_users.getSelectedItem(); reciever =reciever.trim();//去除空格 String content=jtf_send.getText(); //发送一条聊天消息 jta_recieve.append(userName+"对"+reciever+""+content+"\r\n"); jtf_send.setText("");} }; bu_send.addActionListener(sendListener); jtf_send.addActionListener(sendListener);}

4) 实验分析 运行程序,看是否得到了预期结果?是 服务器界面怎么写?


相关文档

实验六_PPPOE服务器+客户端
实验6 图形用户界面设计
实验6图形用户界面设计
实验六 电子邮件收发及客户端软件
实验六 图形界面程序设计
Java QQ聊天界面实验报告
实验六 图形用户界面
实验6 图形用户界面_实验报告
第6章 在Patran界面中建立Dytran模型及后处理的操作过程实例6
实验 6 油水界面张力的测定
电脑版