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

📄 logindialog.java

📁 基于jxta的局域网P2P文件共享,可以实现局域网中的文件p2p共享,实现文件快速传输及交流
💻 JAVA
字号:
package connex.app.loginUI;

import java.awt.*;

import javax.swing.*;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.util.Hashtable;
import net.jxta.document.StructuredDocumentFactory;
import java.io.File;
import net.jxta.document.Element;
import net.jxta.document.StructuredDocument;
import net.jxta.document.MimeMediaType;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import connex.core.Presence.PresenceService;


public class LoginDialog extends JDialog {
    private BorderLayout borderLayout1 = new BorderLayout();
    private UserInfoP uip;
    private ConnctionInfoP conp;


    private JPanel jPanel2 = new JPanel();
    private JTabbedPane jTabbedPane2 = new JTabbedPane();
    private JButton jButton1 = new JButton();
    private JButton jButton2 = new JButton();
    private Hashtable<String, String> data = new Hashtable<String, String>();
    private boolean canceled = false;
    private boolean update = false;
    private JButton save = new JButton();
    public LoginDialog(Frame frame) {
        super(frame, "Configuration", true);

        try {
            jbInit();
        } catch (Exception ex) {
        }

    }

    public LoginDialog(Frame frame, boolean update) {
        super(frame, "Configuration", true);
        this.update = update;
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        if (update) {
            uip = new UserInfoP(true);
        } else {
            uip = new UserInfoP(false);
        }
        conp = new ConnctionInfoP();
        this.getContentPane().setLayout(borderLayout1);
        uip.setBorder(null);

        this.setSize(433, 393);
        jButton1.setText("Cancel");
        jButton1.addActionListener(new LoginDialog_jButton1_actionAdapter(this));
        jButton2.setText("OK");
        jButton2.addActionListener(new LoginDialog_jButton2_actionAdapter(this));
        jTabbedPane2.setBackground(Color.white);
        jTabbedPane2.setBorder(null);
        this.setResizable(false);
        this.addWindowListener(new LoginDialog_this_windowAdapter(this));
        save.setText("OK");
        save.addActionListener(new LoginDialog_save_actionAdapter(this));
        this.getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
       jPanel2.add(save);
        //jPanel2.add(jButton2);
        jPanel2.add(jButton1);

        jTabbedPane2.add(uip, "User info");
        jTabbedPane2.add(conp, "Network Interface");
        this.getContentPane().add(jTabbedPane2, java.awt.BorderLayout.CENTER);
        centerFrame();
        if (update) {
             jPanel2.remove(save);
             jPanel2.add(jButton2);
           // jButton2=null;
        }
    }

    private void centerFrame() {

        // Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = this.getSize();
        if (frameSize.height > screenSize.height) {
            frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
            frameSize.width = screenSize.width;
        }
        this.setLocation((screenSize.width - frameSize.width) / 2,
                         (screenSize.height - frameSize.height) / 2);
        this.setVisible(true);

    }


    public void jButton2_actionPerformed(ActionEvent e) {
        if ((uip.getNick().trim().equals("")) ||
            (uip.getMail().trim().equals("")) ||
            (new String(uip.getPass()).trim().equals("")) ||
            (new String(uip.getPass2()).trim().equals(""))) {
            System.err.println("please complete all fields" +
                               new String(uip.getPass()));
            return;
        }
        if (!new String(uip.getPass()).equals(new String(uip.getPass2()))) {
            System.err.println("wrong pass");
            return;
        }
        if (conp.getSpeed() == null) {
            jTabbedPane2.setSelectedComponent(conp);
            return;
        }

        saveInfo(this);
        if (update) {
            PresenceService.getInstance().profileUpdated();

            if (uip.isPicChanged()) {
                PresenceService.getInstance().pictureUpdated();
            }
        }
        this.dispose();

    }

    public UserInfoP getUserInfo() {
        return uip;
    }

    public ConnctionInfoP getConInfo() {
        return this.conp;
    }

    public String getMode() {
        return conp.getMode();
    }

    public boolean isCanceled() {
        return canceled;
    }

    public void this_windowClosing(WindowEvent e) {
        canceled = true;
        dispose();

    }

    public void jButton1_actionPerformed(ActionEvent e) {
        canceled = true;
        dispose();

    }

    private void saveInfo(LoginDialog d) {
        StructuredDocument doc = StructuredDocumentFactory.
                                 newStructuredDocument(new MimeMediaType("text",
                "xml"),
                "ConneX:ProfileAdvertisement");

        Element elem = doc.createElement("name", d.getUserInfo().getNick());
        doc.appendChild(elem);
        elem = doc.createElement("UserID", null);
        doc.appendChild(elem);
        elem = doc.createElement("email", d.getUserInfo().getMail());
        doc.appendChild(elem);

        elem = doc.createElement("speed", d.getConInfo().getSpeed());
        doc.appendChild(elem);

        elem = doc.createElement("mobility", null);
        doc.appendChild(elem);
        elem = doc.createElement("countery", d.getUserInfo().getCountry());
        doc.appendChild(elem);
        elem = doc.createElement("language", d.getUserInfo().getLanguage());
        doc.appendChild(elem);
        elem = doc.createElement("city", d.getUserInfo().getCity());
        doc.appendChild(elem);

        elem = doc.createElement("other", d.getUserInfo().getPhone());
        doc.appendChild(elem);
        try {
            FileOutputStream out = new FileOutputStream(".ConneX" +
                    File.separator + "ProfileAdv.adv");
            doc.sendToStream(out);
            out.close();

        } catch (Exception ex) {
            System.out.print("Profile not saved: " + ex.getMessage());
        }
        if(d.getUserInfo().isPicChanged()){
            try {

                ImageIO.write(d.getUserInfo().getPic(), "jpeg",
                              new File(System.getProperty("JXTA_HOME"),
                                       "MyImg.jpg"));

            } catch (IOException ex1) {
                System.out.println("can't save image : " + ex1.getMessage());
            }
        }
    }

    public void save_actionPerformed(ActionEvent e) {
        if ((uip.getNick().trim().equals("")) ||
            (uip.getMail().trim().equals(""))) {
            System.err.println("please complete all fields");
            return;
        }

        saveInfo(this);
        if (update) {
            PresenceService.getInstance().profileUpdated();

            if (uip.isPicChanged()) {
                PresenceService.getInstance().pictureUpdated();
            }
        }
        this.dispose();

    }


}


class LoginDialog_save_actionAdapter implements ActionListener {
    private LoginDialog adaptee;
    LoginDialog_save_actionAdapter(LoginDialog adaptee) {
        this.adaptee = adaptee; }

    public void actionPerformed(ActionEvent e) {
        adaptee.save_actionPerformed(e); }}


class LoginDialog_this_windowAdapter extends WindowAdapter {
    private LoginDialog adaptee;
    LoginDialog_this_windowAdapter(LoginDialog adaptee) {
        this.adaptee = adaptee;
    }

    public void windowClosing(WindowEvent e) {
        adaptee.this_windowClosing(e);
    }
}


class LoginDialog_jButton1_actionAdapter implements ActionListener {
    private LoginDialog adaptee;
    LoginDialog_jButton1_actionAdapter(LoginDialog adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}


class LoginDialog_jButton2_actionAdapter implements ActionListener {
    private LoginDialog adaptee;
    LoginDialog_jButton2_actionAdapter(LoginDialog adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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