epubjs
Version:
Render ePub documents in the browser, across many devices
39 lines (33 loc) • 6.67 kB
HTML
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>The JSplitPane Class</title><link rel="stylesheet" href="core.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"/></head><body><div class="sect1" title="The JSplitPane Class"><div class="titlepage"><div><div><h1 class="title"><a id="learnjava3-CHP-17-SECT-11"/>The JSplitPane Class</h1></div></div></div><p>A <span class="emphasis"><em>split pane</em></span> is a special container that holds
two components, each in its own subpane. A <span class="emphasis"><em>splitter
bar</em></span> adjusts the sizes of the two subpanes. In a document
viewer, for example, you might use a split pane to show a table of
contents next to a page of text.</p><p>The following example uses two <code class="literal">JLabel</code>s containing <code class="literal">ImageIcon</code>s, like the previous example. It
displays the two labels, wrapped in <code class="literal">JScrollPanes</code>, on either side of a <code class="literal">JSplitPane</code> (see <a class="xref" href="ch17s09.html#learnjava3-CHP-17-FIG-10" title="Figure 17-10. Using a split pane">Figure 17-10</a>). You can drag the splitter bar back
and forth to adjust the sizes of the two contained components.</p><a id="I_17_tt1035"/><pre class="programlisting"> <code class="c1">//file: SplitPaneFrame.java</code>
<code class="kn">import</code> <code class="nn">java.awt.*</code><code class="o">;</code>
<code class="kn">import</code> <code class="nn">java.awt.event.*</code><code class="o">;</code>
<code class="kn">import</code> <code class="nn">javax.swing.*</code><code class="o">;</code>
<code class="kn">import</code> <code class="nn">javax.swing.border.*</code><code class="o">;</code>
<code class="kd">public</code> <code class="kd">class</code> <code class="nc">SplitPaneFrame</code> <code class="o">{</code>
<code class="kd">public</code> <code class="kd">static</code> <code class="kt">void</code> <code class="nf">main</code><code class="o">(</code><code class="n">String</code><code class="o">[]</code> <code class="n">args</code><code class="o">)</code> <code class="o">{</code>
<code class="n">String</code> <code class="n">fileOne</code> <code class="o">=</code> <code class="s">"Piazza di Spagna.jpg"</code><code class="o">;</code>
<code class="n">String</code> <code class="n">fileTwo</code> <code class="o">=</code> <code class="s">"L1-Light.jpg"</code><code class="o">;</code>
<code class="k">if</code> <code class="o">(</code><code class="n">args</code><code class="o">.</code><code class="na">length</code> <code class="o">></code> <code class="mi">0</code><code class="o">)</code> <code class="n">fileOne</code> <code class="o">=</code> <code class="n">args</code><code class="o">[</code><code class="mi">0</code><code class="o">];</code>
<code class="k">if</code> <code class="o">(</code><code class="n">args</code><code class="o">.</code><code class="na">length</code> <code class="o">></code> <code class="mi">1</code><code class="o">)</code> <code class="n">fileTwo</code> <code class="o">=</code> <code class="n">args</code><code class="o">[</code><code class="mi">1</code><code class="o">];</code>
<code class="n">JFrame</code> <code class="n">frame</code> <code class="o">=</code> <code class="k">new</code> <code class="n">JFrame</code><code class="o">(</code><code class="s">"SplitPaneFrame"</code><code class="o">);</code>
<code class="n">JLabel</code> <code class="n">leftImage</code> <code class="o">=</code> <code class="k">new</code> <code class="n">JLabel</code><code class="o">(</code> <code class="k">new</code> <code class="n">ImageIcon</code><code class="o">(</code> <code class="n">fileOne</code> <code class="o">)</code> <code class="o">);</code>
<code class="n">Component</code> <code class="n">left</code> <code class="o">=</code> <code class="k">new</code> <code class="n">JScrollPane</code><code class="o">(</code><code class="n">leftImage</code><code class="o">);</code>
<code class="n">JLabel</code> <code class="n">rightImage</code> <code class="o">=</code> <code class="k">new</code> <code class="n">JLabel</code><code class="o">(</code> <code class="k">new</code> <code class="n">ImageIcon</code><code class="o">(</code> <code class="n">fileTwo</code> <code class="o">)</code> <code class="o">);</code>
<code class="n">Component</code> <code class="n">right</code> <code class="o">=</code> <code class="k">new</code> <code class="n">JScrollPane</code><code class="o">(</code><code class="n">rightImage</code><code class="o">);</code>
<code class="n">JSplitPane</code> <code class="n">split</code> <code class="o">=</code>
<code class="k">new</code> <code class="nf">JSplitPane</code><code class="o">(</code><code class="n">JSplitPane</code><code class="o">.</code><code class="na">HORIZONTAL_SPLIT</code><code class="o">,</code> <code class="n">left</code><code class="o">,</code> <code class="n">right</code><code class="o">);</code>
<code class="n">split</code><code class="o">.</code><code class="na">setDividerLocation</code><code class="o">(</code><code class="mi">100</code><code class="o">);</code>
<code class="n">frame</code><code class="o">.</code><code class="na">getContentPane</code><code class="o">().</code><code class="na">add</code><code class="o">(</code><code class="n">split</code><code class="o">);</code>
<code class="n">frame</code><code class="o">.</code><code class="na">setDefaultCloseOperation</code><code class="o">(</code> <code class="n">JFrame</code><code class="o">.</code><code class="na">EXIT_ON_CLOSE</code> <code class="o">);</code>
<code class="n">frame</code><code class="o">.</code><code class="na">setSize</code><code class="o">(</code><code class="mi">300</code><code class="o">,</code> <code class="mi">200</code><code class="o">);</code>
<code class="n">frame</code><code class="o">.</code><code class="na">setVisible</code><code class="o">(</code><code class="kc">true</code><code class="o">);</code>
<code class="o">}</code>
<code class="o">}</code></pre><div class="figure"><a id="learnjava3-CHP-17-FIG-10"/><div class="figure-contents"><div class="mediaobject"><a id="I_17_tt1036"/><img src="httpatomoreillycomsourceoreillyimages1707662.png.jpg" alt="Using a split pane"/></div></div><p class="title">Figure 17-10. Using a split pane</p></div></div></body></html>