<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="en_US">
<channel><title>てんぷらメモ</title>
<link>http://terai.xrea.jp/</link>
<description>ソフトウェア開発関連(Swing,Relaxer,Subversionなど)のメモ</description>
<language>en_US</language>
<generator>rssdiff plugin for PukiWiki</generator>
<item>
<link>http://terai.xrea.jp/Swing/_SandBox.html</link>
<title>Swing/_SandBox</title>
<pubDate>Tue, 09 Feb 2010 21:10:05 +0900</pubDate>
<description>+- &amp;jnlp(Swing/ProgressMonitor); [[Swing/ProgressMonitor]]
</description>
<content:encoded><![CDATA[<div class="block">
34
<div class="line"><add><code>- &amp;jnlp(Swing/ProgressMonitor); [[Swing/ProgressMonitor]]</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_JTable.html</link>
<title>Swing/_JTable</title>
<pubDate>Mon, 08 Feb 2010 18:56:36 +0900</pubDate>
<description>-- JTableHeader、TableColumn などは、[[Swing/_JTableHeader]]に移動しました。
-- CellEditor、CellRenderer などは、[[Swing/_CellEditor]]に移動しました。
-- TableRowSorter、RowFilter などは、[[Swing/_TableRowSorter]]に移動しました。
+- JTableHeader、TableColumn などは、[[JTableHeader, TableColumn&gt;Swing/_JTableHeader]]に移動しました。
+- CellEditor、CellRenderer などは、[[CellEditor, CellRenderer&gt;Swing/_CellEditor]]に移動しました。
+- TableRowSorter、RowFilter などは、[[TableRowSorter, RowFilter&gt;Swing/_Table...</description>
<content:encoded><![CDATA[<div class="block">
5
<div class="line"><del><code>- JTableHeader、TableColumn などは、[[Swing/_JTableHeader]]に移動しました。</code></del></div>
<div class="line"><del><code>- CellEditor、CellRenderer などは、[[Swing/_CellEditor]]に移動しました。</code></del></div>
<div class="line"><del><code>- TableRowSorter、RowFilter などは、[[Swing/_TableRowSorter]]に移動しました。</code></del></div>
<div class="line"><add><code>- JTableHeader、TableColumn などは、[[JTableHeader, TableColumn&gt;Swing/_JTableHeader]]に移動しました。</code></add></div>
<div class="line"><add><code>- CellEditor、CellRenderer などは、[[CellEditor, CellRenderer&gt;Swing/_CellEditor]]に移動しました。</code></add></div>
<div class="line"><add><code>- TableRowSorter、RowFilter などは、[[TableRowSorter, RowFilter&gt;Swing/_TableRowSorter]]に移動しました。</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_TableRowSorter.html</link>
<title>Swing/_TableRowSorter</title>
<pubDate>Mon, 08 Feb 2010 18:55:49 +0900</pubDate>
<description>-このページでは、JTableの、TableRowSorter、RowFilter関係のメモを集めて一覧にしています。
+このページでは、[[JTable&gt;Swing/_JTable]]の、TableRowSorter、RowFilter関係のメモを集めて一覧にしています。
</description>
<content:encoded><![CDATA[<div class="block">
4
<div class="line"><del><code>このページでは、JTableの、TableRowSorter、RowFilter関係のメモを集めて一覧にしています。</code></del></div>
<div class="line"><add><code>このページでは、[[JTable&gt;Swing/_JTable]]の、TableRowSorter、RowFilter関係のメモを集めて一覧にしています。</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_JTableHeader.html</link>
<title>Swing/_JTableHeader</title>
<pubDate>Mon, 08 Feb 2010 18:55:32 +0900</pubDate>
<description>-このページでは、JTableの、JTableHeader、TableColumn関係のメモを集めて一覧にしています。
+このページでは、[[JTable&gt;Swing/_JTable]]の、JTableHeader、TableColumn関係のメモを集めて一覧にしています。
</description>
<content:encoded><![CDATA[<div class="block">
4
<div class="line"><del><code>このページでは、JTableの、JTableHeader、TableColumn関係のメモを集めて一覧にしています。</code></del></div>
<div class="line"><add><code>このページでは、[[JTable&gt;Swing/_JTable]]の、JTableHeader、TableColumn関係のメモを集めて一覧にしています。</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_CellEditor.html</link>
<title>Swing/_CellEditor</title>
<pubDate>Mon, 08 Feb 2010 18:55:18 +0900</pubDate>
<description>-このページでは、JTableの、CellEditor、CellRenderer関係のメモを集めて一覧にしています。
+このページでは、[[JTable&gt;Swing/_JTable]]の、CellEditor、CellRenderer関係のメモを集めて一覧にしています。
</description>
<content:encoded><![CDATA[<div class="block">
4
<div class="line"><del><code>このページでは、JTableの、CellEditor、CellRenderer関係のメモを集めて一覧にしています。</code></del></div>
<div class="line"><add><code>このページでは、[[JTable&gt;Swing/_JTable]]の、CellEditor、CellRenderer関係のメモを集めて一覧にしています。</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing.html</link>
<title>Swing</title>
<pubDate>Mon, 08 Feb 2010 16:14:11 +0900</pubDate>
<description>---[[JTable(33)&gt;Swing/_JTable]]
+--[[JTable(25)&gt;Swing/_JTable]]
</description>
<content:encoded><![CDATA[<div class="block">
28
<div class="line"><del><code>--[[JTable(33)&gt;Swing/_JTable]]</code></del></div>
<div class="line"><add><code>--[[JTable(25)&gt;Swing/_JTable]]</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_JTable1.5.0.html</link>
<title>Swing/_JTable1.5.0</title>
<pubDate>Mon, 08 Feb 2010 15:45:36 +0900</pubDate>
<description>+TITLE:JDK 6 以前のJTable
+*JDK 6 以前のJTable [#z7d8d1a8]
+このページでは、JDK 6 で、TableRowSorterなどの新しい機能が追加されて、あまり使わなくなったTableSorter.javaなどに依存するメモを集めて一覧にしています。

+#contents
+
+**TableSorterでJTableをソート [#tc301d86]
+#swingdescription(Swing/TableSorter,TableSorterでJTableをソート,TableSorter.javaを利用して、JTableの行を降順、昇順、初期状態にソートします。)
+
+**TableSorterでソートしても選択状態を維持 [#v226bd4a]
+#swingdescription(Swing/SelectionKeeper,...</description>
<content:encoded><![CDATA[<div class="block">
1
<div class="line"><add><code>TITLE:JDK 6 以前のJTable</code></add></div>
<div class="line"><add><code>*JDK 6 以前のJTable [#z7d8d1a8]</code></add></div>
<div class="line"><add><code>このページでは、JDK 6 で、TableRowSorterなどの新しい機能が追加されて、あまり使わなくなったTableSorter.javaなどに依存するメモを集めて一覧にしています。</code></add></div>
</div>
<div class="block">
5
<div class="line"><add><code>#contents</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**TableSorterでJTableをソート [#tc301d86]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/TableSorter,TableSorterでJTableをソート,TableSorter.javaを利用して、JTableの行を降順、昇順、初期状態にソートします。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**TableSorterでソートしても選択状態を維持 [#v226bd4a]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/SelectionKeeper,TableSorterでソートしても選択状態を維持,TableSorter.javaを使ってソートしても、行の選択状態を保存しておきます。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**JTableのソート [#ad7dc489]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/SortableTable,JTableのソート,JTableのヘッダカラムをクリックすることで、行表示を降順、昇順にソートします。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**JTableHeaderのカラムを選択不可にする [#rc5e8d5a]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/DisabledHeader,JTableHeaderのカラムを選択不可にする,JTableHeaderのカラムを選択不可にして、ソートなどを禁止します。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**JTableに行フィルタで表示の切り替え [#rb49df1c]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/FilteredTable,JTableに行フィルタで表示の切り替え,JTableに表示する行をフィルタを使用して切り替えます。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**JTableの行を移動 [#b2a5d4db]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/MoveRow,JTableの行を移動,ツールバーや、ポップアップメニューを使って、JTableの行を上下に移動します。)</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>//**JTableのセルにあるフォーカスを解除 [#w6e535e2]</code></add></div>
<div class="line"><add><code>//#swingdescription(Swing/AnchorSelection,JTableのセルにあるフォーカスを解除,JTableのセルにあるフォーカスをヘッダのクリックで解除します。)</code></add></div>
<div class="line"><add><code></code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_ScreenShots.html</link>
<title>Swing/_ScreenShots</title>
<pubDate>Mon, 08 Feb 2010 13:35:22 +0900</pubDate>
<description>+#screenshot(Swing/SliderInTableCell,,true)
+
</description>
<content:encoded><![CDATA[<div class="block">
541
<div class="line"><add><code>#screenshot(Swing/SliderInTableCell,,true)</code></add></div>
<div class="line"><add><code></code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_JSpinner.html</link>
<title>Swing/_JSpinner</title>
<pubDate>Mon, 08 Feb 2010 13:34:10 +0900</pubDate>
<description>+**JTableのCellEditorとCellRendererにJSliderを使用する [#faf827c9]
+#swingdescription(Swing/SliderInTableCell,JTableのCellEditorとCellRendererにJSliderを使用する,JTableのCellEditorとCellRendererにJSliderを使用するように設定します。)
+
</description>
<content:encoded><![CDATA[<div class="block">
57
<div class="line"><add><code>**JTableのCellEditorとCellRendererにJSliderを使用する [#faf827c9]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/SliderInTableCell,JTableのCellEditorとCellRendererにJSliderを使用する,JTableのCellEditorとCellRendererにJSliderを使用するように設定します。)</code></add></div>
<div class="line"><add><code></code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/SliderInTableCell.html</link>
<title>Swing/SliderInTableCell</title>
<pubDate>Mon, 08 Feb 2010 13:29:51 +0900</pubDate>
<description>+TITLE:JTableのCellEditorとCellRendererにJSliderを使用する
+#navi(../)
+RIGHT:Posted by [[terai]] at 2010-02-08
+*JTableのCellEditorとCellRendererにJSliderを使用する [#u2d61749]
+JTableのCellEditorとCellRendererにJSliderを使用するように設定します。

+-&amp;jnlp;
+-&amp;jar;
+-&amp;zip;
+
+#screenshot
+
+**サンプルコード [#ydc20559]
+#code{{
+class SliderEditorRednerer extends AbstractCellEditor
+                           implements TableCellRenderer, TableCellEditor {
+  private final JSlider sliderEditor   = new J...</description>
<content:encoded><![CDATA[<div class="block">
1
<div class="line"><add><code>TITLE:JTableのCellEditorとCellRendererにJSliderを使用する</code></add></div>
<div class="line"><add><code>#navi(../)</code></add></div>
<div class="line"><add><code>RIGHT:Posted by [[terai]] at 2010-02-08</code></add></div>
<div class="line"><add><code>*JTableのCellEditorとCellRendererにJSliderを使用する [#u2d61749]</code></add></div>
<div class="line"><add><code>JTableのCellEditorとCellRendererにJSliderを使用するように設定します。</code></add></div>
</div>
<div class="block">
7
<div class="line"><add><code>-&amp;jnlp;</code></add></div>
<div class="line"><add><code>-&amp;jar;</code></add></div>
<div class="line"><add><code>-&amp;zip;</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>#screenshot</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**サンプルコード [#ydc20559]</code></add></div>
<div class="line"><add><code>#code{{</code></add></div>
<div class="line"><add><code>class SliderEditorRednerer extends AbstractCellEditor</code></add></div>
<div class="line"><add><code>                           implements TableCellRenderer, TableCellEditor {</code></add></div>
<div class="line"><add><code>  private final JSlider sliderEditor   = new JSlider();</code></add></div>
<div class="line"><add><code>  private final JSlider sliderRenderer = new JSlider();</code></add></div>
<div class="line"><add><code>  public SliderEditorRednerer(final JTable table) {</code></add></div>
<div class="line"><add><code>    sliderEditor.setOpaque(true);</code></add></div>
<div class="line"><add><code>    sliderRenderer.setOpaque(true);</code></add></div>
<div class="line"><add><code>    sliderEditor.addChangeListener(new ChangeListener() {</code></add></div>
<div class="line"><add><code>      public void stateChanged(ChangeEvent e) {</code></add></div>
<div class="line"><add><code>        EventQueue.invokeLater(new Runnable() {</code></add></div>
<div class="line"><add><code>          @Override public void run() {</code></add></div>
<div class="line"><add><code>            int row = table.convertRowIndexToModel(table.getSelectedRow());</code></add></div>
<div class="line"><add><code>            table.getModel().setValueAt(sliderEditor.getValue(), row, 0);</code></add></div>
<div class="line"><add><code>          }</code></add></div>
<div class="line"><add><code>        });</code></add></div>
<div class="line"><add><code>      }</code></add></div>
<div class="line"><add><code>    });</code></add></div>
<div class="line"><add><code>  }</code></add></div>
<div class="line"><add><code>  public Component getTableCellEditorComponent(</code></add></div>
<div class="line"><add><code>      JTable table, Object value, boolean isSelected, int row, int column) {</code></add></div>
<div class="line"><add><code>    Integer i = (Integer)value;</code></add></div>
<div class="line"><add><code>    sliderEditor.setBackground(table.getSelectionBackground());</code></add></div>
<div class="line"><add><code>    sliderEditor.setValue(i.intValue());</code></add></div>
<div class="line"><add><code>    return sliderEditor;</code></add></div>
<div class="line"><add><code>  }</code></add></div>
<div class="line"><add><code>  public Object getCellEditorValue() {</code></add></div>
<div class="line"><add><code>    return Integer.valueOf(sliderEditor.getValue());</code></add></div>
<div class="line"><add><code>  }</code></add></div>
<div class="line"><add><code>  public Component getTableCellRendererComponent(</code></add></div>
<div class="line"><add><code>      JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {</code></add></div>
<div class="line"><add><code>    Integer i = (Integer)value;</code></add></div>
<div class="line"><add><code>    sliderRenderer.setBackground(isSelected?table.getSelectionBackground():table.getBackground());</code></add></div>
<div class="line"><add><code>    sliderRenderer.setValue(i.intValue());</code></add></div>
<div class="line"><add><code>    return sliderRenderer;</code></add></div>
<div class="line"><add><code>  }</code></add></div>
<div class="line"><add><code>}</code></add></div>
<div class="line"><add><code>}}</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>**解説 [#wf104d2c]</code></add></div>
<div class="line"><add><code>上記のサンプルでは、1列目のセルエディタ、レンダラーにJSliderを使用するように設定しています。このスライダーの値を変更すると、同じ行の0列目の値も変更されるように、セルエディタにChangeListenerを追加しています。</code></add></div>
<div class="line"><add><code></code></add></div>
<div class="line"><add><code>//**参考リンク</code></add></div>
<div class="line"><add><code>**コメント [#ib89232e]</code></add></div>
<div class="line"><add><code>#comment</code></add></div>
<div class="line"><add><code></code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/FocusTraversal.html</link>
<title>Swing/FocusTraversal</title>
<pubDate>Sat, 06 Feb 2010 04:07:51 +0900</pubDate>
<description>-    if(c instanceof JTextComponent) {
-      return ((JTextComponent)c).isEditable();
+    if(c instanceof JTextComponent &amp;&amp; !((JTextComponent)c).isEditable()) {
+      return false;
</description>
<content:encoded><![CDATA[<div class="block">
73
<div class="line"><del><code>    if(c instanceof JTextComponent) {</code></del></div>
<div class="line"><del><code>      return ((JTextComponent)c).isEditable();</code></del></div>
<div class="line"><add><code>    if(c instanceof JTextComponent &amp;&amp; !((JTextComponent)c).isEditable()) {</code></add></div>
<div class="line"><add><code>      return false;</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/TableCellProgressBar.html</link>
<title>Swing/TableCellProgressBar</title>
<pubDate>Thu, 04 Feb 2010 16:54:52 +0900</pubDate>
<description>-- メモ: [[Bug ID: 6826514 SwingWorker: done() called before doInBackground() returns, when cancelled]] -- [[terai]] &amp;new{2010-02-04 (木) 16:54:27};
+- メモ: [[Bug ID: 6826514 SwingWorker: done() called before doInBackground() returns, when cancelled&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6826514]] -- [[terai]] &amp;new{2010-02-04 (木) 16:54:27};
</description>
<content:encoded><![CDATA[<div class="block">
118
<div class="line"><del><code>- メモ: [[Bug ID: 6826514 SwingWorker: done() called before doInBackground() returns, when cancelled]] -- [[terai]] &amp;new{2010-02-04 (木) 16:54:27};</code></del></div>
<div class="line"><add><code>- メモ: [[Bug ID: 6826514 SwingWorker: done() called before doInBackground() returns, when cancelled&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6826514]] -- [[terai]] &amp;new{2010-02-04 (木) 16:54:27};</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/CyclingSpinnerModel.html</link>
<title>Swing/CyclingSpinnerModel</title>
<pubDate>Mon, 01 Feb 2010 01:53:39 +0900</pubDate>
<description>-*JSpinnerのモデルで値が最大、最小を超えるとループするように設定します。 [#t324de89]
+*JSpinnerのモデルの値をループさせる [#g1e8aa14]
+JSpinnerのモデルで値が最大、最小を超えるとループするように設定します。
</description>
<content:encoded><![CDATA[<div class="block">
4
<div class="line"><del><code>*JSpinnerのモデルで値が最大、最小を超えるとループするように設定します。 [#t324de89]</code></del></div>
<div class="line"><add><code>*JSpinnerのモデルの値をループさせる [#g1e8aa14]</code></add></div>
<div class="line"><add><code>JSpinnerのモデルで値が最大、最小を超えるとループするように設定します。</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/JavaWebStart.html</link>
<title>JavaWebStart</title>
<pubDate>Wed, 27 Jan 2010 00:16:36 +0900</pubDate>
<description>+- [[Avoiding Unnecessary Update Checks&gt;http://java.sun.com/docs/books/tutorial/deployment/deploymentInDepth/avoidingUnnecessaryUpdateChecks.html]]
</description>
<content:encoded><![CDATA[<div class="block">
164
<div class="line"><add><code>- [[Avoiding Unnecessary Update Checks&gt;http://java.sun.com/docs/books/tutorial/deployment/deploymentInDepth/avoidingUnnecessaryUpdateChecks.html]]</code></add></div>
</div>
]]></content:encoded>
</item>
<item>
<link>http://terai.xrea.jp/Swing/_Focus.html</link>
<title>Swing/_Focus</title>
<pubDate>Mon, 25 Jan 2010 13:17:07 +0900</pubDate>
<description>+**GlobalFocusをクリアする [#a6fe96ab]
+#swingdescription(Swing/ClearGlobalFocusOwner,GlobalFocusをクリアする,GlobalFocusをクリアして、フォーカスをもつコンポーネントがない状態に戻します。)
+
</description>
<content:encoded><![CDATA[<div class="block">
41
<div class="line"><add><code>**GlobalFocusをクリアする [#a6fe96ab]</code></add></div>
<div class="line"><add><code>#swingdescription(Swing/ClearGlobalFocusOwner,GlobalFocusをクリアする,GlobalFocusをクリアして、フォーカスをもつコンポーネントがない状態に戻します。)</code></add></div>
<div class="line"><add><code></code></add></div>
</div>
]]></content:encoded>
</item>
</channel>
</rss>