// --------------------------------------------------------------------------- // jWebSocket - Copyright (c) 2010 Innotrade GmbH // --------------------------------------------------------------------------- // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License as published by the // Free Software Foundation; either version 3 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 Lesser General Public License for // more details. // You should have received a copy of the GNU Lesser General Public License along // with this program; if not, see <http://www.gnu.org/licenses/lgpl.html>. // --------------------------------------------------------------------------- /* * TestDialog.java * * Created on Mar 15, 2010, 2:55:47 PM */ package org.jwebsocket.ui; import java.awt.Toolkit; import javax.swing.ImageIcon; import org.jwebsocket.api.WebSocketClientEvent; import org.jwebsocket.api.WebSocketClientTokenListener; import org.jwebsocket.api.WebSocketPacket; import org.jwebsocket.client.token.BaseTokenClient; import org.jwebsocket.config.JWebSocketClientConstants; import org.jwebsocket.config.JWebSocketCommonConstants; import org.jwebsocket.kit.WebSocketException; import org.jwebsocket.token.Token; /** * Java Swing client for jWebSocket * @author aschulze * @version $Id:$ */ public class TestDialog extends javax.swing.JFrame implements WebSocketClientTokenListener { private static final long serialVersionUID = 1L; private BaseTokenClient client = null; private int prevStatus = BaseTokenClient.DISCONNECTED; private ImageIcon icoDisconnected = null; private ImageIcon icoConnected = null; private ImageIcon icoAuthenticated = null; /** Creates new form TestDialog */ public TestDialog() { initComponents(); try { lblTitle.setText(lblTitle.getText().replace("{ver}", JWebSocketClientConstants.VERSION_STR)); client = new BaseTokenClient(); // uncomment following line to test #03 draft // (nothing else is required, because server-side orients itself according to client request) //client.setDraft(JWebSocketCommonConstants.WS_DRAFT_03); client.addListener(this); icoDisconnected = new ImageIcon(getClass().getResource("/images/disconnected.png")); icoConnected = new ImageIcon(getClass().getResource("/images/connected.png")); icoAuthenticated = new ImageIcon(getClass().getResource("/images/authenticated.png")); checkStatusIcon(); } catch (Exception ex) { System.out.println(ex.getClass().getSimpleName() + ": " + ex.getMessage()); } } private void checkStatusIcon() { int lStatus = BaseTokenClient.DISCONNECTED; if (client.getUsername() != null) { lStatus = BaseTokenClient.AUTHENTICATED; } else if (client.isConnected()) { lStatus = BaseTokenClient.CONNECTED; } String lClientId = client.getClientId(); lblStatus.setText("Client-Id: " + (lClientId != null ? lClientId : "-")); if (lStatus != prevStatus) { prevStatus = lStatus; if (lStatus == BaseTokenClient.AUTHENTICATED) { lblStatus.setIcon(icoAuthenticated); } else if (lStatus == BaseTokenClient.CONNECTED) { lblStatus.setIcon(icoConnected); } else { lblStatus.setIcon(icoDisconnected); } } } @Override public void processOpened(WebSocketClientEvent aEvent) { txaLog.append("Opened.\n"); checkStatusIcon(); } @Override public void processPacket(WebSocketClientEvent aEvent, WebSocketPacket aPacket) { // ignore that here } @Override public void processToken(WebSocketClientEvent aEvent, Token aToken) { txaLog.append("Received Token: " + aToken.toString() + "\n"); checkStatusIcon(); } @Override public void processClosed(WebSocketClientEvent aEvent) { txaLog.append("Closed.\n"); checkStatusIcon(); } /** * 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" // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; lblTitle = new javax.swing.JLabel(); bntSend = new javax.swing.JButton(); scpTextArea = new javax.swing.JScrollPane(); txaLog = new javax.swing.JTextArea(); btnClearLog = new javax.swing.JButton(); txfMessage = new javax.swing.JTextField(); btnConnect = new javax.swing.JButton(); btnDisconnect = new javax.swing.JButton(); btnSend = new javax.swing.JButton(); btnBroadcast = new javax.swing.JButton(); btnPing = new javax.swing.JButton(); btnShutdown = new javax.swing.JButton(); btnLogin = new javax.swing.JButton(); btnLogout = new javax.swing.JButton(); txfTarget = new javax.swing.JTextField(); lblTarget = new javax.swing.JLabel(); lblMessage = new javax.swing.JLabel(); lblStatus = new javax.swing.JLabel(); btnGetSessions = new javax.swing.JButton(); btnGetUserRights = new javax.swing.JButton(); btnGetUserRoles = new javax.swing.JButton(); lblURL = new javax.swing.JLabel(); txfURL = new javax.swing.JTextField(); mnbMain = new javax.swing.JMenuBar(); pmnFile = new javax.swing.JMenu(); mniExit = new javax.swing.JMenuItem(); mniPreferences = new javax.swing.JMenuItem(); pmnTests = new javax.swing.JMenu(); mniConnect = new javax.swing.JMenuItem(); mniDisconnect = new javax.swing.JMenuItem(); mniSend = new javax.swing.JMenuItem(); mniBroadcast = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("jWebSocket Fundamental Demo"); setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/Synapso16x16.png"))); setMinimumSize(new java.awt.Dimension(640, 480)); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { formWindowClosing(evt); } }); getContentPane().setLayout(new java.awt.GridBagLayout()); lblTitle.setFont(new java.awt.Font("Arial", 1, 16)); lblTitle.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Synapso32x32.png"))); // NOI18N lblTitle.setText("jWebSocket Java Client Demo {ver}"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(lblTitle, gridBagConstraints); bntSend.setText("Send"); bntSend.setMaximumSize(new java.awt.Dimension(100, 20)); bntSend.setMinimumSize(new java.awt.Dimension(100, 20)); bntSend.setPreferredSize(new java.awt.Dimension(100, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 8; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(bntSend, gridBagConstraints); txaLog.setColumns(20); txaLog.setRows(5); scpTextArea.setViewportView(txaLog); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 4; gridBagConstraints.gridheight = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(scpTextArea, gridBagConstraints); btnClearLog.setText("Clear"); btnClearLog.setMaximumSize(new java.awt.Dimension(100, 20)); btnClearLog.setMinimumSize(new java.awt.Dimension(100, 20)); btnClearLog.setPreferredSize(new java.awt.Dimension(100, 20)); btnClearLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnClearLogActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 7; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(btnClearLog, gridBagConstraints); txfMessage.setText("Message"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(txfMessage, gridBagConstraints); btnConnect.setText("Connect"); btnConnect.setMaximumSize(new java.awt.Dimension(100, 20)); btnConnect.setMinimumSize(new java.awt.Dimension(100, 20)); btnConnect.setPreferredSize(new java.awt.Dimension(100, 20)); btnConnect.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnConnectActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(btnConnect, gridBagConstraints); btnDisconnect.setText("Disconnect"); btnDisconnect.setMaximumSize(new java.awt.Dimension(100, 20)); btnDisconnect.setMinimumSize(new java.awt.Dimension(100, 20)); btnDisconnect.setPreferredSize(new java.awt.Dimension(100, 20)); btnDisconnect.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnDisconnectActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnDisconnect, gridBagConstraints); btnSend.setText("Send"); btnSend.setMaximumSize(new java.awt.Dimension(100, 20)); btnSend.setMinimumSize(new java.awt.Dimension(100, 20)); btnSend.setPreferredSize(new java.awt.Dimension(100, 20)); btnSend.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSendActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnSend, gridBagConstraints); btnBroadcast.setText("Broadcast"); btnBroadcast.setMaximumSize(new java.awt.Dimension(100, 20)); btnBroadcast.setMinimumSize(new java.awt.Dimension(100, 20)); btnBroadcast.setPreferredSize(new java.awt.Dimension(100, 20)); btnBroadcast.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnBroadcastActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnBroadcast, gridBagConstraints); btnPing.setText("Ping"); btnPing.setMaximumSize(new java.awt.Dimension(100, 20)); btnPing.setMinimumSize(new java.awt.Dimension(100, 20)); btnPing.setPreferredSize(new java.awt.Dimension(100, 20)); btnPing.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnPingActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 5; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnPing, gridBagConstraints); btnShutdown.setText("Shutdown"); btnShutdown.setMaximumSize(new java.awt.Dimension(100, 20)); btnShutdown.setMinimumSize(new java.awt.Dimension(100, 20)); btnShutdown.setPreferredSize(new java.awt.Dimension(100, 20)); btnShutdown.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnShutdownActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnShutdown, gridBagConstraints); btnLogin.setText("Login"); btnLogin.setToolTipText("Logout"); btnLogin.setMaximumSize(new java.awt.Dimension(100, 20)); btnLogin.setMinimumSize(new java.awt.Dimension(100, 20)); btnLogin.setPreferredSize(new java.awt.Dimension(100, 20)); btnLogin.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnLoginActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 1; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(btnLogin, gridBagConstraints); btnLogout.setText("Logout"); btnLogout.setMaximumSize(new java.awt.Dimension(100, 20)); btnLogout.setMinimumSize(new java.awt.Dimension(100, 20)); btnLogout.setPreferredSize(new java.awt.Dimension(100, 20)); btnLogout.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnLogoutActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 2; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnLogout, gridBagConstraints); txfTarget.setMinimumSize(new java.awt.Dimension(100, 20)); txfTarget.setPreferredSize(new java.awt.Dimension(100, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(txfTarget, gridBagConstraints); lblTarget.setText("Target"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 0); getContentPane().add(lblTarget, gridBagConstraints); lblMessage.setText("Message"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 8; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 0); getContentPane().add(lblMessage, gridBagConstraints); lblStatus.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblStatus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/disconnected.png"))); // NOI18N lblStatus.setText("ID: -"); lblStatus.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5); getContentPane().add(lblStatus, gridBagConstraints); btnGetSessions.setLabel("Get Sessions"); btnGetSessions.setMaximumSize(new java.awt.Dimension(100, 20)); btnGetSessions.setMinimumSize(new java.awt.Dimension(100, 20)); btnGetSessions.setPreferredSize(new java.awt.Dimension(100, 20)); btnGetSessions.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnGetSessionsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnGetSessions, gridBagConstraints); btnGetUserRights.setText("Rights"); btnGetUserRights.setMaximumSize(new java.awt.Dimension(100, 20)); btnGetUserRights.setMinimumSize(new java.awt.Dimension(100, 20)); btnGetUserRights.setPreferredSize(new java.awt.Dimension(100, 20)); btnGetUserRights.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnGetUserRightsActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 4; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnGetUserRights, gridBagConstraints); btnGetUserRoles.setText("Roles"); btnGetUserRoles.setMaximumSize(new java.awt.Dimension(100, 20)); btnGetUserRoles.setMinimumSize(new java.awt.Dimension(100, 20)); btnGetUserRoles.setPreferredSize(new java.awt.Dimension(100, 20)); btnGetUserRoles.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnGetUserRolesActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 5; gridBagConstraints.gridy = 5; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); getContentPane().add(btnGetUserRoles, gridBagConstraints); lblURL.setText("URL"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 0); getContentPane().add(lblURL, gridBagConstraints); txfURL.setText("ws://localhost:8787/jWebSocket/jWebSocket"); txfURL.setPreferredSize(new java.awt.Dimension(100, 20)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); getContentPane().add(txfURL, gridBagConstraints); pmnFile.setText("File"); mniExit.setText("Exit"); mniExit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mniExitActionPerformed(evt); } }); pmnFile.add(mniExit); mniPreferences.setText("Preferences"); mniPreferences.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { mniPreferencesActionPerformed(evt); } }); pmnFile.add(mniPreferences); mnbMain.add(pmnFile); pmnTests.setText("Edit"); mniConnect.setText("Connect"); pmnTests.add(mniConnect); mniDisconnect.setText("Disconnect"); pmnTests.add(mniDisconnect); mniSend.setText("Send"); pmnTests.add(mniSend); mniBroadcast.setText("Broadcast"); pmnTests.add(mniBroadcast); mnbMain.add(pmnTests); setJMenuBar(mnbMain); pack(); }// </editor-fold>//GEN-END:initComponents public void checkDisconnect() { try { if (client.isConnected()) { client.close(); } } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } } private void doCloseForm() { checkDisconnect(); dispose(); } private void mniExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mniExitActionPerformed doCloseForm(); }//GEN-LAST:event_mniExitActionPerformed private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing checkDisconnect(); }//GEN-LAST:event_formWindowClosing private void mniPreferencesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mniPreferencesActionPerformed // open preferences dialog }//GEN-LAST:event_mniPreferencesActionPerformed private void btnGetUserRightsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGetUserRightsActionPerformed try { client.getUserRights(txfTarget.getText()); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }//GEN-LAST:event_btnGetUserRightsActionPerformed private void btnGetUserRolesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGetUserRolesActionPerformed try { client.getUserRoles(txfTarget.getText()); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }//GEN-LAST:event_btnGetUserRolesActionPerformed private void btnConnectActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnConnectActionPerformed try { client.open(txfURL.getText()); // "ws://localhost:8787/;unid=admin_ui_1" } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnConnectActionPerformed private void btnDisconnectActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnDisconnectActionPerformed try { client.close(); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnDisconnectActionPerformed private void btnShutdownActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnShutdownActionPerformed try { client.shutdown(); Thread.sleep(500); client.close(); } catch (Exception ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnShutdownActionPerformed private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnLoginActionPerformed try { client.login("guest", "guest"); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnLoginActionPerformed private void btnLogoutActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnLogoutActionPerformed try { client.logout(); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnLogoutActionPerformed private void btnClearLogActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnClearLogActionPerformed txaLog.setText(""); }// GEN-LAST:event_btnClearLogActionPerformed private void btnBroadcastActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnBroadcastActionPerformed try { client.broadcastText(txfMessage.getText()); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnBroadcastActionPerformed private void btnPingActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnPingActionPerformed try { client.ping(true); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnPingActionPerformed private void btnSendActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnSendActionPerformed try { client.sendText(txfTarget.getText(), txfMessage.getText()); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnSendActionPerformed private void btnGetSessionsActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_btnGetSessionsActionPerformed try { client.getConnections(); } catch (WebSocketException ex) { txaLog.append(ex.getClass().getSimpleName() + ": " + ex.getMessage() + "\n"); } }// GEN-LAST:event_btnGetSessionsActionPerformed /** * @param args * the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { new TestDialog().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton bntSend; private javax.swing.JButton btnBroadcast; private javax.swing.JButton btnClearLog; private javax.swing.JButton btnConnect; private javax.swing.JButton btnDisconnect; private javax.swing.JButton btnGetSessions; private javax.swing.JButton btnGetUserRights; private javax.swing.JButton btnGetUserRoles; private javax.swing.JButton btnLogin; private javax.swing.JButton btnLogout; private javax.swing.JButton btnPing; private javax.swing.JButton btnSend; private javax.swing.JButton btnShutdown; private javax.swing.JLabel lblMessage; private javax.swing.JLabel lblStatus; private javax.swing.JLabel lblTarget; private javax.swing.JLabel lblTitle; private javax.swing.JLabel lblURL; private javax.swing.JMenuBar mnbMain; private javax.swing.JMenuItem mniBroadcast; private javax.swing.JMenuItem mniConnect; private javax.swing.JMenuItem mniDisconnect; private javax.swing.JMenuItem mniExit; private javax.swing.JMenuItem mniPreferences; private javax.swing.JMenuItem mniSend; private javax.swing.JMenu pmnFile; private javax.swing.JMenu pmnTests; private javax.swing.JScrollPane scpTextArea; private javax.swing.JTextArea txaLog; private javax.swing.JTextField txfMessage; private javax.swing.JTextField txfTarget; private javax.swing.JTextField txfURL; // End of variables declaration//GEN-END:variables }