Created
April 5, 2011 07:07
-
-
Save kimukou/903160 to your computer and use it in GitHub Desktop.
HighlighterDemo_Test.groovy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// HighlighterDemo Test | |
// | |
// refarence http://itpro.nikkeibp.co.jp/article/COLUMN/20110329/358840/?ST=develop&P=3 | |
// http://griffon.codehaus.org/SwingxBuilder | |
// | |
@Grab(group='org.swinglabs', module='swingx', version='1.6.1') | |
@Grab(group='org.codehaus.griffon', module='swingxbuilder', version='0.1.7') | |
import java.awt.Color; | |
import java.awt.Font; | |
import javax.swing.JFrame; | |
import javax.swing.JScrollPane; | |
import javax.swing.JTable; | |
import javax.swing.SwingUtilities; | |
import javax.swing.table.DefaultTableModel; | |
import org.jdesktop.swingx.JXTable; | |
import org.jdesktop.swingx.decorator.ColorHighlighter; | |
import org.jdesktop.swingx.decorator.FontHighlighter; | |
import org.jdesktop.swingx.decorator.Highlighter; | |
import org.jdesktop.swingx.decorator.HighlighterFactory; | |
import org.jdesktop.swingx.decorator.HighlightPredicate; | |
public class HighlighterDemo { | |
// テーブルに表示するデータ | |
private String[][] methods = [ | |
["Highlighter", "addChangeListener", "ChangeListener", "void"], | |
["Highlighter", "getChangeLsitener", "", "ChangeListner[]"], | |
["Highlighter", "highlight", "Component, ComponentAdapter", "Component"], | |
["Highlighter", "removeChangeListener", "ChangeListener", "void"], | |
["HighlightPredicate", "isHighlighted", "Component, ComponentAdapter", "void"], | |
["HighlighterFactory", "createAlternateStriping", "", "Highlighter"], | |
["HighlighterFactory", "createAlternateStriping", "Color, Color", "Highlighter"], | |
["HighlighterFactory", "createAlternateStriping", "Color, Color, int", "Highlighter"], | |
["HighlighterFactory", "createAlternateStriping", "int", "Highlighter"], | |
["HighlighterFactory", "createSimpleStriping", "", "Highlighter"], | |
["HighlighterFactory", "createSimpleStriping", "Color", "Highlighter"], | |
["HighlighterFactory", "createSimpleStriping", "Color, int", "Highlighter"], | |
["HighlighterFactory", "createSimpleStriping", "int", "Highlighter"], | |
]; | |
// カラム名 | |
private String[] names = ["Class", "Method", "Arguments", "Return"]; | |
public HighlighterDemo() { | |
JFrame frame = new JFrame("Highlight Demo"); | |
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
frame.setSize(560, 320); | |
frame.add(new JScrollPane(createTable())); | |
frame.setVisible(true); | |
} | |
private JXTable createTable() { | |
DefaultTableModel model = new DefaultTableModel(methods, names); | |
JXTable table = new JXTable(model); | |
// 表示するデータに合せてカラム長を設定する | |
table.packAll(); | |
// ハイライトの設定 | |
/* | |
// 1行ごとに色を変化させるHighlighter | |
Highlighter highlighter | |
= HighlighterFactory.createSimpleStriping(); | |
// テーブルにHighlighterを設定する | |
table.setHighlighters(highlighter); | |
*/ | |
/* | |
// 背景色を灰色にする | |
Highlighter highlighter | |
= new ColorHighlighter(Color.LIGHT_GRAY, | |
Color.BLACK); | |
// テーブルにHighlighterを設定する | |
table.setHighlighters(highlighter); | |
*/ | |
/* | |
// 1行ごとに色を変化+マウスオーバ時に行の色を変化させる | |
table.setHighlighters( | |
HighlighterFactory.createSimpleStriping(), | |
new ColorHighlighter( | |
HighlightPredicate.ROLLOVER_ROW, | |
new Color(0x51, 0x72, 0x93), Color.WHITE)); | |
*/ | |
/* | |
// 1行ごとに色を変化させる | |
table.setHighlighters( | |
new ColorHighlighter(HighlightPredicate.EVEN, | |
Color.WHITE, Color.BLACK), | |
new ColorHighlighter(HighlightPredicate.ODD, | |
new Color(0xd1, 0xe6, 0xfc), Color.BLACK)); | |
*/ | |
// 1行ごとに色を変化+マウスオーバ時に色を変化させる | |
// 選択時にフォントを太字にする | |
table.setHighlighters( | |
HighlighterFactory.createSimpleStriping(), | |
new ColorHighlighter( | |
HighlightPredicate.ROLLOVER_ROW, | |
new Color(0x70, 0x90, 0xA3), Color.WHITE), | |
new ColorHighlighter( | |
HighlightPredicate.ROLLOVER_COLUMN, | |
new Color(0x70, 0x90, 0xA3), Color.WHITE), | |
new ColorHighlighter( | |
HighlightPredicate.ROLLOVER_CELL, | |
new Color(0x31, 0x52, 0x73), Color.WHITE), | |
new FontHighlighter( | |
HighlightPredicate.IS_SELECTED, | |
new Font(Font.SANS_SERIF, Font.BOLD, 13))); | |
return table; | |
} | |
public static void main(String[] args) { | |
SwingUtilities.invokeLater(new Runnable() { | |
public void run() { | |
new HighlighterDemo(); | |
} | |
}); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment