ダブルクリックで JToggleButton
スタンプ箱の入れ替えロックボタンを知らないうちに解除してしまっていて,スタンプが知らないうちに変なところに移動してしまうことがあったので,ロック解除をより厳密にダブルクリックで動作するようにした。JToggleButton を MyJToggleButton に入れ替えるとダブルクリックで動作するようになる。
ui/MyJToggleButton.java
package open.dolphin.ui; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JLabel; /** * ダブルクリックで動作する JToggleButton 的なもの * @author pns */ public class MyJToggleButton extends JLabel { private ImageIcon icon; private ImageIcon selectedIcon; private ActionListener action; private boolean isSelected; public MyJToggleButton() { super(); isSelected = false; addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) doClick(); } }); } public void doClick() { if (isSelected) { isSelected = false; super.setIcon(icon); } else { isSelected = true; super.setIcon(selectedIcon); } action.actionPerformed(new ActionEvent(this, 0, "clicked")); } public void setIcon(ImageIcon i) { this.icon = i; super.setIcon(i); } public void setSelectedIcon(ImageIcon i) { this.selectedIcon = i; } public void addActionListener(ActionListener l) { action = l; } public boolean isSelected() { return isSelected; } }
« 複数スタンプのドロップ | トップページ | TreeCellEditor 設定 »
「OpenDolphin」カテゴリの記事
- WildFly 25 へのアップデート(2021.12.21)
- 13年目の運用まとめ(2021.02.04)
- スタンプの簡易表示(2020.09.04)
- Java 1.8.0_261 での apple.awt.brushMetalLook(2020.07.26)
- Undo の充実 (4) StampEditor, StampTree(2020.07.23)