【Swing 3】布局管理器与简单的聊天界面

    一不小心弄出了个很丑很丑的聊天界面。权当练习了。基本上只能输入输出了。因为输出窗口

也是用JLabelArea弄的,所以是可以删除的。(你见过这样的聊天工具?)

 

   

    因为不知道像素具体是多高,所以画不了分隔线(区分输出与输出窗口)。而且把输入文本框和标签,

或者输入文本框和按钮,或者输出文本框和标签弄在同一个面板上的话。同个面板上的组件总是会相互

影响,改变长度。所以索性把输入窗口单独弄在一个面板上。

【BorderLayout布局只能是把组件放在东西南北中五个区域,一个区域放一个组件,

所以才要弄个面板来放多一点组件】

 

 1 package demo;
 2 
 3 import javax.swing.*;
 4 import java.awt.*;
 5 import java.awt.event.*;
 6 import java.util.*;
 7 
 8 public class Test implements ActionListener {
 9     JTextArea inputText, outputText;
10     public static void main(String[] args) {
11         new Test();
12     }
13     Test() {
14         JFrame frame = new JFrame();
15         inputText = new JTextArea(10, 20);
16         outputText = new JTextArea(10, 20);
17         
18         JButton button = new JButton("提交");
19         button.addActionListener(this);
20         
21         JPanel panel = new JPanel();
22         panel.add(inputText);
23         panel.setBackground(Color.lightGray);
24         
25         frame.getContentPane().add(BorderLayout.NORTH, outputText);
26         frame.getContentPane().add(BorderLayout.CENTER, panel);
27         frame.getContentPane().add(BorderLayout.SOUTH, button);
28         
29         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
30         frame.setSize(400, 400);
31         frame.setVisible(true);
32     }
33     public void actionPerformed(ActionEvent event) {
34         Date time = new Date();
35         String t = String.format("2017/%tB/%<td %<tr", time);
36         if (inputText.getText().length() != 0) {
37             outputText.append("游离之子 " + t + "\n" + inputText.getText() + "\n");
38         }
39         inputText.setText("");
40     }
41     
42 }
简易聊天界面
posted @ 2017-01-30 23:04  坏小孩D_R  阅读(942)  评论(0编辑  收藏  举报