<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>GraphicalCharGenClient xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../apidocs/org/apache/mina/example/imagine/step1/client/GraphicalCharGenClient.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *   Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *   or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *   distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *   regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *   to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *   "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *   with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *     <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *   software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *   KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *   specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *   under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.example.imagine.step1.client;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.awt.Color;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.awt.Container;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.awt.Dimension;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.awt.GridBagConstraints;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.awt.Insets;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.awt.Rectangle;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionEvent;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.awt.event.ActionListener;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.awt.image.BufferedImage;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> javax.swing.JButton;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> javax.swing.JCheckBox;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> javax.swing.JFrame;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> javax.swing.JLabel;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> javax.swing.JOptionPane;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> javax.swing.JSpinner;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> javax.swing.JTextField;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> javax.swing.SpinnerNumberModel;
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> javax.swing.UIManager;
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> javax.swing.WindowConstants;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.example.imagine.step1.ImageRequest;
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.example.imagine.step1.server.ImageServer;
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">/**</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * Swing application that acts as a client of the {@link ImageServer}</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> *</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * @version $Rev: 662903 $, $Date: 2008-06-04 00:09:53 +0200 (mer, 04 jun 2008) $</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> */</em>
<a name="54" href="#54">54</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/GraphicalCharGenClient.html">GraphicalCharGenClient</a> <strong class="jxr_keyword">extends</strong> JFrame implements <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImageListener.html">ImageListener</a> {
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> PORT = 33789;
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String HOST = <span class="jxr_string">"localhost"</span>;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/GraphicalCharGenClient.html">GraphicalCharGenClient</a>() {
<a name="62" href="#62">62</a>          initComponents();
<a name="63" href="#63">63</a>          jSpinnerHeight.setModel(spinnerHeightModel);
<a name="64" href="#64">64</a>          jSpinnerWidth.setModel(spinnerWidthModel);
<a name="65" href="#65">65</a>          jSpinnerChars.setModel(spinnerCharsModel);
<a name="66" href="#66">66</a>          jTextFieldHost.setText(HOST);
<a name="67" href="#67">67</a>          jTextFieldPort.setText(String.valueOf(PORT));
<a name="68" href="#68">68</a>          setTitle(<span class="jxr_string">""</span>);
<a name="69" href="#69">69</a>      }
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> jButtonConnectActionPerformed() {
<a name="72" href="#72">72</a>          <strong class="jxr_keyword">try</strong> {
<a name="73" href="#73">73</a>              setTitle(<span class="jxr_string">"connecting..."</span>);
<a name="74" href="#74">74</a>              String host = jTextFieldHost.getText();
<a name="75" href="#75">75</a>              <strong class="jxr_keyword">int</strong> port = Integer.valueOf(jTextFieldPort.getText());
<a name="76" href="#76">76</a>              <strong class="jxr_keyword">if</strong> (imageClient != <strong class="jxr_keyword">null</strong>) {
<a name="77" href="#77">77</a>                  imageClient.disconnect();
<a name="78" href="#78">78</a>              }
<a name="79" href="#79">79</a>              imageClient = <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImageClient.html">ImageClient</a>(host, port, <strong class="jxr_keyword">this</strong>);
<a name="80" href="#80">80</a>              imageClient.connect();
<a name="81" href="#81">81</a>              jButtonConnect.setEnabled(!imageClient.isConnected());
<a name="82" href="#82">82</a>          } <strong class="jxr_keyword">catch</strong> (NumberFormatException e) {
<a name="83" href="#83">83</a>              onException(e);
<a name="84" href="#84">84</a>          } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="85" href="#85">85</a>              onException(e);
<a name="86" href="#86">86</a>          }
<a name="87" href="#87">87</a>      }
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> jButtonDisconnectActionPerformed() {
<a name="90" href="#90">90</a>          setTitle(<span class="jxr_string">"disconnecting"</span>);
<a name="91" href="#91">91</a>          imageClient.disconnect();
<a name="92" href="#92">92</a>      }
<a name="93" href="#93">93</a>  
<a name="94" href="#94">94</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> jButtonSendRequestActionPerformed() {
<a name="95" href="#95">95</a>          sendRequest();
<a name="96" href="#96">96</a>      }
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> sendRequest() {
<a name="99" href="#99">99</a>          <strong class="jxr_keyword">int</strong> chars = spinnerCharsModel.getNumber().intValue();
<a name="100" href="#100">100</a>         <strong class="jxr_keyword">int</strong> height = spinnerHeightModel.getNumber().intValue();
<a name="101" href="#101">101</a>         <strong class="jxr_keyword">int</strong> width = spinnerWidthModel.getNumber().intValue();
<a name="102" href="#102">102</a>         imageClient.sendRequest(<strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/ImageRequest.html">ImageRequest</a>(width, height, chars));
<a name="103" href="#103">103</a>     }
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onImages(BufferedImage image1, BufferedImage image2) {
<a name="106" href="#106">106</a>         <strong class="jxr_keyword">if</strong> (checkBoxContinuous.isSelected()) {
<a name="107" href="#107">107</a>             <em class="jxr_comment">// already request next image</em>
<a name="108" href="#108">108</a>             sendRequest();
<a name="109" href="#109">109</a>         }
<a name="110" href="#110">110</a>         imagePanel1.setImages(image1, image2);
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> onException(Throwable throwable) {
<a name="114" href="#114">114</a>         Throwable cause = throwable;
<a name="115" href="#115">115</a>         <strong class="jxr_keyword">while</strong> (cause.getCause() != <strong class="jxr_keyword">null</strong>) {
<a name="116" href="#116">116</a>             cause = cause.getCause();
<a name="117" href="#117">117</a>         }
<a name="118" href="#118">118</a>         JOptionPane.showMessageDialog(
<a name="119" href="#119">119</a>                 <strong class="jxr_keyword">this</strong>,
<a name="120" href="#120">120</a>                 cause.getMessage(),
<a name="121" href="#121">121</a>                 throwable.getMessage(),
<a name="122" href="#122">122</a>                 JOptionPane.ERROR_MESSAGE);
<a name="123" href="#123">123</a>         setTitle(<span class="jxr_string">""</span>);
<a name="124" href="#124">124</a>         jButtonConnect.setEnabled(!imageClient.isConnected());
<a name="125" href="#125">125</a>         jButtonDisconnect.setEnabled(imageClient.isConnected());
<a name="126" href="#126">126</a>     }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened() {
<a name="129" href="#129">129</a>         jButtonDisconnect.setEnabled(<strong class="jxr_keyword">true</strong>);
<a name="130" href="#130">130</a>         jButtonSendRequest.setEnabled(<strong class="jxr_keyword">true</strong>);
<a name="131" href="#131">131</a>         jButtonConnect.setEnabled(false);
<a name="132" href="#132">132</a>         setTitle(<span class="jxr_string">"connected"</span>);
<a name="133" href="#133">133</a>     }
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed() {
<a name="136" href="#136">136</a>         jButtonDisconnect.setEnabled(false);
<a name="137" href="#137">137</a>         jButtonSendRequest.setEnabled(false);
<a name="138" href="#138">138</a>         jButtonConnect.setEnabled(<strong class="jxr_keyword">true</strong>);
<a name="139" href="#139">139</a>         setTitle(<span class="jxr_string">"not connected"</span>);
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>     @Override
<a name="143" href="#143">143</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTitle(String title) {
<a name="144" href="#144">144</a>         <strong class="jxr_keyword">super</strong>.setTitle(<span class="jxr_string">"MINA - Chargen client - "</span> + title);
<a name="145" href="#145">145</a>     }
<a name="146" href="#146">146</a> 
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> initComponents() {
<a name="149" href="#149">149</a>         JLabel jLabel1 = <strong class="jxr_keyword">new</strong> JLabel();
<a name="150" href="#150">150</a>         jTextFieldHost = <strong class="jxr_keyword">new</strong> JTextField();
<a name="151" href="#151">151</a>         jButtonConnect = <strong class="jxr_keyword">new</strong> JButton();
<a name="152" href="#152">152</a>         JLabel jLabel3 = <strong class="jxr_keyword">new</strong> JLabel();
<a name="153" href="#153">153</a>         jSpinnerWidth = <strong class="jxr_keyword">new</strong> JSpinner();
<a name="154" href="#154">154</a>         JLabel label5 = <strong class="jxr_keyword">new</strong> JLabel();
<a name="155" href="#155">155</a>         jSpinnerChars = <strong class="jxr_keyword">new</strong> JSpinner();
<a name="156" href="#156">156</a>         checkBoxContinuous = <strong class="jxr_keyword">new</strong> JCheckBox();
<a name="157" href="#157">157</a>         JLabel jLabel2 = <strong class="jxr_keyword">new</strong> JLabel();
<a name="158" href="#158">158</a>         jTextFieldPort = <strong class="jxr_keyword">new</strong> JTextField();
<a name="159" href="#159">159</a>         jButtonDisconnect = <strong class="jxr_keyword">new</strong> JButton();
<a name="160" href="#160">160</a>         JLabel jLabel4 = <strong class="jxr_keyword">new</strong> JLabel();
<a name="161" href="#161">161</a>         jSpinnerHeight = <strong class="jxr_keyword">new</strong> JSpinner();
<a name="162" href="#162">162</a>         jButtonSendRequest = <strong class="jxr_keyword">new</strong> JButton();
<a name="163" href="#163">163</a>         imagePanel1 = <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImagePanel.html">ImagePanel</a>();
<a name="164" href="#164">164</a> 
<a name="165" href="#165">165</a>         <em class="jxr_comment">//======== this ========</em>
<a name="166" href="#166">166</a>         setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
<a name="167" href="#167">167</a>         setMinimumSize(<strong class="jxr_keyword">new</strong> Dimension(700, 300));
<a name="168" href="#168">168</a>         setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(740, 600));
<a name="169" href="#169">169</a>         Container contentPane = getContentPane();
<a name="170" href="#170">170</a>         contentPane.setLayout(<strong class="jxr_keyword">new</strong> GridBagLayout());
<a name="171" href="#171">171</a>         ((GridBagLayout) contentPane.getLayout()).columnWidths = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{36, 167, 99, 41, 66, 75, 57, 96, 0, 0};
<a name="172" href="#172">172</a>         ((GridBagLayout) contentPane.getLayout()).rowHeights = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">int</strong>[]{10, 31, 31, 256, 0};
<a name="173" href="#173">173</a>         ((GridBagLayout) contentPane.getLayout()).columnWeights = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">double</strong>[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0E-4};
<a name="174" href="#174">174</a>         ((GridBagLayout) contentPane.getLayout()).rowWeights = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">double</strong>[]{0.0, 0.0, 0.0, 1.0, 1.0E-4};
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>         <em class="jxr_comment">//---- jLabel1 ----</em>
<a name="177" href="#177">177</a>         jLabel1.setText(<span class="jxr_string">"Host"</span>);
<a name="178" href="#178">178</a>         contentPane.add(jLabel1, <strong class="jxr_keyword">new</strong> GridBagConstraints(0, 1, 1, 1, 0.0, 0.0,
<a name="179" href="#179">179</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="180" href="#180">180</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 5), 0, 0));
<a name="181" href="#181">181</a>         contentPane.add(jTextFieldHost, <strong class="jxr_keyword">new</strong> GridBagConstraints(1, 1, 1, 1, 0.0, 0.0,
<a name="182" href="#182">182</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="183" href="#183">183</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>         <em class="jxr_comment">//---- jButtonConnect ----</em>
<a name="186" href="#186">186</a>         jButtonConnect.setText(<span class="jxr_string">"Connect"</span>);
<a name="187" href="#187">187</a>         jButtonConnect.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() {
<a name="188" href="#188">188</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a name="189" href="#189">189</a>                 jButtonConnectActionPerformed();
<a name="190" href="#190">190</a>             }
<a name="191" href="#191">191</a>         });
<a name="192" href="#192">192</a>         contentPane.add(jButtonConnect, <strong class="jxr_keyword">new</strong> GridBagConstraints(2, 1, 1, 1, 0.0, 0.0,
<a name="193" href="#193">193</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="194" href="#194">194</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>         <em class="jxr_comment">//---- jLabel3 ----</em>
<a name="197" href="#197">197</a>         jLabel3.setText(<span class="jxr_string">"Width"</span>);
<a name="198" href="#198">198</a>         contentPane.add(jLabel3, <strong class="jxr_keyword">new</strong> GridBagConstraints(3, 1, 1, 1, 0.0, 0.0,
<a name="199" href="#199">199</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="200" href="#200">200</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 0, 5, 5), 0, 0));
<a name="201" href="#201">201</a>         contentPane.add(jSpinnerWidth, <strong class="jxr_keyword">new</strong> GridBagConstraints(4, 1, 1, 1, 0.0, 0.0,
<a name="202" href="#202">202</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="203" href="#203">203</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         <em class="jxr_comment">//---- label5 ----</em>
<a name="206" href="#206">206</a>         label5.setText(<span class="jxr_string">"characters"</span>);
<a name="207" href="#207">207</a>         contentPane.add(label5, <strong class="jxr_keyword">new</strong> GridBagConstraints(5, 1, 1, 1, 0.0, 0.0,
<a name="208" href="#208">208</a>                 GridBagConstraints.EAST, GridBagConstraints.VERTICAL,
<a name="209" href="#209">209</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 0, 5, 5), 0, 0));
<a name="210" href="#210">210</a>         contentPane.add(jSpinnerChars, <strong class="jxr_keyword">new</strong> GridBagConstraints(6, 1, 1, 1, 0.0, 0.0,
<a name="211" href="#211">211</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="212" href="#212">212</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 0, 5, 10), 0, 0));
<a name="213" href="#213">213</a> 
<a name="214" href="#214">214</a>         <em class="jxr_comment">//---- checkBoxContinuous ----</em>
<a name="215" href="#215">215</a>         checkBoxContinuous.setText(<span class="jxr_string">"continuous"</span>);
<a name="216" href="#216">216</a>         contentPane.add(checkBoxContinuous, <strong class="jxr_keyword">new</strong> GridBagConstraints(7, 1, 1, 1, 0.0, 0.0,
<a name="217" href="#217">217</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="218" href="#218">218</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="219" href="#219">219</a> 
<a name="220" href="#220">220</a>         <em class="jxr_comment">//---- jLabel2 ----</em>
<a name="221" href="#221">221</a>         jLabel2.setText(<span class="jxr_string">"Port"</span>);
<a name="222" href="#222">222</a>         contentPane.add(jLabel2, <strong class="jxr_keyword">new</strong> GridBagConstraints(0, 2, 1, 1, 0.0, 0.0,
<a name="223" href="#223">223</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="224" href="#224">224</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 5), 0, 0));
<a name="225" href="#225">225</a>         contentPane.add(jTextFieldPort, <strong class="jxr_keyword">new</strong> GridBagConstraints(1, 2, 1, 1, 0.0, 0.0,
<a name="226" href="#226">226</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="227" href="#227">227</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="228" href="#228">228</a> 
<a name="229" href="#229">229</a>         <em class="jxr_comment">//---- jButtonDisconnect ----</em>
<a name="230" href="#230">230</a>         jButtonDisconnect.setText(<span class="jxr_string">"Disconnect"</span>);
<a name="231" href="#231">231</a>         jButtonDisconnect.setEnabled(false);
<a name="232" href="#232">232</a>         jButtonDisconnect.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() {
<a name="233" href="#233">233</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a name="234" href="#234">234</a>                 jButtonDisconnectActionPerformed();
<a name="235" href="#235">235</a>             }
<a name="236" href="#236">236</a>         });
<a name="237" href="#237">237</a>         contentPane.add(jButtonDisconnect, <strong class="jxr_keyword">new</strong> GridBagConstraints(2, 2, 1, 1, 0.0, 0.0,
<a name="238" href="#238">238</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="239" href="#239">239</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="240" href="#240">240</a> 
<a name="241" href="#241">241</a>         <em class="jxr_comment">//---- jLabel4 ----</em>
<a name="242" href="#242">242</a>         jLabel4.setText(<span class="jxr_string">"Height"</span>);
<a name="243" href="#243">243</a>         contentPane.add(jLabel4, <strong class="jxr_keyword">new</strong> GridBagConstraints(3, 2, 1, 1, 0.0, 0.0,
<a name="244" href="#244">244</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="245" href="#245">245</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 0, 5, 5), 0, 0));
<a name="246" href="#246">246</a>         contentPane.add(jSpinnerHeight, <strong class="jxr_keyword">new</strong> GridBagConstraints(4, 2, 1, 1, 0.0, 0.0,
<a name="247" href="#247">247</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="248" href="#248">248</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>         <em class="jxr_comment">//---- jButtonSendRequest ----</em>
<a name="251" href="#251">251</a>         jButtonSendRequest.setText(<span class="jxr_string">"Send Request"</span>);
<a name="252" href="#252">252</a>         jButtonSendRequest.setEnabled(false);
<a name="253" href="#253">253</a>         jButtonSendRequest.addActionListener(<strong class="jxr_keyword">new</strong> ActionListener() {
<a name="254" href="#254">254</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> actionPerformed(ActionEvent e) {
<a name="255" href="#255">255</a>                 jButtonSendRequestActionPerformed();
<a name="256" href="#256">256</a>             }
<a name="257" href="#257">257</a>         });
<a name="258" href="#258">258</a>         contentPane.add(jButtonSendRequest, <strong class="jxr_keyword">new</strong> GridBagConstraints(5, 2, 2, 1, 0.0, 0.0,
<a name="259" href="#259">259</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="260" href="#260">260</a>                 <strong class="jxr_keyword">new</strong> Insets(0, 5, 5, 10), 0, 0));
<a name="261" href="#261">261</a> 
<a name="262" href="#262">262</a>         <em class="jxr_comment">//======== imagePanel1 ========</em>
<a name="263" href="#263">263</a>         {
<a name="264" href="#264">264</a>             imagePanel1.setBackground(<strong class="jxr_keyword">new</strong> Color(51, 153, 255));
<a name="265" href="#265">265</a>             imagePanel1.setPreferredSize(<strong class="jxr_keyword">new</strong> Dimension(500, 500));
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>             { <em class="jxr_comment">// compute preferred size</em>
<a name="268" href="#268">268</a>                 Dimension preferredSize = <strong class="jxr_keyword">new</strong> Dimension();
<a name="269" href="#269">269</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; imagePanel1.getComponentCount(); i++) {
<a name="270" href="#270">270</a>                     Rectangle bounds = imagePanel1.getComponent(i).getBounds();
<a name="271" href="#271">271</a>                     preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
<a name="272" href="#272">272</a>                     preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
<a name="273" href="#273">273</a>                 }
<a name="274" href="#274">274</a>                 Insets insets = imagePanel1.getInsets();
<a name="275" href="#275">275</a>                 preferredSize.width += insets.right;
<a name="276" href="#276">276</a>                 preferredSize.height += insets.bottom;
<a name="277" href="#277">277</a>                 imagePanel1.setMinimumSize(preferredSize);
<a name="278" href="#278">278</a>                 imagePanel1.setPreferredSize(preferredSize);
<a name="279" href="#279">279</a>             }
<a name="280" href="#280">280</a>         }
<a name="281" href="#281">281</a>         contentPane.add(imagePanel1, <strong class="jxr_keyword">new</strong> GridBagConstraints(0, 3, 9, 1, 0.0, 0.0,
<a name="282" href="#282">282</a>                 GridBagConstraints.CENTER, GridBagConstraints.BOTH,
<a name="283" href="#283">283</a>                 <strong class="jxr_keyword">new</strong> Insets(8, 5, 8, 5), 0, 0));
<a name="284" href="#284">284</a>         pack();
<a name="285" href="#285">285</a>         setLocationRelativeTo(getOwner());
<a name="286" href="#286">286</a>     }
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <em class="jxr_javadoccomment">/**</em>
<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">     * @param args the command line arguments</em>
<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">     */</em>
<a name="291" href="#291">291</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String args[]) {
<a name="292" href="#292">292</a>         <strong class="jxr_keyword">try</strong> {
<a name="293" href="#293">293</a>             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
<a name="294" href="#294">294</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="295" href="#295">295</a>             <em class="jxr_comment">// ignore</em>
<a name="296" href="#296">296</a>         }
<a name="297" href="#297">297</a>         java.awt.EventQueue.invokeLater(<strong class="jxr_keyword">new</strong> Runnable() {
<a name="298" href="#298">298</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="299" href="#299">299</a>                 <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/GraphicalCharGenClient.html">GraphicalCharGenClient</a>().setVisible(<strong class="jxr_keyword">true</strong>);
<a name="300" href="#300">300</a>             }
<a name="301" href="#301">301</a>         });
<a name="302" href="#302">302</a>     }
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>     <strong class="jxr_keyword">private</strong> JTextField jTextFieldHost;
<a name="305" href="#305">305</a>     <strong class="jxr_keyword">private</strong> JButton jButtonConnect;
<a name="306" href="#306">306</a>     <strong class="jxr_keyword">private</strong> JSpinner jSpinnerWidth;
<a name="307" href="#307">307</a>     <strong class="jxr_keyword">private</strong> JSpinner jSpinnerChars;
<a name="308" href="#308">308</a>     <strong class="jxr_keyword">private</strong> JCheckBox checkBoxContinuous;
<a name="309" href="#309">309</a>     <strong class="jxr_keyword">private</strong> JTextField jTextFieldPort;
<a name="310" href="#310">310</a>     <strong class="jxr_keyword">private</strong> JButton jButtonDisconnect;
<a name="311" href="#311">311</a>     <strong class="jxr_keyword">private</strong> JSpinner jSpinnerHeight;
<a name="312" href="#312">312</a>     <strong class="jxr_keyword">private</strong> JButton jButtonSendRequest;
<a name="313" href="#313">313</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImagePanel.html">ImagePanel</a> imagePanel1;
<a name="314" href="#314">314</a> 
<a name="315" href="#315">315</a>     <strong class="jxr_keyword">private</strong> SpinnerNumberModel spinnerHeightModel = <strong class="jxr_keyword">new</strong> SpinnerNumberModel(100, 50, 600, 25);
<a name="316" href="#316">316</a>     <strong class="jxr_keyword">private</strong> SpinnerNumberModel spinnerWidthModel = <strong class="jxr_keyword">new</strong> SpinnerNumberModel(200, 50, 1000, 25);
<a name="317" href="#317">317</a>     <strong class="jxr_keyword">private</strong> SpinnerNumberModel spinnerCharsModel = <strong class="jxr_keyword">new</strong> SpinnerNumberModel(10, 1, 60, 1);
<a name="318" href="#318">318</a> 
<a name="319" href="#319">319</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImageClient.html">ImageClient</a> imageClient = <strong class="jxr_keyword">new</strong> <a href="../../../../../../../org/apache/mina/example/imagine/step1/client/ImageClient.html">ImageClient</a>(HOST, PORT, <strong class="jxr_keyword">this</strong>);
<a name="320" href="#320">320</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

