<!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=ISO-8859-1" />
<title>LogFactor5Dialog xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/log4j/lf5/viewer/LogFactor5Dialog.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 or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</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="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.lf5.viewer;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> java.awt.Component;
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.awt.Container;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.awt.Dimension;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.awt.Font;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.awt.GridBagConstraints;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.awt.GridBagLayout;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.awt.Insets;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.awt.Label;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.awt.Toolkit;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.awt.Window;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> javax.swing.JDialog;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> javax.swing.JFrame;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">/**</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * LogFactor5Dialog</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> *</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * @author Richard Hurst</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @author Brad Marlborough</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> */</em>
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>  <em class="jxr_comment">// Contributed by ThoughtWorks Inc.</em>
<a name="41" href="#41">41</a>  
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> LogFactor5Dialog <strong class="jxr_keyword">extends</strong> JDialog {
<a name="43" href="#43">43</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="44" href="#44">44</a>    <em class="jxr_comment">//   Constants:</em>
<a name="45" href="#45">45</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="46" href="#46">46</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Font DISPLAY_FONT = <strong class="jxr_keyword">new</strong> Font(<span class="jxr_string">"Arial"</span>, Font.BOLD, 12);
<a name="47" href="#47">47</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="48" href="#48">48</a>    <em class="jxr_comment">//   Protected Variables:</em>
<a name="49" href="#49">49</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="52" href="#52">52</a>    <em class="jxr_comment">//   Private Variables:</em>
<a name="53" href="#53">53</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="56" href="#56">56</a>    <em class="jxr_comment">//   Constructors:</em>
<a name="57" href="#57">57</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="58" href="#58">58</a>    <strong class="jxr_keyword">protected</strong> LogFactor5Dialog(JFrame jframe, String message, <strong class="jxr_keyword">boolean</strong> modal) {
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">super</strong>(jframe, message, modal);
<a name="60" href="#60">60</a>    }
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="63" href="#63">63</a>    <em class="jxr_comment">//   Public Methods:</em>
<a name="64" href="#64">64</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="65" href="#65">65</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> show() {
<a name="66" href="#66">66</a>      pack();
<a name="67" href="#67">67</a>      minimumSizeDialog(<strong class="jxr_keyword">this</strong>, 200, 100);
<a name="68" href="#68">68</a>      centerWindow(<strong class="jxr_keyword">this</strong>);
<a name="69" href="#69">69</a>      <strong class="jxr_keyword">super</strong>.show();
<a name="70" href="#70">70</a>    }
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="73" href="#73">73</a>    <em class="jxr_comment">//   Protected Methods:</em>
<a name="74" href="#74">74</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="77" href="#77">77</a>    <em class="jxr_comment">//   Private Methods:</em>
<a name="78" href="#78">78</a>    <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="79" href="#79">79</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> centerWindow(Window win) {
<a name="80" href="#80">80</a>      Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>      <em class="jxr_comment">// If larger than screen, reduce window width or height</em>
<a name="83" href="#83">83</a>      <strong class="jxr_keyword">if</strong> (screenDim.width &lt; win.getSize().width) {
<a name="84" href="#84">84</a>        win.setSize(screenDim.width, win.getSize().height);
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>      <strong class="jxr_keyword">if</strong> (screenDim.height &lt; win.getSize().height) {
<a name="88" href="#88">88</a>        win.setSize(win.getSize().width, screenDim.height);
<a name="89" href="#89">89</a>      }
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>      <em class="jxr_comment">// Center Frame, Dialogue or Window on screen</em>
<a name="92" href="#92">92</a>      <strong class="jxr_keyword">int</strong> x = (screenDim.width - win.getSize().width) / 2;
<a name="93" href="#93">93</a>      <strong class="jxr_keyword">int</strong> y = (screenDim.height - win.getSize().height) / 2;
<a name="94" href="#94">94</a>      win.setLocation(x, y);
<a name="95" href="#95">95</a>    }
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> wrapStringOnPanel(String message,
<a name="98" href="#98">98</a>        Container container) {
<a name="99" href="#99">99</a>      GridBagConstraints c = getDefaultConstraints();
<a name="100" href="#100">100</a>     c.gridwidth = GridBagConstraints.REMAINDER;
<a name="101" href="#101">101</a>     <em class="jxr_comment">// Insets() args are top, left, bottom, right</em>
<a name="102" href="#102">102</a>     c.insets = <strong class="jxr_keyword">new</strong> Insets(0, 0, 0, 0);
<a name="103" href="#103">103</a>     GridBagLayout gbLayout = (GridBagLayout) container.getLayout();
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a> 
<a name="106" href="#106">106</a>     <strong class="jxr_keyword">while</strong> (message.length() &gt; 0) {
<a name="107" href="#107">107</a>       <strong class="jxr_keyword">int</strong> newLineIndex = message.indexOf('\n');
<a name="108" href="#108">108</a>       String line;
<a name="109" href="#109">109</a>       <strong class="jxr_keyword">if</strong> (newLineIndex &gt;= 0) {
<a name="110" href="#110">110</a>         line = message.substring(0, newLineIndex);
<a name="111" href="#111">111</a>         message = message.substring(newLineIndex + 1);
<a name="112" href="#112">112</a>       } <strong class="jxr_keyword">else</strong> {
<a name="113" href="#113">113</a>         line = message;
<a name="114" href="#114">114</a>         message = <span class="jxr_string">""</span>;
<a name="115" href="#115">115</a>       }
<a name="116" href="#116">116</a>       Label label = <strong class="jxr_keyword">new</strong> Label(line);
<a name="117" href="#117">117</a>       label.setFont(DISPLAY_FONT);
<a name="118" href="#118">118</a>       gbLayout.setConstraints(label, c);
<a name="119" href="#119">119</a>       container.add(label);
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a>   }
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>   <strong class="jxr_keyword">protected</strong> GridBagConstraints getDefaultConstraints() {
<a name="124" href="#124">124</a>     GridBagConstraints constraints = <strong class="jxr_keyword">new</strong> GridBagConstraints();
<a name="125" href="#125">125</a>     constraints.weightx = 1.0;
<a name="126" href="#126">126</a>     constraints.weighty = 1.0;
<a name="127" href="#127">127</a>     constraints.gridheight = 1; <em class="jxr_comment">// One row high</em>
<a name="128" href="#128">128</a>     <em class="jxr_comment">// Insets() args are top, left, bottom, right</em>
<a name="129" href="#129">129</a>     constraints.insets = <strong class="jxr_keyword">new</strong> Insets(4, 4, 4, 4);
<a name="130" href="#130">130</a>     <em class="jxr_comment">// fill of NONE means do not change size</em>
<a name="131" href="#131">131</a>     constraints.fill = GridBagConstraints.NONE;
<a name="132" href="#132">132</a>     <em class="jxr_comment">// WEST means align left</em>
<a name="133" href="#133">133</a>     constraints.anchor = GridBagConstraints.WEST;
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>     <strong class="jxr_keyword">return</strong> constraints;
<a name="136" href="#136">136</a>   }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> minimumSizeDialog(Component component,
<a name="139" href="#139">139</a>       <strong class="jxr_keyword">int</strong> minWidth,
<a name="140" href="#140">140</a>       <strong class="jxr_keyword">int</strong> minHeight) {
<a name="141" href="#141">141</a>     <em class="jxr_comment">// set the min width</em>
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">if</strong> (component.getSize().width &lt; minWidth)
<a name="143" href="#143">143</a>       component.setSize(minWidth, component.getSize().height);
<a name="144" href="#144">144</a>     <em class="jxr_comment">// set the min height</em>
<a name="145" href="#145">145</a>     <strong class="jxr_keyword">if</strong> (component.getSize().height &lt; minHeight)
<a name="146" href="#146">146</a>       component.setSize(component.getSize().width, minHeight);
<a name="147" href="#147">147</a>   }
<a name="148" href="#148">148</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="149" href="#149">149</a>   <em class="jxr_comment">//   Nested Top-Level Classes or Interfaces</em>
<a name="150" href="#150">150</a>   <em class="jxr_comment">//--------------------------------------------------------------------------</em>
<a name="151" href="#151">151</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

