Swing/ColorChooserPreviewText のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ColorChooserPreviewText へ行く。
- 1 (2022-09-26 (月) 01:37:44)
- 2 (2022-09-26 (月) 20:05:55)
- 3 (2022-11-25 (金) 11:47:17)
- category: swing folder: ColorChooserPreviewText title: JColorChooserのプレビューパネルにTitledBorderでテキストを表示する tags: [JColorChooser, UIManager] author: aterai pubdate: 2022-09-26T01:36:10+09:00 description: JColorChooserのプレビューパネルにTitledBorderでテキストを表示するかを切り替えます。 image: https://drive.google.com/uc?id=1WZCnjXziIrbnu75REm5tT6mjk5Mwdujc
概要
JColorChooser
のプレビューパネルにTitledBorder
でテキストを表示するかを切り替えます。
Screenshot
Advertisement
サンプルコード
String key = "ColorChooser.showPreviewPanelText";
JTextArea log = new JTextArea();
JCheckBox check = new JCheckBox(key, UIManager.getBoolean(key)) {
@Override public void updateUI() {
super.updateUI();
boolean b = UIManager.getLookAndFeelDefaults().getBoolean(key);
setSelected(b);
LookAndFeel laf = UIManager.getLookAndFeel();
log.append(String.format("%s%n %s: %s%n", laf, key, b));
UIManager.put(key, b);
}
};
JButton button = new JButton("JColorChooser.showDialog(...)");
button.addActionListener(e -> {
UIManager.put(key, check.isSelected());
Color c = JColorChooser.showDialog(getRootPane(), "title", null);
log.append(String.format("color: %s%n", c));
});
View in GitHub: Java, Kotlin解説
ColorChooser.showPreviewPanelText: true(null)
ColorChooser.showPreviewPanelText
はデフォルトでは値が未設定でnull
BasicColorChooserUI
でnull
の場合はtrue
として扱うよう設定されているため、MetalLookAndFeel
やWindowsLookAndFeel
ではデフォルトでプレビューパネルにTitledBorder
でテキストを表示する- このテキストのデフォルトは日本語環境では「プレビュー」、英語環境では
Preview
UIManager.put("ColorChooser.previewText", "...");
で文字列を変更可能
ColorChooser.showPreviewPanelText: false
JColorChooser
のプレビューパネルにテキストを表示しないGTKLookAndFeel
のデフォルトNimbusLookAndFeel
で切り替えが正しく反映されない場合がある?