From f342ca88fafa56d57e75818f379e1f72fbaaf259 Mon Sep 17 00:00:00 2001 From: krakjoe Date: Thu, 28 Nov 2013 22:55:07 +0000 Subject: [PATCH] java example stuff --- tutorials/java-example.png | Bin 33169 -> 54447 bytes tutorials/java/build.xml | 73 + tutorials/java/build/built-jar.properties | 4 + tutorials/java/build/classes/DBGThread.class | Bin 0 -> 3225 bytes tutorials/java/build/classes/Main$1.class | Bin 0 -> 656 bytes tutorials/java/build/classes/Main$2.class | Bin 0 -> 615 bytes tutorials/java/build/classes/Main$3$1.class | Bin 0 -> 777 bytes tutorials/java/build/classes/Main$3.class | Bin 0 -> 723 bytes tutorials/java/build/classes/Main$4.class | Bin 0 -> 1839 bytes tutorials/java/build/classes/Main.class | Bin 0 -> 5872 bytes tutorials/java/dist/README.TXT | 32 + tutorials/java/dist/phpdbg-ui.jar | Bin 0 -> 15064 bytes tutorials/java/manifest.mf | 3 + tutorials/java/nbproject/build-impl.xml | 1407 +++++++++++++++++ tutorials/java/nbproject/genfiles.properties | 8 + .../java/nbproject/private/config.properties | 0 .../java/nbproject/private/private.properties | 7 + tutorials/java/nbproject/project.properties | 75 + tutorials/java/nbproject/project.xml | 15 + tutorials/java/src/DBGThread.java | 115 ++ tutorials/java/src/Main.form | 100 ++ tutorials/java/src/Main.java | 173 ++ 22 files changed, 2012 insertions(+) create mode 100644 tutorials/java/build.xml create mode 100644 tutorials/java/build/built-jar.properties create mode 100644 tutorials/java/build/classes/DBGThread.class create mode 100644 tutorials/java/build/classes/Main$1.class create mode 100644 tutorials/java/build/classes/Main$2.class create mode 100644 tutorials/java/build/classes/Main$3$1.class create mode 100644 tutorials/java/build/classes/Main$3.class create mode 100644 tutorials/java/build/classes/Main$4.class create mode 100644 tutorials/java/build/classes/Main.class create mode 100644 tutorials/java/dist/README.TXT create mode 100644 tutorials/java/dist/phpdbg-ui.jar create mode 100644 tutorials/java/manifest.mf create mode 100644 tutorials/java/nbproject/build-impl.xml create mode 100644 tutorials/java/nbproject/genfiles.properties create mode 100644 tutorials/java/nbproject/private/config.properties create mode 100644 tutorials/java/nbproject/private/private.properties create mode 100644 tutorials/java/nbproject/project.properties create mode 100644 tutorials/java/nbproject/project.xml create mode 100644 tutorials/java/src/DBGThread.java create mode 100644 tutorials/java/src/Main.form create mode 100644 tutorials/java/src/Main.java diff --git a/tutorials/java-example.png b/tutorials/java-example.png index 7ec07d122b65e8da1cfcacd3c218a81f6d225b5f..618882d834505b796b4d970a43dedfb060cecba6 100644 GIT binary patch literal 54447 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 Ba?t<) literal 33169 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 bN>%d7bt>R>)QN-Tk9pR6I2|Av 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 diff --git a/tutorials/java/build.xml b/tutorials/java/build.xml new file mode 100644 index 0000000000..b8895fa38e --- /dev/null +++ b/tutorials/java/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project phpdbg-ui. + + + diff --git a/tutorials/java/build/built-jar.properties b/tutorials/java/build/built-jar.properties new file mode 100644 index 0000000000..79923e55d4 --- /dev/null +++ b/tutorials/java/build/built-jar.properties @@ -0,0 +1,4 @@ +#Thu, 28 Nov 2013 22:53:51 +0000 + + +/home/joe/NetBeansProjects/phpdbg-ui= diff --git a/tutorials/java/build/classes/DBGThread.class b/tutorials/java/build/classes/DBGThread.class new file mode 100644 index 0000000000000000000000000000000000000000..4bf0a8f9f51cf9fc3bd0073cf95ed06b3f37ae61 GIT binary patch literal 3225 zcmbVO3v(OQ75-L|wbo|i#CGf?q|l@(i7eX@j{q^|k=Qt369tcnf5P~pTTqr-?@^dHPH++jVJfqd(OG% zeCKh`>fQgn{#O7u<4pq(=@94ISgBtVJv9T3#_b z6_gyWI7r!oU!trtA{+GryJ(jvOqOhG)-J6V5Ba`pTOP$N1;=)0HEdItm$T(1+RTnk z+snaWk%)PVCNyllTH_D}%D?5=8n&-jn97%Y*F8#+xN*FN3Ndz7F*<&BR2U4ww&p2M z`jtQ_bk`Lo6{n$*s}u?nN8(Jyp{3*_fbjhP7MoU(=uE1rrys!q=gM(wCF<;5A&=xFUU2DpeK&dp4qws%JvSt0w-8 z^EzHLv5HW~B@>tN7Zb1J4fd9@-X%Fmy+lEfYgsBe0TbAgJ~PSG^B{wajTU~q{l=tA%lb#>0xwK%G7mLSTY?r_*~m726Voe&WAahgQI@g zk;y|NX;sLiwXk4&v{vmp74)!cmHFN!Cll5@W7(!ctptvnb^T&d#{M{|jMx;F*7p0F z1y-FqP42QPTbtOm7i~62a%yB|_iVa8UFRse;;RPKZcdQ@{4;g!V?jwI5oACNMmXzF~)J2 z`vh@+T4BGphW%wqU|s|q!D8b3i};iW4)GGf&To>Y#A$H2)4eUDJ zcL|>gmD~`tA6%lKy348jP4r&re`|%m{W`HH#NNwDzlt8MH$>(lrSr@5e0o%Eb@patK?2Y4EOz`GWw$uYG{WP27K}sLO41e}Nf)kj-qi|ti z5ji}DJS$wl(N&ilqIJQA3GIw zH7f)*?kf`rFYI-esQ22*3*1nz9W6Vank2QkHsdo@OzgcY#@&y@E0wVM=6@x|IxiFlrBUvzz>@Q@Z>L|Zp?FSSZ@U3PnItNw-#t3M zTlst6IC}$Z^X}$o7?>XYy1O*%swDGV(cm75cC&iHo4o1VchLm>3ow!0h|by@6_(lD4ejvrIG) z9{2!0%6O(W@xd_3%$$3Bd+xcXz59K03t$tW4-fMi5Aa;$85WvYY+^~FQJltkxK1$G zH?iF!_!!%`*jDg6e^aYN1+SluL}7XmTRFHmJC^K=IZl|F8KjX(h9-+$TqQk6ssM%H zv$c}-6O-q{OsixJH`r$4n_M1BA|{uS!a`^8)r?Kgd@p)37F+c8r9=)^?>L#-M3Llq_-37kE?4&5D|&TE9Ui|3jcT`@ z9HJU`3qGyWL~j|pjP9=eg6dwO_M@zs;Mrge@D2gbpu`%JXfslHh?$CEr(*ECKcUvH vQU6DvOX~M*_n{=2En~kT0YyB*W75>|grqgh;wf*Bf6pAIi8P;iyt)1W#^iW4 literal 0 HcmV?d00001 diff --git a/tutorials/java/build/classes/Main$3$1.class b/tutorials/java/build/classes/Main$3$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6d285e65e76186cf57735457298fa757682f11e9 GIT binary patch literal 777 zcmaJ<*>2N76g`ueIB{GOTxeMeWigPXrAeByNI^&t3aXUy(kgwP#-ql_wZV28ct>LS z8<1GU10TRgAfj}y=VOM*Y_U)I=ELt5tl5Kuw24rT(M}bTDS&RN7pUf zz)cf16LoITH}OL+n)HGw@xudw~O@baxah=@C-;n^5_eV?RB< z)zP=A**t*^51Ko#lT;lNre0~7QQN8y`1(cu6@2JwRjld+FXN6(wcSraCqK~SsJ3^dHqEUTS<;~q@b;2n+E+W;R@Q8A<4_(+@;)*B zILWlx-&OfR68Q+Q=3@@?l(u;kvYGG0Y{aDS*-k14$|kJ)xQlz#nn*P_EqLF@20|YX zu*ps)5rH|&5XO@AFM5ZnpHE3A(95AQla`!8A-EX4ZJ$=`cEY8t- zW8q4qWt{BODcWY!_2BOSYMx34o(pZ zPEhKepxhn9amJYWj>^5+6g{$?C>CmyHlJ;wEsy~_fjBtfGo`dmo#NsoB@RwQfuhK-wh~z~lAO3Z z7Ie=H!wd|xELk@LiHFYc1Nb%U*fE?ZJFz`=H!O7Z-qpG1-LH4`*S~-K31ANQ<2Z}7 zhI5#UV+8Xm-qi3G-j?DWsd-mJ4DV@NEy(R9Dc+a5%To7&iYxMcRl`YKlVVYBudB$Y zSkiCu_XRZrxn;w0Cg*u()T=p^3CSK2bp@kM&n!2UUCq=@Q4K8DA@D>#FwC80 zqZ*PkY6V)}t$C(cvZM!bNjW21$HxxQCKNlyzA0 zh;5XZ=MdH%3$rL)Rk5SPMn#3A!$noaS2{fSIs(*G?CRJ9)6w6|RM&~CTie16nDn+2 zYcOI*N z*<=T%MMCC2%c<5#F%f>Pr~Ex;K6P_l)Pp5U*hNCF^kDD7^(+F}9hza9!uKcBvuOqA z6V0%4$2D9?cB~n;TMI&`#-HZA%9_iLA|!8mu5I5k9Cpx|Ze;rtvA6%P|KVBBB<_rB zPR7*^a+clG3bH%0@lIEc>b@YE`uxD~ScfB$xml77w#y#gKUTCPf)%5}h({8g1wEbv z6QM~huh=Y*s6uDP-1orJFTKb=yk} z&7)yIFSbtY0SVLGHPbpYyr%A+ydq($I__`&z8{DRZ>6YPOkRv#UcfA8^*Ii%=b;P@ z$-%)99^rEV7pZ-bt9kCFMw^=c9m>=pB9BANOO*Y@0N>(eN4#p{psfZS7vw^BL^65U~C`b%Jcyy2tV^UbaMv|h7pAf;uXXxzhe;J^Oy1ir{a&; z!6PDm;=KA9U*jRZ!7pKuV+_Q_D5fwS@;qpT`x+VIi2MVNyVplaJVQkUDdrdav5nvj N9>W~c=q%sBz<<-@%TWLT literal 0 HcmV?d00001 diff --git a/tutorials/java/build/classes/Main.class b/tutorials/java/build/classes/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..2d965ed8164c6cb861b8eece9964b82a747c1d47 GIT binary patch literal 5872 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

