commit 2013f55555a41b4524bd8238d4daa26688fd3a88 Author: 杨丽霞 <1157946473@qq.com> Date: Sun Mar 17 17:39:32 2019 +0800 first commit diff --git a/ChatPanel.java b/ChatPanel.java new file mode 100644 index 0000000..0e7ad85 --- /dev/null +++ b/ChatPanel.java @@ -0,0 +1,186 @@ +package chatpanel; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.GridLayout; +import java.awt.Toolkit; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Vector; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.border.Border; +import javax.swing.border.EtchedBorder; + + +public class ChatPanel extends JFrame +{ + JButton send,connect,disconnect; + JList list; + JLabel userlabel,textlabel; + JTextField textfield; + JTextArea textarea; + JPanel uppanel,downpanel,userpanel,listtitle,texttitle,textpanel,sendpanel,serverpanel; + JScrollPane listpanel,areapanel; + + Border border = new EtchedBorder(Color.BLUE, Color.yellow); //ıߵ͡ + + public ChatPanel() + { + //ûб + userlabel = new JLabel("ûб",userlabel.CENTER); + listtitle = new JPanel(); + listtitle.setBackground(Color.LIGHT_GRAY); + listtitle.add(userlabel); + + //ûб + list = new JList(); + //list.setBackground(Color.LIGHT_GRAY); + Vector vUserName = new Vector();//б< >бӦĶ + for (int i = 1; i < 30; i++) + { + vUserName.add("û"+i); + } + list.setListData(vUserName); // бзҪʾݡ + list.setFixedCellWidth(80); //ĬϿ + + //ûбûб + listpanel = new JScrollPane(list); + + listpanel.setPreferredSize(new Dimension(120,0)); + + + //бûбûб + userpanel = new JPanel(); + userpanel.setLayout(new BorderLayout()); + userpanel.add(listtitle,BorderLayout.NORTH); + userpanel.add(listpanel,BorderLayout.CENTER); + userpanel.setBorder(border); + + //ʾϢ + textlabel = new JLabel("û"); + texttitle = new JPanel(); + texttitle.setBackground(Color.LIGHT_GRAY); + texttitle.add(textlabel); + + //Ϣ + textarea = new JTextArea("û1Ϣhello!"); + textarea.setEditable(false); + textarea.setLineWrap(true); //ûв + areapanel = new JScrollPane(textarea); + + textpanel = new JPanel(); + textpanel.setLayout(new BorderLayout()); + textpanel.add(texttitle,BorderLayout.NORTH); + textpanel.add(areapanel,BorderLayout.CENTER); + textpanel.setBorder(border); + + + //ûбʾϢڼuppanel + uppanel = new JPanel(); + uppanel.setLayout(new BorderLayout()); + uppanel.add(userpanel,BorderLayout.WEST); + uppanel.add(textpanel,BorderLayout.CENTER); + //uppanel.setBorder(border); + + //Ϣsendpanel + send = new JButton(""); + textfield = new JTextField("Ϣ......",30); + sendpanel = new JPanel(); + sendpanel.setLayout(new BorderLayout(0,10)); + sendpanel.add(textfield,BorderLayout.CENTER); + sendpanel.add(send,BorderLayout.EAST); + + + //serverpanel + connect = new JButton("ӷ"); + disconnect = new JButton("Ͽ"); + serverpanel = new JPanel(); + serverpanel.setBackground(Color.LIGHT_GRAY); + serverpanel.setLayout(new FlowLayout(FlowLayout.CENTER,50,10)); + serverpanel.add(connect); + serverpanel.add(disconnect); + + //Ϣͷdownpanel + downpanel = new JPanel(); + downpanel.setLayout(new GridLayout(2,1)); + downpanel.add(sendpanel); + downpanel.add(serverpanel); + downpanel.setBorder(border); + + registerListener(); //ע + } + + public static void main(String[] args) + { + ChatPanel chatpanel = new ChatPanel(); + chatpanel.lunchframe(); + } + + public void lunchframe() + { + JFrame jframe = new JFrame("ҽ"); + jframe.setSize(600, 600); + jframe.setResizable(false); + jframe.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-jframe.getWidth())/2, + (Toolkit.getDefaultToolkit().getScreenSize().height-jframe.getHeight())/2); + + jframe.setLayout(new BorderLayout()); + jframe.add(uppanel,BorderLayout.CENTER); + jframe.add(downpanel,BorderLayout.SOUTH); + + jframe.setDefaultCloseOperation(EXIT_ON_CLOSE); + jframe.setVisible(true); + + } + + public void registerListener() + { + send.addActionListener(new Controller()) ; + connect.addActionListener(new Controller()) ; + disconnect.addActionListener(new Controller()) ; + textfield.addActionListener(new Controller()) ; + } + + public class Controller implements ActionListener + { + + public void actionPerformed(ActionEvent e) + { + if((e.getSource())instanceof JButton) + { + JButton button = (JButton)e.getSource(); + if(button == send) + { + System.out.println("Ϣ"); + } + else if(button == connect) + { + + System.out.println("ӷ"); + } + else if(button == disconnect) + { + + System.out.println("Ͽ"); + } + } + else + { + //Ϣ༭򷢳¼ + System.out.println("δ֪¼"); + } + + } + + } +}