Changed server entry field to combo box that remembers previous server entries.

This commit is contained in:
Steven Lawson 2012-12-02 21:07:16 -05:00
parent 12c5e384ae
commit b6322d9dc4
5 changed files with 539 additions and 135 deletions

View file

@ -12,9 +12,9 @@ is divided into following sections:
- execution - execution
- debugging - debugging
- javadoc - javadoc
- junit compilation - test compilation
- junit execution - test execution
- junit debugging - test debugging
- applet - applet
- cleanup - cleanup
@ -156,6 +156,7 @@ is divided into following sections:
</and> </and>
</condition> </condition>
<property name="run.jvmargs" value=""/> <property name="run.jvmargs" value=""/>
<property name="run.jvmargs.ide" value=""/>
<property name="javac.compilerargs" value=""/> <property name="javac.compilerargs" value=""/>
<property name="work.dir" value="${basedir}"/> <property name="work.dir" value="${basedir}"/>
<condition property="no.deps"> <condition property="no.deps">
@ -200,6 +201,27 @@ is divided into following sections:
<property name="jar.index.metainf" value="${jar.index}"/> <property name="jar.index.metainf" value="${jar.index}"/>
<property name="copylibs.rebase" value="true"/> <property name="copylibs.rebase" value="true"/>
<available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
<condition property="junit.available">
<or>
<available classname="org.junit.Test" classpath="${run.test.classpath}"/>
<available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
</or>
</condition>
<condition property="testng.available">
<available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
</condition>
<condition property="junit+testng.available">
<and>
<istrue value="${junit.available}"/>
<istrue value="${testng.available}"/>
</and>
</condition>
<condition else="testng" property="testng.mode" value="mixed">
<istrue value="${junit+testng.available}"/>
</condition>
<condition else="" property="testng.debug.mode" value="-mixed">
<istrue value="${junit+testng.available}"/>
</condition>
</target> </target>
<target name="-post-init"> <target name="-post-init">
<!-- Empty placeholder for easier customization. --> <!-- Empty placeholder for easier customization. -->
@ -332,11 +354,52 @@ is divided into following sections:
</sequential> </sequential>
</macrodef> </macrodef>
</target> </target>
<target name="-init-macrodef-junit"> <target if="${junit.available}" name="-init-macrodef-junit-init">
<condition else="false" property="nb.junit.batch" value="true">
<and>
<istrue value="${junit.available}"/>
<not>
<isset property="test.method"/>
</not>
</and>
</condition>
<condition else="false" property="nb.junit.single" value="true">
<and>
<istrue value="${junit.available}"/>
<isset property="test.method"/>
</and>
</condition>
</target>
<target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/> <attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/> <attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/> <attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<sequential>
<property name="junit.forkmode" value="perTest"/>
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
<test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<jvmarg value="-ea"/>
<customize/>
</junit>
</sequential>
</macrodef>
</target>
<target if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<sequential> <sequential>
<property name="junit.forkmode" value="perTest"/> <property name="junit.forkmode" value="perTest"/>
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
@ -345,32 +408,270 @@ is divided into following sections:
<filename name="@{testincludes}"/> <filename name="@{testincludes}"/>
</fileset> </fileset>
</batchtest> </batchtest>
<classpath>
<path path="${run.test.classpath}"/>
</classpath>
<syspropertyset> <syspropertyset>
<propertyref prefix="test-sys-prop."/> <propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/> <mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset> </syspropertyset>
<formatter type="brief" usefile="false"/> <formatter type="brief" usefile="false"/>
<formatter type="xml"/> <formatter type="xml"/>
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg value="-ea"/> <jvmarg value="-ea"/>
<jvmarg line="${run.jvmargs}"/> <customize/>
</junit> </junit>
</sequential> </sequential>
</macrodef> </macrodef>
</target> </target>
<target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" name="profile-init"/> <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
<target name="-profile-pre-init"> <target if="${testng.available}" name="-init-macrodef-testng">
<macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<sequential>
<condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
<isset property="test.method"/>
</condition>
<union id="test.set">
<fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
<filename name="@{testincludes}"/>
</fileset>
</union>
<taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
<testng classfilesetref="test.set" failureProperty="tests.failed" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="BukkitTelnetClient" testname="TestNG tests" workingDir="${work.dir}">
<xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
<propertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</propertyset>
<customize/>
</testng>
</sequential>
</macrodef>
</target>
<target name="-init-macrodef-test-impl">
<macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element implicit="true" name="customize" optional="true"/>
<sequential>
<echo>No tests executed.</echo>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
<macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element implicit="true" name="customize" optional="true"/>
<sequential>
<j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
<customize/>
</j2seproject3:junit>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
<macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element implicit="true" name="customize" optional="true"/>
<sequential>
<j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
<customize/>
</j2seproject3:testng>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
<macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<sequential>
<j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
<customize>
<classpath>
<path path="${run.test.classpath}"/>
</classpath>
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg line="${run.jvmargs}"/>
<jvmarg line="${run.jvmargs.ide}"/>
</customize>
</j2seproject3:test-impl>
</sequential>
</macrodef>
</target>
<target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
<macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<sequential>
<property name="junit.forkmode" value="perTest"/>
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
<test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<jvmarg value="-ea"/>
<jvmarg line="${debug-args-line}"/>
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
<customize/>
</junit>
</sequential>
</macrodef>
</target>
<target if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
<macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element name="customize" optional="true"/>
<sequential>
<property name="junit.forkmode" value="perTest"/>
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
<batchtest todir="${build.test.results.dir}">
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
<filename name="@{testincludes}"/>
</fileset>
</batchtest>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<jvmarg value="-ea"/>
<jvmarg line="${debug-args-line}"/>
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
<customize/>
</junit>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
<macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<element implicit="true" name="customize" optional="true"/>
<sequential>
<j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
<customize/>
</j2seproject3:junit-debug>
</sequential>
</macrodef>
</target>
<target if="${testng.available}" name="-init-macrodef-testng-debug">
<macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${main.class}" name="testClass"/>
<attribute default="" name="testMethod"/>
<element name="customize2" optional="true"/>
<sequential>
<condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
<isset property="test.method"/>
</condition>
<condition else="-suitename BukkitTelnetClient -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
<matches pattern=".*\.xml" string="@{testClass}"/>
</condition>
<delete dir="${build.test.results.dir}" quiet="true"/>
<mkdir dir="${build.test.results.dir}"/>
<j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
<customize>
<customize2/>
<jvmarg value="-ea"/>
<arg line="${testng.debug.mode}"/>
<arg line="-d ${build.test.results.dir}"/>
<arg line="-listener org.testng.reporters.VerboseReporter"/>
<arg line="${testng.cmd.args}"/>
</customize>
</j2seproject3:debug>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
<macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${main.class}" name="testClass"/>
<attribute default="" name="testMethod"/>
<element implicit="true" name="customize2" optional="true"/>
<sequential>
<j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
<customize2/>
</j2seproject3:testng-debug>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
<macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<attribute default="${main.class}" name="testClass"/>
<attribute default="" name="testMethod"/>
<sequential>
<j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
<customize>
<classpath>
<path path="${run.test.classpath}"/>
</classpath>
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
<jvmarg line="${run.jvmargs}"/>
<jvmarg line="${run.jvmargs.ide}"/>
</customize>
</j2seproject3:test-debug-impl>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
<macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
<attribute default="${includes}" name="includes"/>
<attribute default="${excludes}" name="excludes"/>
<attribute default="**" name="testincludes"/>
<attribute default="" name="testmethods"/>
<attribute default="${main.class}" name="testClass"/>
<attribute default="" name="testMethod"/>
<sequential>
<j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
<customize2>
<syspropertyset>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
</customize2>
</j2seproject3:testng-debug-impl>
</sequential>
</macrodef>
</target>
<target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
<!--
pre NB7.2 profiling section; consider it deprecated
-->
<target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
<target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
<!-- Empty placeholder for easier customization. --> <!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. --> <!-- You can override this target in the ../build.xml file. -->
</target> </target>
<target name="-profile-post-init"> <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
<!-- Empty placeholder for easier customization. --> <!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. --> <!-- You can override this target in the ../build.xml file. -->
</target> </target>
<target name="-profile-init-macrodef-profile"> <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
<macrodef name="resolve"> <macrodef name="resolve">
<attribute name="name"/> <attribute name="name"/>
<attribute name="value"/> <attribute name="value"/>
@ -402,10 +703,13 @@ is divided into following sections:
</sequential> </sequential>
</macrodef> </macrodef>
</target> </target>
<target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" name="-profile-init-check"> <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
<fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
<fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
</target> </target>
<!--
end of pre NB7.2 profiling section
-->
<target depends="-init-debug-args" name="-init-macrodef-nbjpda"> <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute default="${main.class}" name="name"/> <attribute default="${main.class}" name="name"/>
@ -463,6 +767,7 @@ is divided into following sections:
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/> <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
<jvmarg line="${run.jvmargs}"/> <jvmarg line="${run.jvmargs}"/>
<jvmarg line="${run.jvmargs.ide}"/>
<classpath> <classpath>
<path path="@{classpath}"/> <path path="@{classpath}"/>
</classpath> </classpath>
@ -479,6 +784,7 @@ is divided into following sections:
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
<attribute default="${main.class}" name="classname"/> <attribute default="${main.class}" name="classname"/>
<attribute default="${run.classpath}" name="classpath"/> <attribute default="${run.classpath}" name="classpath"/>
<attribute default="jvm" name="jvm"/>
<element name="customize" optional="true"/> <element name="customize" optional="true"/>
<sequential> <sequential>
<java classname="@{classname}" dir="${work.dir}" fork="true"> <java classname="@{classname}" dir="${work.dir}" fork="true">
@ -486,6 +792,7 @@ is divided into following sections:
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/> <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
<jvmarg line="${run.jvmargs}"/> <jvmarg line="${run.jvmargs}"/>
<jvmarg line="${run.jvmargs.ide}"/>
<classpath> <classpath>
<path path="@{classpath}"/> <path path="@{classpath}"/>
</classpath> </classpath>
@ -512,6 +819,9 @@ is divided into following sections:
<path path="${run.classpath.without.build.classes.dir}"/> <path path="${run.classpath.without.build.classes.dir}"/>
<chainedmapper> <chainedmapper>
<flattenmapper/> <flattenmapper/>
<filtermapper>
<replacestring from=" " to="%20"/>
</filtermapper>
<globmapper from="*" to="lib/*"/> <globmapper from="*" to="lib/*"/>
</chainedmapper> </chainedmapper>
</pathconvert> </pathconvert>
@ -557,7 +867,7 @@ is divided into following sections:
<target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
<property name="ap.cmd.line.internal" value=""/> <property name="ap.cmd.line.internal" value=""/>
</target> </target>
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/> <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
<!-- <!--
=================== ===================
COMPILATION SECTION COMPILATION SECTION
@ -773,7 +1083,11 @@ is divided into following sections:
PROFILING SECTION PROFILING SECTION
================= =================
--> -->
<target depends="profile-init,compile" description="Profile a project in the IDE." if="netbeans.home" name="profile"> <!--
pre NB7.2 profiler integration
-->
<target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
<fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
<nbprofiledirect> <nbprofiledirect>
<classpath> <classpath>
<path path="${run.classpath}"/> <path path="${run.classpath}"/>
@ -781,8 +1095,9 @@ is divided into following sections:
</nbprofiledirect> </nbprofiledirect>
<profile/> <profile/>
</target> </target>
<target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="netbeans.home" name="profile-single"> <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
<fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
<fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
<nbprofiledirect> <nbprofiledirect>
<classpath> <classpath>
<path path="${run.classpath}"/> <path path="${run.classpath}"/>
@ -790,12 +1105,8 @@ is divided into following sections:
</nbprofiledirect> </nbprofiledirect>
<profile classname="${profile.class}"/> <profile classname="${profile.class}"/>
</target> </target>
<!-- <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
========================= <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
APPLET PROFILING SECTION
=========================
-->
<target depends="profile-init,compile-single" if="netbeans.home" name="profile-applet">
<nbprofiledirect> <nbprofiledirect>
<classpath> <classpath>
<path path="${run.classpath}"/> <path path="${run.classpath}"/>
@ -807,12 +1118,8 @@ is divided into following sections:
</customize> </customize>
</profile> </profile>
</target> </target>
<!-- <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
========================= <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
TESTS PROFILING SECTION
=========================
-->
<target depends="profile-init,compile-test-single" if="netbeans.home" name="profile-test-single">
<nbprofiledirect> <nbprofiledirect>
<classpath> <classpath>
<path path="${run.test.classpath}"/> <path path="${run.test.classpath}"/>
@ -834,6 +1141,42 @@ is divided into following sections:
<formatter type="xml"/> <formatter type="xml"/>
</junit> </junit>
</target> </target>
<!--
end of pre NB72 profiling section
-->
<target if="netbeans.home" name="-profile-check">
<condition property="profiler.configured">
<or>
<contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
<contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
</or>
</condition>
</target>
<target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
<startprofiler/>
<antcall target="run"/>
</target>
<target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
<startprofiler/>
<antcall target="run-single"/>
</target>
<target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
<target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
<startprofiler/>
<antcall target="test-single"/>
</target>
<target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
<startprofiler/>
<antcal target="run-test-with-main"/>
</target>
<target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
<startprofiler/>
<antcall target="run-applet"/>
</target>
<!-- <!--
=============== ===============
JAVADOC SECTION JAVADOC SECTION
@ -877,7 +1220,7 @@ is divided into following sections:
<target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
<!-- <!--
========================= =========================
JUNIT COMPILATION SECTION TEST COMPILATION SECTION
========================= =========================
--> -->
<target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
@ -920,14 +1263,14 @@ is divided into following sections:
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
<!-- <!--
======================= =======================
JUNIT EXECUTION SECTION TEST EXECUTION SECTION
======================= =======================
--> -->
<target depends="init" if="have.tests" name="-pre-test-run"> <target depends="init" if="have.tests" name="-pre-test-run">
<mkdir dir="${build.test.results.dir}"/> <mkdir dir="${build.test.results.dir}"/>
</target> </target>
<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
<j2seproject3:junit testincludes="**/*Test.java"/> <j2seproject3:test testincludes="**/*Test.java"/>
</target> </target>
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
@ -940,39 +1283,40 @@ is divided into following sections:
</target> </target>
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
<j2seproject3:junit excludes="" includes="${test.includes}"/> <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
</target> </target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
</target> </target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
<fail unless="test.class">Must select some files in the IDE or set test.class</fail>
<fail unless="test.method">Must select some method in the IDE or set test.method</fail>
<j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
</target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
</target>
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
<!-- <!--
======================= =======================
JUNIT DEBUGGING SECTION TEST DEBUGGING SECTION
======================= =======================
--> -->
<target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test"> <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
<fail unless="test.class">Must select one file in the IDE or set test.class</fail> <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
<property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/> <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
<delete file="${test.report.file}"/> </target>
<mkdir dir="${build.test.results.dir}"/> <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
<j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}"> <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
<customize> <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
<syspropertyset> <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
<propertyref prefix="test-sys-prop."/>
<mapper from="test-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
<arg value="${test.class}"/>
<arg value="showoutput=true"/>
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
</customize>
</j2seproject3:debug>
</target> </target>
<target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
</target> </target>
<target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
<target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
<target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
</target> </target>
@ -1037,9 +1381,12 @@ is divided into following sections:
<target name="-check-call-dep"> <target name="-check-call-dep">
<property file="${call.built.properties}" prefix="already.built."/> <property file="${call.built.properties}" prefix="already.built."/>
<condition property="should.call.dep"> <condition property="should.call.dep">
<not> <and>
<isset property="already.built.${call.subproject}"/> <not>
</not> <isset property="already.built.${call.subproject}"/>
</not>
<available file="${call.script}"/>
</and>
</condition> </condition>
</target> </target>
<target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">

