From b6322d9dc4b29d2f1393d02cd6b1bb0b0b0bd6d6 Mon Sep 17 00:00:00 2001 From: Steven Lawson Date: Sun, 2 Dec 2012 21:07:16 -0500 Subject: [PATCH] Changed server entry field to combo box that remembers previous server entries. --- nbproject/build-impl.xml | 453 ++++++++++++++++-- nbproject/genfiles.properties | 4 +- nbproject/project.properties | 11 + .../BukkitTelnetClient.form | 29 +- .../BukkitTelnetClient.java | 177 ++++--- 5 files changed, 539 insertions(+), 135 deletions(-) diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 408044f..a9d5c3c 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -12,9 +12,9 @@ is divided into following sections: - execution - debugging - javadoc - - junit compilation - - junit execution - - junit debugging + - test compilation + - test execution + - test debugging - applet - cleanup @@ -156,6 +156,7 @@ is divided into following sections: + @@ -200,6 +201,27 @@ is divided into following sections: + + + + + + + + + + + + + + + + + + + + + @@ -332,11 +354,52 @@ is divided into following sections: - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -345,32 +408,270 @@ is divided into following sections: - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -402,10 +703,13 @@ is divided into following sections: - + Must set JVM to use for profiling in profiler.info.jvm Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + @@ -463,6 +767,7 @@ is divided into following sections: + @@ -479,6 +784,7 @@ is divided into following sections: + @@ -486,6 +792,7 @@ is divided into following sections: + @@ -512,6 +819,9 @@ is divided into following sections: + + + @@ -557,7 +867,7 @@ is divided into following sections: - + - + + + This target only works when run from inside the NetBeans IDE. @@ -781,8 +1095,9 @@ is divided into following sections: - + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. @@ -790,12 +1105,8 @@ is divided into following sections: - - + + This target only works when run from inside the NetBeans IDE. @@ -807,12 +1118,8 @@ is divided into following sections: - - + + This target only works when run from inside the NetBeans IDE. @@ -834,6 +1141,42 @@ is divided into following sections: + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + @@ -920,14 +1263,14 @@ is divided into following sections: - + Some tests failed; see details above. @@ -940,39 +1283,40 @@ is divided into following sections: Must select some files in the IDE or set test.includes - + Some tests failed; see details above. + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + - + Must select one file in the IDE or set test.class - - - - - - - - - - - - - - - + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + @@ -1037,9 +1381,12 @@ is divided into following sections: - - - + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 267d65b..66f5a09 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.50.2.46 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=b147f9b6 -nbproject/build-impl.xml.script.CRC32=8a821c88 -nbproject/build-impl.xml.stylesheet.CRC32=fcddb364@1.50.2.46 +nbproject/build-impl.xml.script.CRC32=6eb617a8 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/nbproject/project.properties b/nbproject/project.properties index 378deae..8174d05 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -28,7 +28,9 @@ dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= includes=** +jar.archive.disabled=${jnlp.enabled} jar.compress=false +jar.index=${jnlp.enabled} javac.classpath=\ ${libs.Apache_Commons_Lang.classpath}:\ ${libs.Apache_Commons_Net.classpath} @@ -55,6 +57,15 @@ javadoc.splitindex=true javadoc.use=true javadoc.version=false javadoc.windowtitle= +jnlp.codebase.type=no.codebase +jnlp.descriptor=application +jnlp.enabled=false +jnlp.mixed.code=default +jnlp.offline-allowed=false +jnlp.signed=false +jnlp.signing= +jnlp.signing.alias= +jnlp.signing.keystore= main.class=me.StevenLawson.BukkitTelnetClient.BukkitTelnetClient manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF diff --git a/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.form b/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.form index c7b9753..2da4e2a 100644 --- a/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.form +++ b/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.form @@ -32,15 +32,10 @@ + - - - - - - - - + + @@ -70,10 +65,10 @@ - + @@ -124,14 +119,6 @@ - - - - - - - - @@ -150,5 +137,13 @@ + + + + + + + + diff --git a/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.java b/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.java index e1bd115..ea611cf 100644 --- a/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.java +++ b/src/me/StevenLawson/BukkitTelnetClient/BukkitTelnetClient.java @@ -1,30 +1,45 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package me.StevenLawson.BukkitTelnetClient; +import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; +import java.util.LinkedList; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; import javax.swing.text.Document; -/** - - @author - Steven - */ public class BukkitTelnetClient extends javax.swing.JFrame { + public static final String SERVERS_FILE_NAME = "btc_servers.cfg"; + private static final Logger logger = Logger.getLogger("BukkitTelnetClient"); private BTC_ConnectionManager connection_mgr; + private final LinkedList server_list = new LinkedList(); public BukkitTelnetClient() { initComponents(); + txt_server.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() + { + @Override + public void keyTyped(KeyEvent e) + { + if (e.getKeyChar() == KeyEvent.VK_ENTER) + { + saveServersAndTriggerConnect(); + } + } + }); redirectSystemStreams(); + loadServerList(); connection_mgr = new BTC_ConnectionManager(this); } @@ -76,9 +91,69 @@ public class BukkitTelnetClient extends javax.swing.JFrame System.setErr(new PrintStream(out, true)); } + private void loadServerList() + { + try + { + server_list.clear(); + txt_server.removeAllItems(); + + File file = new File(SERVERS_FILE_NAME); + if (file.exists()) + { + BufferedReader in = new BufferedReader(new FileReader(file)); + String line; + while ((line = in.readLine()) != null) + { + line = line.trim(); + server_list.add(line); + txt_server.addItem(line); + } + in.close(); + } + } + catch (Exception ex) + { + logger.log(Level.SEVERE, null, ex); + } + } + + private void saveServersAndTriggerConnect() + { + String selected_server = (String) txt_server.getSelectedItem(); + + try + { + if (server_list.contains(selected_server)) + { + server_list.remove(selected_server); + } + + server_list.addFirst(selected_server); + + BufferedWriter out = new BufferedWriter(new FileWriter(new File(SERVERS_FILE_NAME))); + + for (String server : server_list) + { + out.write(server + '\n'); + } + + out.close(); + } + catch (Exception ex) + { + logger.log(Level.SEVERE, null, ex); + } + + loadServerList(); + + connection_mgr.trigger_connect(selected_server); + } + @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents - private void initComponents() { + private void initComponents() + { jScrollPane1 = new javax.swing.JScrollPane(); main_output = new javax.swing.JTextPane(); @@ -86,9 +161,9 @@ public class BukkitTelnetClient extends javax.swing.JFrame btn_connect = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); - txt_server = new javax.swing.JTextField(); btn_disconnect = new javax.swing.JButton(); btn_send = new javax.swing.JButton(); + txt_server = new javax.swing.JComboBox(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("BukkitTelnetClient"); @@ -98,15 +173,19 @@ public class BukkitTelnetClient extends javax.swing.JFrame jScrollPane1.setViewportView(main_output); txt_command.setEnabled(false); - txt_command.addKeyListener(new java.awt.event.KeyAdapter() { - public void keyPressed(java.awt.event.KeyEvent evt) { + txt_command.addKeyListener(new java.awt.event.KeyAdapter() + { + public void keyPressed(java.awt.event.KeyEvent evt) + { txt_commandKeyPressed(evt); } }); btn_connect.setText("Connect"); - btn_connect.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { + btn_connect.addMouseListener(new java.awt.event.MouseAdapter() + { + public void mouseClicked(java.awt.event.MouseEvent evt) + { btn_connectMouseClicked(evt); } }); @@ -115,29 +194,28 @@ public class BukkitTelnetClient extends javax.swing.JFrame jLabel2.setText("Server:"); - txt_server.setText("tf.madgeekonline.com:28995"); - txt_server.addKeyListener(new java.awt.event.KeyAdapter() { - public void keyPressed(java.awt.event.KeyEvent evt) { - txt_serverKeyPressed(evt); - } - }); - btn_disconnect.setText("Disconnect"); btn_disconnect.setEnabled(false); - btn_disconnect.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { + btn_disconnect.addMouseListener(new java.awt.event.MouseAdapter() + { + public void mouseClicked(java.awt.event.MouseEvent evt) + { btn_disconnectMouseClicked(evt); } }); btn_send.setText("Send"); btn_send.setEnabled(false); - btn_send.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { + btn_send.addMouseListener(new java.awt.event.MouseAdapter() + { + public void mouseClicked(java.awt.event.MouseEvent evt) + { btn_sendMouseClicked(evt); } }); + txt_server.setEditable(true); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( @@ -150,13 +228,10 @@ public class BukkitTelnetClient extends javax.swing.JFrame .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(18, 18, 18) - .addComponent(txt_command)) - .addGroup(layout.createSequentialGroup() - .addGap(17, 17, 17) - .addComponent(txt_server, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE))) + .addComponent(txt_command, javax.swing.GroupLayout.DEFAULT_SIZE, 566, Short.MAX_VALUE) + .addComponent(txt_server, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() @@ -181,35 +256,23 @@ public class BukkitTelnetClient extends javax.swing.JFrame .addComponent(btn_send)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(txt_server, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2) .addComponent(btn_connect) - .addComponent(btn_disconnect)) + .addComponent(btn_disconnect) + .addComponent(txt_server, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); pack(); }// //GEN-END:initComponents - private void txt_serverKeyPressed(java.awt.event.KeyEvent evt)//GEN-FIRST:event_txt_serverKeyPressed - {//GEN-HEADEREND:event_txt_serverKeyPressed - if (!txt_server.isEnabled()) - { - return; - } - if (evt.getKeyCode() == KeyEvent.VK_ENTER) - { - connection_mgr.trigger_connect(txt_server.getText()); - } - }//GEN-LAST:event_txt_serverKeyPressed - private void btn_connectMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_btn_connectMouseClicked {//GEN-HEADEREND:event_btn_connectMouseClicked if (!btn_connect.isEnabled()) { return; } - connection_mgr.trigger_connect(txt_server.getText()); + saveServersAndTriggerConnect(); }//GEN-LAST:event_btn_connectMouseClicked private void btn_disconnectMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_btn_disconnectMouseClicked @@ -257,21 +320,9 @@ public class BukkitTelnetClient extends javax.swing.JFrame } } } - catch (ClassNotFoundException ex) + catch (Exception ex) { - java.util.logging.Logger.getLogger(BukkitTelnetClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (InstantiationException ex) - { - java.util.logging.Logger.getLogger(BukkitTelnetClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (IllegalAccessException ex) - { - java.util.logging.Logger.getLogger(BukkitTelnetClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - catch (javax.swing.UnsupportedLookAndFeelException ex) - { - java.util.logging.Logger.getLogger(BukkitTelnetClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + logger.log(Level.SEVERE, null, ex); } java.awt.EventQueue.invokeLater(new Runnable() @@ -291,7 +342,7 @@ public class BukkitTelnetClient extends javax.swing.JFrame private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextPane main_output; private javax.swing.JTextField txt_command; - private javax.swing.JTextField txt_server; + private javax.swing.JComboBox txt_server; // End of variables declaration//GEN-END:variables public javax.swing.JButton getBtn_connect() @@ -319,7 +370,7 @@ public class BukkitTelnetClient extends javax.swing.JFrame return txt_command; } - public javax.swing.JTextField getTxt_server() + public javax.swing.JComboBox getTxt_server() { return txt_server; }