亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? connectdialog.java

?? 用JAVA實現(xiàn)的ICHAT源代碼!希望對大家有用!
?? JAVA
字號:
/*
 * @(#)ConnectDialog.java
 * Created on 2005-9-13
 * iChat LE. Copyright AllenStudio. All Rights Reserved
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package ui;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;

import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;

import core.ConnectionListener;
import core.ConnectionModel;

/**
 * A dialog that let the user to connect a friend.
 * 
 * @author Allen Chue
 */
public class ConnectDialog extends JDialog implements ConnectionListener {

    private static final long serialVersionUID = 2222;

    public static void main(String[] args) {
        try {
            UIManager
                    .setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
            Font f = new Font("Dialog", Font.PLAIN, 12);
            UIManager.put("Label.font", f);
            UIManager.put("Buttton.font", f);
            UIManager.put("TextArea.font", f);
            
            ConnectDialog dialog = new ConnectDialog();
            dialog.setLocationRelativeTo(null);
            dialog.setVisible(true);
        } catch (Throwable t) {
            System.out.println("Oops! Uncaught exception!");
            System.exit(-10);
        }
    }

    private JPanel jContentPane = null;

    private JPanel centerPanel = null;

    private JPanel buttonPanel = null;

    private JButton connectButton = null;

    private JButton exitButton = null;

    private JPanel infoPane = null;

    private JPanel statusPane = null;

    private JLabel addressLabel = null;

    private JTextField nameField = null;

    private JLabel nameLabel = null;

    private JTextField addresssField = null;

    private JLabel conServerLabel = null;

    private JLabel conClientLabel = null;

    private ConnectionModel manager;// = ConnectionModel.getInstance();

    /**
     * This is the default constructor
     */
    public ConnectDialog() {

        initialize();
        manager = ConnectionModel.getInstance();
        manager.addConnectionListener(this);
    }

    public ConnectDialog(Frame owner) {
        super(owner);

        initialize();

        manager.addConnectionListener(this);

    }

