· 9 years ago · Aug 14, 2017, 02:38 PM
1import java.awt.EventQueue;
2
3import javax.swing.JFrame;
4import javax.swing.JOptionPane;
5
6import java.awt.GridLayout;
7import java.awt.GridBagLayout;
8import javax.swing.JButton;
9import java.awt.GridBagConstraints;
10import javax.swing.AbstractAction;
11import java.awt.event.ActionEvent;
12import javax.swing.Action;
13import java.awt.Insets;
14import java.awt.event.ActionListener;
15import javax.swing.JTextField;
16import javax.swing.JLabel;
17
18import org.jivesoftware.smack.ConnectionConfiguration;
19import org.jivesoftware.smack.XMPPConnection;
20import org.jivesoftware.smack.XMPPException;
21import org.jivesoftware.smack.packet.Presence;
22
23public class GTalk {
24
25 private JFrame frame;
26 private JTextField txtEnterYourUsername;
27 private JTextField txtEnterYourPassword;
28 private JTextField txtEnterYourUsername_1;
29 private JTextField txtEnterYourPassword_1;
30
31 XMPPConnection connection;
32
33 /**
34 * Launch the application.
35 */
36 public static void main(String[] args) {
37 EventQueue.invokeLater(new Runnable() {
38 public void run() {
39 try {
40 GTalk login = new GTalk();
41 login.frame.setVisible(true);
42 } catch (Exception e) {
43 e.printStackTrace();
44 }
45 }
46 });
47 }
48
49 public String connect() {
50 ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
51 connection = new XMPPConnection(config);
52
53 try {
54 connection.connect();
55 } catch (XMPPException e) {
56 // TODO Auto-generated catch block
57 e.printStackTrace();
58 }
59
60
61 try {
62 connection.login(txtEnterYourUsername_1.getText(), txtEnterYourPassword_1.getText());
63 //connection.login("testingtalk118", "broksonic");
64 Presence presence = new Presence(Presence.Type.available);
65 connection.sendPacket(presence);
66 } catch (XMPPException e) {
67 // TODO Auto-generated catch block
68 e.printStackTrace();
69 }
70
71 return "two";
72 }
73
74 /**
75 * Create the application.
76 */
77 public GTalk() {
78 initialize();
79 }
80
81 /**
82 * Initialize the contents of the frame.
83 */
84 private void initialize() {
85 frame = new JFrame();
86 frame.setBounds(100, 100, 300, 150);
87 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
88 GridBagLayout gridBagLayout = new GridBagLayout();
89 gridBagLayout.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0};
90 gridBagLayout.rowHeights = new int[]{0, 0, 0, 0, 0};
91 gridBagLayout.columnWeights = new double[]{0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
92 gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
93 frame.getContentPane().setLayout(gridBagLayout);
94
95 JLabel lblUsername = new JLabel("Username:");
96 GridBagConstraints gbc_lblUsername = new GridBagConstraints();
97 gbc_lblUsername.gridwidth = 3;
98 gbc_lblUsername.insets = new Insets(0, 0, 5, 5);
99 gbc_lblUsername.gridx = 0;
100 gbc_lblUsername.gridy = 1;
101 frame.getContentPane().add(lblUsername, gbc_lblUsername);
102
103 txtEnterYourUsername_1 = new JTextField();
104 txtEnterYourUsername_1.setText("Enter your username");
105 GridBagConstraints gbc_txtEnterYourUsername_1 = new GridBagConstraints();
106 gbc_txtEnterYourUsername_1.gridwidth = 6;
107 gbc_txtEnterYourUsername_1.insets = new Insets(0, 0, 5, 5);
108 gbc_txtEnterYourUsername_1.fill = GridBagConstraints.HORIZONTAL;
109 gbc_txtEnterYourUsername_1.gridx = 3;
110 gbc_txtEnterYourUsername_1.gridy = 1;
111 frame.getContentPane().add(txtEnterYourUsername_1, gbc_txtEnterYourUsername_1);
112 txtEnterYourUsername_1.setColumns(10);
113
114 JLabel lblPassword = new JLabel("Password:");
115 GridBagConstraints gbc_lblPassword = new GridBagConstraints();
116 gbc_lblPassword.gridwidth = 3;
117 gbc_lblPassword.insets = new Insets(0, 0, 5, 5);
118 gbc_lblPassword.gridx = 0;
119 gbc_lblPassword.gridy = 2;
120 frame.getContentPane().add(lblPassword, gbc_lblPassword);
121
122 txtEnterYourPassword_1 = new JTextField();
123 txtEnterYourPassword_1.setText("Enter your password");
124 GridBagConstraints gbc_txtEnterYourPassword_1 = new GridBagConstraints();
125 gbc_txtEnterYourPassword_1.gridwidth = 6;
126 gbc_txtEnterYourPassword_1.insets = new Insets(0, 0, 5, 5);
127 gbc_txtEnterYourPassword_1.fill = GridBagConstraints.HORIZONTAL;
128 gbc_txtEnterYourPassword_1.gridx = 3;
129 gbc_txtEnterYourPassword_1.gridy = 2;
130 frame.getContentPane().add(txtEnterYourPassword_1, gbc_txtEnterYourPassword_1);
131 txtEnterYourPassword_1.setColumns(10);
132
133 JButton btnConnect = new JButton("Connect");
134 GridBagConstraints gbc_btnNewButton = new GridBagConstraints();
135 gbc_btnNewButton.gridwidth = 3;
136 gbc_btnNewButton.insets = new Insets(0, 0, 0, 5);
137 gbc_btnNewButton.gridx = 3;
138 gbc_btnNewButton.gridy = 3;
139 frame.getContentPane().add(btnConnect, gbc_btnNewButton);
140 btnConnect.addActionListener(new ActionListener() {
141 public void actionPerformed(ActionEvent arg0) {
142 String status = connect();
143 if(status.equals("success")) {
144 // connect
145 // close window
146 }
147 else {
148 JOptionPane.showMessageDialog(null, status);
149 }
150 }
151 });
152 }
153}