View file

@ -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. # 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. # 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.data.CRC32=b147f9b6
nbproject/build-impl.xml.script.CRC32=8a821c88 nbproject/build-impl.xml.script.CRC32=6eb617a8
nbproject/build-impl.xml.stylesheet.CRC32=fcddb364@1.50.2.46 nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46

View file

@ -28,7 +28,9 @@ dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath= endorsed.classpath=
excludes= excludes=
includes=** includes=**
jar.archive.disabled=${jnlp.enabled}
jar.compress=false jar.compress=false
jar.index=${jnlp.enabled}
javac.classpath=\ javac.classpath=\
${libs.Apache_Commons_Lang.classpath}:\ ${libs.Apache_Commons_Lang.classpath}:\
${libs.Apache_Commons_Net.classpath} ${libs.Apache_Commons_Net.classpath}
@ -55,6 +57,15 @@ javadoc.splitindex=true
javadoc.use=true javadoc.use=true
javadoc.version=false javadoc.version=false
javadoc.windowtitle= 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 main.class=me.StevenLawson.BukkitTelnetClient.BukkitTelnetClient
manifest.file=manifest.mf manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF

View file

@ -32,15 +32,10 @@
<Component id="jLabel2" max="32767" attributes="0"/> <Component id="jLabel2" max="32767" attributes="0"/>
<Component id="jLabel1" max="32767" attributes="0"/> <Component id="jLabel1" max="32767" attributes="0"/>
</Group> </Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0"> <Component id="txt_command" pref="566" max="32767" attributes="0"/>
<EmptySpace type="separate" max="-2" attributes="0"/> <Component id="txt_server" max="32767" attributes="0"/>
<Component id="txt_command" max="32767" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
<Component id="txt_server" pref="567" max="32767" attributes="0"/>
</Group>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0"> <Group type="103" groupAlignment="0" max="-2" attributes="0">
@ -70,10 +65,10 @@
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="txt_server" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="btn_connect" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="btn_connect" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="btn_disconnect" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="btn_disconnect" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="txt_server" alignment="3" min="-2" max="-2" attributes="0"/>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
</Group> </Group>
@ -124,14 +119,6 @@
<Property name="text" type="java.lang.String" value="Server:"/> <Property name="text" type="java.lang.String" value="Server:"/>
</Properties> </Properties>
</Component> </Component>
<Component class="javax.swing.JTextField" name="txt_server">
<Properties>
<Property name="text" type="java.lang.String" value="tf.madgeekonline.com:28995"/>
</Properties>
<Events>
<EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txt_serverKeyPressed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="btn_disconnect"> <Component class="javax.swing.JButton" name="btn_disconnect">
<Properties> <Properties>
<Property name="text" type="java.lang.String" value="Disconnect"/> <Property name="text" type="java.lang.String" value="Disconnect"/>
@ -150,5 +137,13 @@
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btn_sendMouseClicked"/> <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="btn_sendMouseClicked"/>
</Events> </Events>
</Component> </Component>
<Component class="javax.swing.JComboBox" name="txt_server">
<Properties>
<Property name="editable" type="boolean" value="true"/>
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
<StringArray count="0"/>
</Property>
</Properties>
</Component>
</SubComponents> </SubComponents>
</Form> </Form>

