jruby で swingx
swingx という swing を拡張したライブラリーがあることを知った。
これをつかって、FileTree を表示させてみた。
$ cat filetree.rb
# See - http://boulayp.free.fr/articles.php?lng=en&pg=731
# > GuppY - Java.Swing - Using JXTreeTable from SwingX
# - http://wiki.java.net/bin/view/Javadesktop/SwingLabsSwingXJXTableHowTo#ColumnControl
# > TWiki . Javadesktop . SwingLabsSwingXJXTableHowTo
require 'pp'
require 'java'
require 'swingx-0.9.7.jar'
import javax.swing.JFrame
import javax.swing.JScrollPane
import org.jdesktop.swingx.JXTreeTable;
import org.jdesktop.swingx.treetable.FileSystemModel
import org.jdesktop.swingx.decorator.HighlighterFactory
frame = JFrame.new "FileTree using Swingx"
frame.setDefaultCloseOperation(JFrame::EXIT_ON_CLOSE)
frame.set_size(600, 400)
# File Tree
rootPath = '.'
rootPath = ARGV[0] if ARGV.size > 0
file = java.io.File.new(rootPath)
treeTableModel = FileSystemModel.new(file)
treeTable = JXTreeTable.new(treeTableModel)
treeTable.addHighlighter(HighlighterFactory::createSimpleStriping(HighlighterFactory::LINE_PRINTER))
# The JXTable Column Control is an icon that renders to the right of the column headers, just above the vertical scrollbar.
# When a user clicks the icon, a popup menu appears, allowing the user to show or hide columns from the view, and to set a couple of other properties.
treeTable.setColumnControlVisible(true)
frame.getContentPane().add(JScrollPane.new(treeTable))
frame.visible = true
スクリーンショットででているメニューは、スクルールバーの上にあるアイコンの
マウスで右クリックすると出てくる。
表示する列を on/off できる。
表の列は drag することで幅変更、順番変更ができる。
« jruby で swing | トップページ | ピックアップ:本を読まないとかいう選択肢なんてあり得ない, 北野誠は何を言ってしまったの?, etc... »
この記事へのコメントは終了しました。
« jruby で swing | トップページ | ピックアップ:本を読まないとかいう選択肢なんてあり得ない, 北野誠は何を言ってしまったの?, etc... »
コメント