Files
VisualSapfor/src/Common/Visual/Controls/StableMenuItem.java

42 lines
1.5 KiB
Java
Raw Normal View History

2024-10-14 15:19:13 +03:00
package Common.Visual.Controls;
2024-10-14 18:52:44 +03:00
import Common.MainModule_;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-09 20:35:18 +03:00
import Common.Visual.Menus.VisualiserMenuItem;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicMenuItemUI;
//неичезающий меню итем. нужен для настроек
//https://translated.turbopages.org/proxy_u/en-ru.ru.64537f6c-6460c460-8e74a1ab-74722d776562/https/tips4java.wordpress.com/2010/09/12/keeping-menus-open/
class StableItemUI extends BasicMenuItemUI {
public static ComponentUI createUI(JComponent c) {
return new StableItemUI();
}
@Override
protected void doClick(MenuSelectionManager msm) {
menuItem.doClick(0);
2024-10-14 18:52:44 +03:00
if (MainModule_.instance.hasLastMenuPath())
MenuSelectionManager.defaultManager().setSelectedPath(MainModule_.instance.getLastMenuPath());
2023-09-17 22:13:42 +03:00
}
}
public class StableMenuItem extends VisualiserMenuItem {
{
getModel().addChangeListener(e -> {
if (getModel().isArmed() && isShowing())
2024-10-14 18:52:44 +03:00
MainModule_.instance.setLastMenuPath(MenuSelectionManager.defaultManager().getSelectedPath());
2023-09-17 22:13:42 +03:00
});
}
public StableMenuItem(String text) {
super(text);
setUI(new StableItemUI());
}
public StableMenuItem(String text, String icon_path) {
super(text);
2024-10-11 00:00:30 +03:00
setIcon(Utils_.getIcon(icon_path));
2023-09-17 22:13:42 +03:00
setUI(new StableItemUI());
}
public StableMenuItem() {
setUI(new StableItemUI());
}
}