RXEh&zY({(h{OK~G!fw$nTxD|J5Gha!QRnedm z+|TE4Epd+0fCeM-Ww@TME2gZMa~7bC3R1t4yZw6hD$cIbvl}>z>)DN*(d2kFUc*tG zwG2hiq1eD{m0Ix(3N{;f-H?IT^ZyO}e`7^?5kvdUB$Mj2kpd+!3!7U`B7b&tR%Ap* zA&()|kGMPzqmz8zhPUV96L{f#7-8h|4kntfPb)_`P=Q4Cy`1=U(oYs&9m_}X)gkda za}ui;M*J?kJ0-c31{X^h%`JQGpHH@*B*wHU44PtxKEloOFq%h?c^FZHTlArC#Q?{C z217qbpom{t{jpAu;0I*??+8EDUQ4`((WK0am+)(ElPcwz9_3g8rIv6!BVYX=%N+6S literal 0 HcmV?d00001 diff --git a/tutorials/java/dist/README.TXT b/tutorials/java/dist/README.TXT new file mode 100644 index 0000000000..74e385cc4f --- /dev/null +++ b/tutorials/java/dist/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "phpdbg-ui.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/tutorials/java/dist/phpdbg-ui.jar b/tutorials/java/dist/phpdbg-ui.jar new file mode 100644 index 0000000000000000000000000000000000000000..24dd4b911a8770bc80bc02114ffe4f353930aae8 GIT binary patch literal 15064 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 T$Fg#%tK`4?xYe$euNv^*RUZ1= literal 0 HcmV?d00001 diff --git a/tutorials/java/manifest.mf b/tutorials/java/manifest.mf new file mode 100644 index 0000000000..328e8e5bc3 --- /dev/null +++ b/tutorials/java/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/tutorials/java/nbproject/build-impl.xml b/tutorials/java/nbproject/build-impl.xml new file mode 100644 index 0000000000..f937ce8944 --- /dev/null +++ b/tutorials/java/nbproject/build-impl.xml @@ -0,0 +1,1407 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + 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 + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tutorials/java/nbproject/genfiles.properties b/tutorials/java/nbproject/genfiles.properties new file mode 100644 index 0000000000..0b6d3d0efb --- /dev/null +++ b/tutorials/java/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=ed67686a +build.xml.script.CRC32=8c03bdb5 +build.xml.stylesheet.CRC32=8064a381@1.68.1.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=ed67686a +nbproject/build-impl.xml.script.CRC32=ea01fe36 +nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.68.1.46 diff --git a/tutorials/java/nbproject/private/config.properties b/tutorials/java/nbproject/private/config.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tutorials/java/nbproject/private/private.properties b/tutorials/java/nbproject/private/private.properties new file mode 100644 index 0000000000..5d050e308e --- /dev/null +++ b/tutorials/java/nbproject/private/private.properties @@ -0,0 +1,7 @@ +application.args=127.0.0.1 4000 +compile.on.save=true +do.depend=false +do.jar=true +javac.debug=true +javadoc.preview=true +user.properties.file=/home/joe/.netbeans/7.4/build.properties diff --git a/tutorials/java/nbproject/project.properties b/tutorials/java/nbproject/project.properties new file mode 100644 index 0000000000..c1f3c54997 --- /dev/null +++ b/tutorials/java/nbproject/project.properties @@ -0,0 +1,75 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=phpdbg-ui +application.vendor=joe +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/phpdbg-ui.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=Main +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/tutorials/java/nbproject/project.xml b/tutorials/java/nbproject/project.xml new file mode 100644 index 0000000000..0c410ae796 --- /dev/null +++ b/tutorials/java/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + phpdbg-ui + + + + + + + + + diff --git a/tutorials/java/src/DBGThread.java b/tutorials/java/src/DBGThread.java new file mode 100644 index 0000000000..9f00faaf7f --- /dev/null +++ b/tutorials/java/src/DBGThread.java @@ -0,0 +1,115 @@ + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * In a RUSH !!! + * @author joe + */ +public class DBGThread extends Socket implements Runnable { + private final String host; + private final Integer port; + private final Boolean reader; + private final JTextField field; + private final JTextArea area; + private final JScrollPane pane; + private InputStream input; + private OutputStream output; + private String buffer; + private Boolean quit; + + public DBGThread(final String host, final Integer port, final JTextField field) throws IOException { + super(host, port); + + this.host = host; + this.port = port; + this.reader = true; + this.field = field; + this.area = null; + this.pane = null; + this.quit = false; + this.buffer = null; + } + + public DBGThread(final String host, final Integer port, final JTextArea area, JScrollPane pane) throws IOException { + super(host, port); + + this.host = host; + this.port = port; + this.reader = false; + this.field = null; + this.area = area; + this.pane = pane; + this.quit = false; + this.buffer = null; + } + + public Boolean isReader() { + return this.reader; + } + + public void quit() { + synchronized(this) { + this.quit = true; + this.notifyAll(); + } + } + + @Override + public void run() { + try { + if (this.reader) { + output = this.getOutputStream(); + } else input = this.getInputStream(); + + synchronized(this) { + do { + if (this.reader) { + this.wait(); + + /* send command to stdin socket */ + if (this.field.getText() != null) { + output.write( + this.field.getText().getBytes()); + output.write("\n".getBytes()); + output.flush(); + } + this.field.setText(null); + + } else { + /* get data from stdout socket */ + byte[] bytes = new byte[1]; + do { + /* this is some of the laziest programming I ever done */ + if (input.available() == 0) { + this.wait(666); + continue; + } + + if (input.read(bytes, 0, 1) > -1) { + area.setCaretPosition( + area.getText().length()); + area.append(new String(bytes)); + } + } while (!this.quit); + } + } while(!this.quit); + } + } catch (IOException | InterruptedException ex) { + Logger.getLogger(DBGThread.class.getName()).log(Level.SEVERE, null, ex); + } + } +} diff --git a/tutorials/java/src/Main.form b/tutorials/java/src/Main.form new file mode 100644 index 0000000000..0d4c93d88c --- /dev/null +++ b/tutorials/java/src/Main.form @@ -0,0 +1,100 @@ + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tutorials/java/src/Main.java b/tutorials/java/src/Main.java new file mode 100644 index 0000000000..1aa792eeeb --- /dev/null +++ b/tutorials/java/src/Main.java @@ -0,0 +1,173 @@ + +import static java.awt.event.KeyEvent.VK_ENTER; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author joe + */ +public class Main extends javax.swing.JDialog { + + /** + * Creates new form NewJDialog + */ + public Main(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jSplitPane1 = new javax.swing.JSplitPane(); + input = new javax.swing.JTextField(); + outScrollPane = new javax.swing.JScrollPane(); + output = new javax.swing.JTextArea(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("phpdbg jui"); + + jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); + jSplitPane1.setToolTipText(""); + + input.setToolTipText(""); + input.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + inputActionPerformed(evt); + } + }); + input.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyReleased(java.awt.event.KeyEvent evt) { + inputKeyReleased(evt); + } + }); + jSplitPane1.setLeftComponent(input); + + output.setColumns(20); + output.setFont(new java.awt.Font("DialogInput", 0, 12)); // NOI18N + output.setRows(5); + outScrollPane.setViewportView(output); + + jSplitPane1.setRightComponent(outScrollPane); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 796, Short.MAX_VALUE) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void inputActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_inputActionPerformed + // TODO add your handling code here: + + }//GEN-LAST:event_inputActionPerformed + + private void inputKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_inputKeyReleased + // TODO add your handling code here: + if (evt.getKeyCode() == VK_ENTER) { + synchronized(this.in) { + this.in.notifyAll(); + } + } + }//GEN-LAST:event_inputKeyReleased + + /** + * @param args the command line arguments + */ + public static void main(final String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the dialog */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + dialog = new Main(new javax.swing.JFrame(), true); + dialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent e) { + dialog.in.quit(); + dialog.out.quit(); + System.exit(0); + } + }); + dialog.setVisible(true); + } + }); + + java.awt.EventQueue.invokeLater(new Runnable(){ + public void run(){ + try { + dialog.in = new DBGThread( + args[0], Integer.parseInt(args[1]), input); + dialog.out = new DBGThread( + args[0], Integer.parseInt(args[1]) * 2, output, outScrollPane); + + new Thread(dialog.in).start(); + new Thread(dialog.out).start(); + + } catch (IOException ex) { + Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); + System.exit(0); + } + } + }); + } + + private DBGThread in; + private DBGThread out; + protected static Main dialog; + + // Variables declaration - do not modify//GEN-BEGIN:variables + protected static javax.swing.JTextField input; + private javax.swing.JSplitPane jSplitPane1; + protected static javax.swing.JScrollPane outScrollPane; + protected static javax.swing.JTextArea output; + // End of variables declaration//GEN-END:variables +} -- 2.40.0