    /**
     * Overriden method.<br>
     * Sets the dialog to be visible, meanwhile uses a thread to repeatedly
     * accept remote connections until a connection from a remote client is set
     * up.
     * 
     * @param b
     *            true to set the dialog visible, while false to hide it
     */
    @Override
    public void setVisible(boolean b) {
        super.setVisible(b);
        Thread acceptThread = new Thread() {
            public void run() {
                while (!manager.acceptConnection()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                    }
                }
            }

        };
        acceptThread.setPriority(3);
        acceptThread.start();
    }

    /**
     * This method initializes this
     */
    private void initialize() {
        this.setSize(384, 204);
        this.setResizable(false);
        this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        this.setTitle(UIResources.getString("dialog.title"));
        this.setContentPane(getJContentPane());
        
        this.getRootPane().setDefaultButton(connectButton);
    }

    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getCenterPanel(), java.awt.BorderLayout.CENTER);
            jContentPane.add(getButtonPanel(), java.awt.BorderLayout.SOUTH);
        }
        return jContentPane;
    }

    /**
     * This method initializes centerPanel
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getCenterPanel() {
        if (centerPanel == null) {
            GridLayout gridLayout1 = new GridLayout();
            gridLayout1.setRows(2);
            gridLayout1.setColumns(1);
            centerPanel = new JPanel();
            centerPanel.setLayout(gridLayout1);
            centerPanel.add(getInfoPane(), null);
            centerPanel.add(getStatusPane(), null);
        }
        return centerPanel;
    }

    /**
     * This method initializes buttonPanel
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getButtonPanel() {
        if (buttonPanel == null) {
            FlowLayout flowLayout = new FlowLayout();
            flowLayout.setHgap(10);
            flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);
            buttonPanel = new JPanel();
            buttonPanel.setLayout(flowLayout);
            buttonPanel.add(getConnectButton(), null);
            buttonPanel.add(getExitButton(), null);
        }
        return buttonPanel;
    }

    /**
     * This method initializes okButton
     * 
     * @return javax.swing.JButton
     */
    private JButton getConnectButton() {
        if (connectButton == null) {
            connectButton = new JButton();
            connectButton.setText(UIResources.getString("dialog.connectButton"));
            connectButton.setMnemonic(java.awt.event.KeyEvent.VK_C);
            connectButton.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent e) {

                            if ("".equals(nameField.getText())) {
                                System.out.println("Empty");

                                JOptionPane.showMessageDialog(
                                        ConnectDialog.this,
                                        UIResources.getString("dialog.emptyNameErrorMsg"),
                                        UIResources.getString("dialog.errorTitle"),
                                        JOptionPane.WARNING_MESSAGE);
                            }

                            else {
                                nameField.setEnabled(false);
                                addresssField.setEnabled(false);
                                connectButton.setEnabled(false);
                                exitButton.setEnabled(false);
                                if (!manager.connectToFriend(addresssField
                                        .getText(), nameField.getText())) {
                                    JOptionPane.showMessageDialog(
                                                    ConnectDialog.this,
                                                    UIResources.getString("dialog.conAsClientErrorMsg"),
                                                    UIResources.getString("dialog.errorTitle"),
                                                    JOptionPane.WARNING_MESSAGE);
                                    nameField.setEnabled(true);
                                    addresssField.setEnabled(true);
                                    connectButton.setEnabled(true);
                                }
                                exitButton.setEnabled(true);
                            }
                        }
                    });
        }
        return connectButton;
    }

    /**
     * This method initializes cancelButton
     * 
     * @return javax.swing.JButton
     */
    private JButton getExitButton() {
        if (exitButton == null) {
            exitButton = new JButton();
            exitButton.setText(UIResources.getString("dialog.exitButton"));
            exitButton.setMnemonic(java.awt.event.KeyEvent.VK_X);
            exitButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    System.exit(0);
                }
            });
        }
        return exitButton;
    }

    public String getConnectAddress() {
        return nameField.getText();
    }

    /**
     * This method initializes infoPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getInfoPane() {
        if (infoPane == null) {
            nameLabel = new JLabel();
            nameLabel.setText(UIResources.getString("dialog.displayNameLabel") + ": ");
            addressLabel = new JLabel();
            addressLabel.setText(UIResources.getString("dialog.remoteAddressLabel") + ": ");
            GridLayout gridLayout = new GridLayout();
            gridLayout.setRows(2);
            gridLayout.setHgap(5);
            gridLayout.setVgap(6);
            gridLayout.setColumns(2);
            infoPane = new JPanel();
            infoPane.setLayout(gridLayout);
            infoPane.setBorder(javax.swing.BorderFactory.createTitledBorder(
                    null, UIResources.getString("dialog.infoTitle"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION,
                    new java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
                    new java.awt.Color(51, 51, 51)));
            infoPane.add(addressLabel, null);
            infoPane.add(getAddresssField(), null);
            infoPane.add(nameLabel, null);
            infoPane.add(getNameField(), null);
            nameLabel.setLabelFor(addresssField);
        }
        return infoPane;
    }

    /**
     * This method initializes statusPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getStatusPane() {
        if (statusPane == null) {
            conClientLabel = new JLabel();
            conClientLabel.setText(UIResources.getString("dialog.conAsClientLabel"));
            conClientLabel.setIcon(new ImageIcon(getClass().getResource(
                    "/ui/resources/not_ok.gif")));//$NON-NLS-1$
            conServerLabel = new JLabel();
            conServerLabel.setText(UIResources.getString("dialog.conAsServerLabel"));
            conServerLabel.setIcon(new ImageIcon(getClass().getResource(
                    "/ui/resources/not_ok.gif")));//$NON-NLS-1$
            conServerLabel.setCursor(new java.awt.Cursor(
                    java.awt.Cursor.DEFAULT_CURSOR));
            statusPane = new JPanel();
            statusPane.setLayout(new BoxLayout(getStatusPane(),
                    BoxLayout.Y_AXIS));
            statusPane.setBorder(javax.swing.BorderFactory.createTitledBorder(
                    null, UIResources.getString("dialog.statusTitle"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null,
                    null));
            statusPane.add(conServerLabel, null);
            statusPane.add(conClientLabel, null);
        }
        return statusPane;
    }

    /**
     * This method initializes addressTextField
     * 
     * @return javax.swing.JTextField
     */
    private JTextField getNameField() {
        if (nameField == null) {
            nameField = new JTextField();
            nameField.setColumns(15);
        }
        return nameField;
    }

    /**
     * This method initializes nameField
     * 
     * @return javax.swing.JTextField
     */
    private JTextField getAddresssField() {
        if (addresssField == null) {
            addresssField = new JTextField();
        }
        return addresssField;
    }

    /**
     * 
     * 
     */
    private void goChat() {
        String selfName = nameField.getText();
        String friendName = manager.receive();
        dispose();
        ChatWindow chatWindow = new ChatWindow(selfName, friendName);
        chatWindow.setLocation(this.getLocation());
        chatWindow.setVisible(true);
    }

    public void connectionAsServerChanged(boolean b) {
        if (b) {
            // Connection accepted
//            SwingUtilities.invokeLater(new Runnable() {
//                public void run() {
                    conServerLabel.setIcon(new ImageIcon(getClass()
                            .getResource("/ui/resources/ok.gif")));
//                }
//            });
            if (manager.isConnectedAsClient()) {
                // Both connection OK!
                goChat();
            }
        } else {
            System.out.println("Connection as a server failed.");//$NON-NLS-1$
        }
    }

    public void connectionAsClientChanged(boolean b) {
        if (b) {
            // Remote connection succeeds
//            SwingUtilities.invokeLater(new Runnable() {
//                public void run() {
                    conClientLabel.setIcon(new ImageIcon(getClass()
                            .getResource("/ui/resources/ok.gif")));
//                }
//            });
            if (manager.isConnectedAsServer()) {
                // Both connection OK!
                goChat();
            }

        } else {
            System.out.println("Connection as a client failed.");//$NON-NLS-1$
        }
    }
} // @jve:decl-index=0:visual-constraint="10,10"

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区久久| 自拍偷拍国产亚洲| 国产精品一区二区不卡| 久久夜色精品国产噜噜av| 国产一区二区三区久久悠悠色av| 精品国产免费一区二区三区四区| 极品美女销魂一区二区三区| 国产亚洲午夜高清国产拍精品 | 欧美一级久久久| 麻豆国产精品视频| 国产日韩高清在线| 一本到三区不卡视频| 图片区小说区国产精品视频| 日韩欧美国产一区在线观看| 国产一区二三区| 亚洲精品乱码久久久久久黑人| 欧美三电影在线| 精品一区二区三区欧美| 国产欧美一二三区| 欧美三级三级三级| 激情综合网最新| 亚洲人亚洲人成电影网站色| 欧美视频中文字幕| 国产美女主播视频一区| 一区二区三区日韩精品视频| 欧美日韩成人综合| 国产在线不卡一区| 亚洲免费高清视频在线| 91精品啪在线观看国产60岁| 丁香激情综合国产| 色先锋久久av资源部| 日韩精品免费专区| 中文字幕 久热精品 视频在线| 欧美日韩国产123区| 国产成人精品午夜视频免费| 亚洲国产视频直播| 国产精品妹子av| 91精品国产综合久久精品图片| 丁香婷婷深情五月亚洲| 日韩av电影天堂| 一区二区三区四区在线| 久久婷婷一区二区三区| 欧美日韩国产综合视频在线观看| 国产精品91一区二区| 丝袜诱惑亚洲看片| 成人免费在线观看入口| 欧美精品一区二区三区久久久 | 欧美精品色综合| av不卡一区二区三区| 激情欧美日韩一区二区| 亚洲综合清纯丝袜自拍| 国产精品福利在线播放| 久久久天堂av| 日韩欧美国产1| 在线播放视频一区| 欧美性淫爽ww久久久久无| aaa亚洲精品| 国产成人在线视频免费播放| 日本成人在线电影网| 亚洲国产一区二区视频| 一区二区三区在线观看国产 | 欧美高清hd18日本| 91成人在线免费观看| 97se亚洲国产综合自在线观| 国产一区二区精品久久| 狠狠色伊人亚洲综合成人| 免费成人在线观看视频| 日韩黄色免费电影| 图片区小说区区亚洲影院| 午夜精品爽啪视频| 亚洲高清免费视频| 亚洲大片在线观看| 亚洲成人7777| 五月天视频一区| 日本大胆欧美人术艺术动态| 午夜亚洲福利老司机| 亚洲午夜激情网站| 午夜电影一区二区三区| 日韩国产高清在线| 免费视频最近日韩| 国产一区激情在线| 国产成人精品亚洲777人妖 | 国内成+人亚洲+欧美+综合在线| 精品在线你懂的| 国产高清亚洲一区| 91在线免费播放| 欧美日韩一区三区四区| 欧美精品v日韩精品v韩国精品v| 欧美久久久久久蜜桃| 欧美xxxxx裸体时装秀| 久久你懂得1024| 综合中文字幕亚洲| 亚洲午夜一区二区| 青青草国产精品亚洲专区无| 韩国在线一区二区| 大美女一区二区三区| 91福利社在线观看| 制服丝袜激情欧洲亚洲| 2014亚洲片线观看视频免费| 国产欧美日韩视频在线观看| 亚洲欧美一区二区三区孕妇| 亚洲v中文字幕| 国产一区 二区| 91网页版在线| 日韩午夜在线观看视频| 久久精品夜色噜噜亚洲aⅴ| 中文字幕巨乱亚洲| 亚洲线精品一区二区三区八戒| 免费高清不卡av| 99久久精品情趣| 欧美色综合天天久久综合精品| 欧美一区二区视频观看视频| 日韩av中文字幕一区二区| 韩国成人在线视频| 91免费观看视频在线| 91精品国产入口| 亚洲国产岛国毛片在线| 视频一区在线视频| 成人免费三级在线| 欧美日韩国产不卡| 国产精品久久毛片av大全日韩| 一级特黄大欧美久久久| 精品无人码麻豆乱码1区2区| 91蜜桃免费观看视频| 日韩精品在线一区| 亚洲精品国产无天堂网2021| 激情图片小说一区| 欧美性大战久久久久久久蜜臀| 久久免费精品国产久精品久久久久 | 亚洲黄色尤物视频| 国产一区二区在线免费观看| 欧美系列日韩一区| 国产精品免费丝袜| 捆绑紧缚一区二区三区视频| 91黄色免费版| 国产精品女主播av| 麻豆精品在线观看| 精品视频资源站| 亚洲图片欧美激情| 国产99精品国产| 精品乱人伦小说| 婷婷中文字幕综合| 在线观看精品一区| 日韩一区在线看| 粉嫩蜜臀av国产精品网站| 欧美一卡2卡三卡4卡5免费| 亚洲一区二区精品视频| 波多野结衣精品在线| 久久精品水蜜桃av综合天堂| 青娱乐精品视频在线| 欧美老年两性高潮| 亚洲成人动漫av| 欧美性videosxxxxx| 亚洲伊人色欲综合网| 色综合中文字幕| 亚洲婷婷综合久久一本伊一区| 国产91精品在线观看| 国产丝袜在线精品| 国产成人丝袜美腿| 国产日产欧美一区| 大胆欧美人体老妇| 国产精品欧美一级免费| 成人丝袜高跟foot| 国产精品嫩草影院com| 丁香一区二区三区| 中文字幕亚洲一区二区av在线 | 欧美大白屁股肥臀xxxxxx| 天天影视涩香欲综合网| 欧美三级资源在线| 视频在线观看一区| 欧美一级日韩免费不卡| 免费精品视频最新在线| 精品国产亚洲在线| 国产美女视频91| 中文字幕av一区二区三区| 波多野结衣精品在线| 综合久久久久综合| 欧美色图第一页| 另类综合日韩欧美亚洲| 久久久久免费观看| jlzzjlzz欧美大全| 亚洲综合在线免费观看| 91精品福利在线一区二区三区| 久久99久久久欧美国产| 国产女人水真多18毛片18精品视频 | 色婷婷综合在线| 亚洲h动漫在线| 日韩三级免费观看| 国产成人一级电影| 一区二区三区四区激情| 欧美中文字幕一区二区三区 | 亚洲一区二区三区四区在线观看 | 国产女人aaa级久久久级| 91在线观看免费视频| 亚洲福利一二三区| 26uuu色噜噜精品一区二区| www..com久久爱| 午夜精品久久久久久久久| 精品国产乱码久久久久久久| 波多野结衣亚洲|