ダブルクリックで 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」カテゴリの記事
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)


