聊天功能中的NullPointerException 公共最终类Mymain扩展了javax.swing.JFrame{ 公共静态字符串名称=”; 公共字符串msg; 公共静态字符串s=null; 公共静态字符串对讲机; XMPP连接; public My

聊天功能中的NullPointerException 公共最终类Mymain扩展了javax.swing.JFrame{ 公共静态字符串名称=”; 公共字符串msg; 公共静态字符串s=null; 公共静态字符串对讲机; XMPP连接; public My,java,swing,nullpointerexception,Java,Swing,Nullpointerexception,聊天功能中的NullPointerException 公共最终类Mymain扩展了javax.swing.JFrame{ 公共静态字符串名称=”; 公共字符串msg; 公共静态字符串s=null; 公共静态字符串对讲机; XMPP连接; public Mymain()抛出NullPointerException、IOException、XMPPException{ 初始化组件(); 欢迎.setText(name); } 公共Mymain(字符串用户名、字符串密码)抛出IOException、X

聊天功能中的NullPointerException
公共最终类Mymain扩展了javax.swing.JFrame{
公共静态字符串名称=”;
公共字符串msg;
公共静态字符串s=null;
公共静态字符串对讲机;
XMPP连接;
public Mymain()抛出NullPointerException、IOException、XMPPException{
初始化组件();
欢迎.setText(name);
}
公共Mymain(字符串用户名、字符串密码)抛出IOException、XMPPException、NullPointerException、InterruptedException、InvocationTargetException{
ConnectionConfiguration config=新的ConnectionConfiguration(“talk.google.com”,5222,“gmail.com”);
连接=新的XMPPConnection(配置);
connection.connect();
连接。登录(用户名、密码);
名称=用户名;
invokeLater(new Runnable()){
公开募捐{
试一试{
新建Mymain().setVisible(true);
}捕获(NullPointerException | IOException | XMPPException ex){
Logger.getLogger(Mymain.class.getName()).log(Level.SEVERE,null,ex);
}
}
});
}
public void begin_chat(字符串到)抛出IOException、xmppeexception、NullPointerException{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
Chat Chat=connection.getChatManager().createChat(to,new MessageListener()){
@凌驾
public void processMessage(聊天、消息消息消息){
if(msg.getType()==Message.Type.chat){
if(msg!=null&&msg.getBody()!=null){
System.out.println(chat.getParticipant()+“表示:
+(msg!=null?msg.getBody():“null”);
}
}
}
});
而((msg=br.readLine())!=null){
发送消息(msg);
}
如果(消息等于(“再见”)){
连接断开();
}
}
@抑制警告(“未选中”)
//                           
私有组件(){
jLabel2=newjavax.swing.JLabel();
jPanel1=newjavax.swing.JPanel();
jLabel1=newjavax.swing.JLabel();
welcome=newjavax.swing.JLabel();
jSeparator1=newjavax.swing.jsepator();
jLabel3=newjavax.swing.JLabel();
tf1=newjavax.swing.JTextField();
jLabel2.setText(“jLabel2”);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
标题(“Ch@t我!);
setCursor(新java.awt.Cursor(java.awt.Cursor.DEFAULT_Cursor));
可设置大小(假);
setBackground(新java.awt.Color(0255204));
jLabel1.setFont(新的java.awt.Font(“Comic Sans MS”,1,18));//NOI18N
jLabel1.setText(“Heya,”);
welcome.setFont(新java.awt.Font(“Calibri”,1,18));//NOI18N
setBackground(新java.awt.Color(0,0,0));
set前台(新java.awt.Color(0,0,0));
jLabel3.setFont(新的java.awt.Font(“Comic Sans MS”,1,18));//NOI18N
jLabel3.setText(“好友在线”);
setFont(新的java.awt.Font(“Comic Sans MS”,1,14));//NOI18N
addActionListener(新java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
TF1执行的操作(evt);
}
});
javax.swing.GroupLayout jPanel1Layout=新的javax.swing.GroupLayout(jPanel1);
setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,jPanel1Layout.createSequentialGroup()
.addContainerGap(96,简称最大值)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(欢迎使用,javax.swing.GroupLayout.PREFERRED\u SIZE,389,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(67,67,67))
.addComponent(jSeparator1)
.addGroup(jpanellayout.createSequentialGroup()
.addGap(57,57,57)
.addComponent(jLabel3,javax.swing.GroupLayout.PREFERRED\u SIZE,130,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT\u SIZE,Short.MAX\u VALUE))
.addGroup(jpanellayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT\u SIZE,Short.MAX\u值)
.addComponent(tf1,javax.swing.GroupLayout.PREFERRED\u SIZE,208,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(390390390390390))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jpanellayout.createSequentialGroup()
.addContainerGap(19,简称最大值)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED\u SIZE,24,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addComponent(欢迎使用,javax.swing.GroupLayout.PREFERRED_SIZE,24,javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18,18,18)
.addComponent(jSeparator1,javax.swing.GroupLayout.PREFERRED\u SIZE,10,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(18,18,18)
.addComponent(jLabel3,javax.swing.GroupLayout.PREFERRED\u SIZE,32,javax.swing.GroupLayout.PREFERRED\u SIZE)
.addGap(18,18,18)
.addComponent(tf1,javax.swing.GroupLayout.PREFERRED\u SIZE,28,javax.swing.GroupLayout.PREFERRED\u SIZE)
public final class Mymain extends javax.swing.JFrame {

    public static String name = "";
    public String msg;
    public static String s = null;
    public static String talkto;
    XMPPConnection connection;

    public Mymain() throws NullPointerException, IOException, XMPPException {
        initComponents();
        welcome.setText(name);

    }

    public Mymain(String username, String password) throws IOException, XMPPException, NullPointerException, InterruptedException, InvocationTargetException {
        ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
        connection = new XMPPConnection(config);
        connection.connect();
        connection.login(username, password);
        name = username;

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                try {
                    new Mymain().setVisible(true);
                } catch (NullPointerException | IOException | XMPPException ex) {
                    Logger.getLogger(Mymain.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });

    }

    public void begin_chat(String to) throws IOException, XMPPException, NullPointerException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        Chat chat = connection.getChatManager().createChat(to, new MessageListener() {

            @Override
            public void processMessage(Chat chat, Message msg) {
                if (msg.getType() == Message.Type.chat) {
                    if (msg != null && msg.getBody() != null) {
                        System.out.println(chat.getParticipant() + " says: "
                                + (msg != null ? msg.getBody() : "NULL"));
                    }
                }
            }
        });
        while ((msg = br.readLine()) != null) {

            chat.sendMessage(msg);
        }
        if (msg.equals("bye")) {
            connection.disconnect();
        }
    }

    @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel2 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        welcome = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel3 = new javax.swing.JLabel();
        tf1 = new javax.swing.JTextField();

        jLabel2.setText("jLabel2");

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Ch@t Me!");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setResizable(false);

        jPanel1.setBackground(new java.awt.Color(0, 255, 204));

        jLabel1.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
        jLabel1.setText("Heya,");

        welcome.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N

        jSeparator1.setBackground(new java.awt.Color(0, 0, 0));
        jSeparator1.setForeground(new java.awt.Color(0, 0, 0));

        jLabel3.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
        jLabel3.setText("Buddies Online");

        tf1.setFont(new java.awt.Font("Comic Sans MS", 1, 14)); // NOI18N
        tf1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tf1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(96, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(welcome, javax.swing.GroupLayout.PREFERRED_SIZE, 389, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(67, 67, 67))
                .addComponent(jSeparator1)
                .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(57, 57, 57)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(tf1, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(390, 390, 390))
                );
        jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap(19, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(welcome, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(tf1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(235, 235, 235))
                );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
                );
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
                );

        pack();
    }// </editor-fold>                        

    private void tf1ActionPerformed(java.awt.event.ActionEvent evt) {

        if (!(talkto = tf1.getText()).equals("")) {
            try {
                begin_chat(talkto);
            } catch (IOException | XMPPException | NullPointerException ex) {
                Logger.getLogger(Mymain.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    }

    public static void main(String args[]) {
    }
// Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JSeparator jSeparator1;
    public static javax.swing.JTextField tf1;
    public static javax.swing.JLabel welcome;
// End of variables declaration                   
}
public Mymain(String username, String password) throws IOException, XMPPException, NullPointerException, InterruptedException, InvocationTargetException {
    ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    connection = new XMPPConnection(config);
    connection.connect();
    connection.login(username, password);
    name = username;

    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                // This is a new instance of MyMain, so the connection
                // you just created is relevant...
                new Mymain().setVisible(true);
            } catch (NullPointerException | IOException | XMPPException ex) {
                Logger.getLogger(Mymain.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });
}
public Mymain() throws NullPointerException, IOException, XMPPException {
    initComponents();
    welcome.setText(name);
}
public Mymain(String username, String password) throws IOException, XMPPException, NullPointerException, InterruptedException, InvocationTargetException {
    initComponents();
    welcome.setText(name);

    ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    connection = new XMPPConnection(config);
    connection.connect();
    connection.login(username, password);
    name = username;

    setVisible(true);
}
public Mymain(XMPPConnection connection) {
    this.connection = connection;
    initComponents();
    setVisible(true);
}

try {

    String username, String password) throws IOException, XMPPException, NullPointerException, InterruptedException, InvocationTargetException {
    ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    connection = new XMPPConnection(config);
    connection.connect();
    connection.login(username, password);
    new MyMain(connection);
} catch (IOException | XMPPException | NullPointerException | InterruptedException | InvocationTargetException exp) {
    exp.printStackTrace();
}
public static void main(String args[]) {
    try {
        System.out.println("Connecting...");
        ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
        final XMPPConnection connection = new XMPPConnection(config);
        connection.connect();
        String userName = ...;
        String password = ...;
        connection.login(userName, password);

        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                System.out.println("Connected...");
                Mymain mymain = new Mymain(connection);
            }
        });
    } catch (XMPPException exp) {
        exp.printStackTrace();
    }
}