⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msgwindow.java

📁 局域网聊天工具,学习java桌面应用程序的好例子,(代传)
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * MsgWindow.java * * Created on 2008年10月27日, 下午2:41 */package ipmsg.gui;import ipmsg.etc.Command;import ipmsg.etc.GlobalConstant;import ipmsg.etc.UtilityGlobal;import ipmsg.etc.GlobalVar;import ipmsg.network.UtilityNet;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.util.ArrayList;import javax.swing.JScrollBar;/** * * @author  Noeru */public class MsgWindow extends javax.swing.JFrame implements KeyListener{    /**     * 联系人。<br>     * 为空为广播,长度为1表示私聊。大小大于1表示群发。     */    private ArrayList<String> contacts=new ArrayList<String>();         /**     * 窗口表示。<br>     * 系统通过key标示窗口并记录。以保证某些窗口只有一个实例。<br>     * 群发窗口不存储。因为key为null。     */    private String key;        /**     * 插入格式化代码     */    InsertFormatText ift;            /** Creates new form MsgWindow */    public MsgWindow(ArrayList<String> contacts) {        this.init(contacts);    }        /**     * 初始化单人聊天和广播。     * @param to 发送方的ip ,如果为空,则表示广播     * @param msgContent  初始化消息内容     * @param from  消息来源,一般情况下不会用到,在广播的情况下记录发送者的ip     */    public MsgWindow(String to,String msgContent,String from){        if(to==null)this.init(null);        else{            ArrayList<String> tmp = new ArrayList<String>();            tmp.add(to);            this.init(tmp);        }        //如果不为空,则表示初始化包含消息append.        if(msgContent!=null)            this.appendNewMsg(msgContent, from);    }    /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    @SuppressWarnings("unchecked")    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        jPanel1 = new javax.swing.JPanel();        jPanel3 = new javax.swing.JPanel();        jScrollPane1 = new javax.swing.JScrollPane();        guiContent = new javax.swing.JTextPane();        jPanel2 = new javax.swing.JPanel();        jScrollPane2 = new javax.swing.JScrollPane();        guiWtsay = new javax.swing.JTextArea();        GUI_fontName = new javax.swing.JComboBox();        GUI_fontSize = new javax.swing.JComboBox();        GUI_fontStyle = new javax.swing.JComboBox();        GUI_fontColor = new javax.swing.JComboBox();        jButton1 = new javax.swing.JButton();        jButton2 = new javax.swing.JButton();        jButton3 = new javax.swing.JButton();        guiTips = new javax.swing.JLabel();        jMenuBar1 = new javax.swing.JMenuBar();        jMenu1 = new javax.swing.JMenu();        jMenu2 = new javax.swing.JMenu();        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                formWindowClosing(evt);            }        });        jPanel1.setLayout(new java.awt.BorderLayout());        guiContent.setEditable(false);        jScrollPane1.setViewportView(guiContent);        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);        jPanel3.setLayout(jPanel3Layout);        jPanel3Layout.setHorizontalGroup(            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 433, Short.MAX_VALUE)        );        jPanel3Layout.setVerticalGroup(            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 227, Short.MAX_VALUE)        );        jPanel1.add(jPanel3, java.awt.BorderLayout.CENTER);        guiWtsay.setColumns(20);        guiWtsay.setRows(5);        jScrollPane2.setViewportView(guiWtsay);        GUI_fontName.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "宋体", "黑体", "Dialog", "Gulim" }));        GUI_fontSize.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "14", "18", "22", "30", "36", "42" }));        GUI_fontStyle.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "常规", "斜体", "粗体", "粗斜体" }));        GUI_fontColor.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "黑色", "红色", "蓝色", "黄色", "绿色" }));        jButton1.setText("发送");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        jButton2.setText("取消");        jButton2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton2ActionPerformed(evt);            }        });        jButton3.setText("清空");        guiTips.setText(" ");        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);        jPanel2.setLayout(jPanel2Layout);        jPanel2Layout.setHorizontalGroup(            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(jPanel2Layout.createSequentialGroup()                .addContainerGap()                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addGroup(jPanel2Layout.createSequentialGroup()                        .addComponent(GUI_fontName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(GUI_fontSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(GUI_fontStyle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(GUI_fontColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addContainerGap(193, Short.MAX_VALUE))                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()                        .addComponent(guiTips, javax.swing.GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                        .addComponent(jButton3)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton2)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton1)                        .addGap(29, 29, 29))))            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 433, Short.MAX_VALUE)        );        jPanel2Layout.setVerticalGroup(            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(jPanel2Layout.createSequentialGroup()                .addContainerGap()                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(GUI_fontName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(GUI_fontSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(GUI_fontStyle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(GUI_fontColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                .addGap(8, 8, 8)                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jButton1)                    .addComponent(jButton2)                    .addComponent(jButton3)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -