Swing/InternalFrameTitleButtonToolTipsOn のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/InternalFrameTitleButtonToolTipsOn へ行く。
- 1 (2023-02-13 (月) 09:30:22)
- 2 (2023-02-14 (火) 12:23:11)
- category: swing folder: InternalFrameTitleButtonToolTipsOn title: JInternalFrameのTitleButtonでJToolTipを表示するかを切り替える tags: [UIManager, JInternalFrame, JButton, JToolTip, WindowsLookAndFeel] author: aterai pubdate: 2023-02-13T01:33:32+09:00 description: JInternalFrameのタイトルバーに配置された閉じる、最大化、最小化JButtonでJToolTipの表示・非表示を切り替えます。 image: https://drive.google.com/uc?id=1SLM6oYpp38PKBED36pr5cj4VOAeXEq4I
概要
JInternalFrame
のタイトルバーに配置された閉じる、最大化、最小化JButton
でJToolTip
の表示・非表示を切り替えます。
Screenshot
Advertisement
サンプルコード
String key = "InternalFrame.titleButtonToolTipsOn";
boolean def = UIManager.getLookAndFeelDefaults().getBoolean(key);
JCheckBox check = new JCheckBox(key, def) {
@Override public void updateUI() {
super.updateUI();
setOpaque(false);
boolean b = UIManager.getLookAndFeelDefaults().getBoolean(key);
setSelected(b);
UIManager.put(key, b);
SwingUtilities.updateComponentTreeUI(desktop);
}
};
check.addActionListener(e -> {
JCheckBox checkBox = (JCheckBox) e.getSource();
UIManager.put(key, checkBox.isSelected());
SwingUtilities.updateComponentTreeUI(desktop);
});
View in GitHub: Java, Kotlin解説
InternalFrame.titleButtonToolTipsOn: true
WindowsLookAndFeel
のデフォルトWindowsLookAndFeel.java
でObject hotTrackingOn = new WindowsDesktopProperty("win.item.hotTrackingOn", true);
とWindows
デスクトップのプロパティ変更と連動してメニューバーのロールオーバーとも連動している?"InternalFrame.titleButtonToolTipsOn", hotTrackingOn,
"MenuBar.rolloverEnabled", hotTrackingOn,
InternalFrame.titleButtonToolTipsOn: false
WindowsLookAndFeel
以外ではInternalFrame.titleButtonToolTipsOn
は設定されておらずnull
になるのでデフォルトはfalse
となるMetalLookAndFeel
やNimbusLookAndFeel
ではこの設定は無視されて常にJInternalFrame
のタイトルバーに配置された閉じる、最大化、最小化JButton
でJToolTip
は表示されるMotifLookAndFeel
ではこの設定は無視されて常にJInternalFrame
のタイトルバーに配置された最大化、最小化JButton
でJToolTip
は非表示になる