View file

@ -1,30 +1,45 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package me.StevenLawson.BukkitTelnetClient; package me.StevenLawson.BukkitTelnetClient;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; 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.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintStream; 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.SwingUtilities;
import javax.swing.text.BadLocationException; import javax.swing.text.BadLocationException;
import javax.swing.text.Document; import javax.swing.text.Document;
/**
@author
Steven
*/
public class BukkitTelnetClient extends javax.swing.JFrame 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 BTC_ConnectionManager connection_mgr;
private final LinkedList<String> server_list = new LinkedList<String>();
public BukkitTelnetClient() public BukkitTelnetClient()
{ {
initComponents(); initComponents();
txt_server.getEditor().getEditorComponent().addKeyListener(new KeyAdapter()
{
@Override
public void keyTyped(KeyEvent e)
{
if (e.getKeyChar() == KeyEvent.VK_ENTER)
{
saveServersAndTriggerConnect();
}
}
});
redirectSystemStreams(); redirectSystemStreams();
loadServerList();
connection_mgr = new BTC_ConnectionManager(this); connection_mgr = new BTC_ConnectionManager(this);
} }
@ -76,9 +91,69 @@ public class BukkitTelnetClient extends javax.swing.JFrame
System.setErr(new PrintStream(out, true)); 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") @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() { private void initComponents()
{
jScrollPane1 = new javax.swing.JScrollPane(); jScrollPane1 = new javax.swing.JScrollPane();
main_output = new javax.swing.JTextPane(); main_output = new javax.swing.JTextPane();
@ -86,9 +161,9 @@ public class BukkitTelnetClient extends javax.swing.JFrame
btn_connect = new javax.swing.JButton(); btn_connect = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();
txt_server = new javax.swing.JTextField();
btn_disconnect = new javax.swing.JButton(); btn_disconnect = new javax.swing.JButton();
btn_send = new javax.swing.JButton(); btn_send = new javax.swing.JButton();
txt_server = new javax.swing.JComboBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("BukkitTelnetClient"); setTitle("BukkitTelnetClient");
@ -98,15 +173,19 @@ public class BukkitTelnetClient extends javax.swing.JFrame
jScrollPane1.setViewportView(main_output); jScrollPane1.setViewportView(main_output);
txt_command.setEnabled(false); txt_command.setEnabled(false);
txt_command.addKeyListener(new java.awt.event.KeyAdapter() { txt_command.addKeyListener(new java.awt.event.KeyAdapter()
public void keyPressed(java.awt.event.KeyEvent evt) { {
public void keyPressed(java.awt.event.KeyEvent evt)
{
txt_commandKeyPressed(evt); txt_commandKeyPressed(evt);
} }
}); });
btn_connect.setText("Connect"); btn_connect.setText("Connect");
btn_connect.addMouseListener(new java.awt.event.MouseAdapter() { btn_connect.addMouseListener(new java.awt.event.MouseAdapter()
public void mouseClicked(java.awt.event.MouseEvent evt) { {
public void mouseClicked(java.awt.event.MouseEvent evt)
{
btn_connectMouseClicked(evt); btn_connectMouseClicked(evt);
} }
}); });
@ -115,29 +194,28 @@ public class BukkitTelnetClient extends javax.swing.JFrame
jLabel2.setText("Server:"); 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.setText("Disconnect");
btn_disconnect.setEnabled(false); btn_disconnect.setEnabled(false);
btn_disconnect.addMouseListener(new java.awt.event.MouseAdapter() { btn_disconnect.addMouseListener(new java.awt.event.MouseAdapter()
public void mouseClicked(java.awt.event.MouseEvent evt) { {
public void mouseClicked(java.awt.event.MouseEvent evt)
{
btn_disconnectMouseClicked(evt); btn_disconnectMouseClicked(evt);
} }
}); });
btn_send.setText("Send"); btn_send.setText("Send");
btn_send.setEnabled(false); btn_send.setEnabled(false);
btn_send.addMouseListener(new java.awt.event.MouseAdapter() { btn_send.addMouseListener(new java.awt.event.MouseAdapter()
public void mouseClicked(java.awt.event.MouseEvent evt) { {
public void mouseClicked(java.awt.event.MouseEvent evt)
{
btn_sendMouseClicked(evt); btn_sendMouseClicked(evt);
} }
}); });
txt_server.setEditable(true);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout); getContentPane().setLayout(layout);
layout.setHorizontalGroup( layout.setHorizontalGroup(
@ -150,13 +228,10 @@ public class BukkitTelnetClient extends javax.swing.JFrame
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .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(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)) .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.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup() .addComponent(txt_command, javax.swing.GroupLayout.DEFAULT_SIZE, 566, Short.MAX_VALUE)
.addGap(18, 18, 18) .addComponent(txt_server, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(txt_command))
.addGroup(layout.createSequentialGroup()
.addGap(17, 17, 17)
.addComponent(txt_server, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup() .addGroup(layout.createSequentialGroup()
@ -181,35 +256,23 @@ public class BukkitTelnetClient extends javax.swing.JFrame
.addComponent(btn_send)) .addComponent(btn_send))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .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(jLabel2)
.addComponent(btn_connect) .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()) .addContainerGap())
); );
pack(); pack();
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//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 private void btn_connectMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_btn_connectMouseClicked
{//GEN-HEADEREND:event_btn_connectMouseClicked {//GEN-HEADEREND:event_btn_connectMouseClicked
if (!btn_connect.isEnabled()) if (!btn_connect.isEnabled())
{ {
return; return;
} }
connection_mgr.trigger_connect(txt_server.getText()); saveServersAndTriggerConnect();
}//GEN-LAST:event_btn_connectMouseClicked }//GEN-LAST:event_btn_connectMouseClicked
private void btn_disconnectMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_btn_disconnectMouseClicked 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); logger.log(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);
} }
java.awt.EventQueue.invokeLater(new Runnable() 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.JScrollPane jScrollPane1;
private javax.swing.JTextPane main_output; private javax.swing.JTextPane main_output;
private javax.swing.JTextField txt_command; 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 // End of variables declaration//GEN-END:variables
public javax.swing.JButton getBtn_connect() public javax.swing.JButton getBtn_connect()
@ -319,7 +370,7 @@ public class BukkitTelnetClient extends javax.swing.JFrame
return txt_command; return txt_command;
} }
public javax.swing.JTextField getTxt_server() public javax.swing.JComboBox getTxt_server()
{ {
return txt_server; return txt_server;
} }