54 lines
1.6 KiB
Java
54 lines
1.6 KiB
Java
package Common.Visual.Menus;
|
||
import Common.MainModule_;
|
||
import Common.Passes.PassCode_;
|
||
import Common.Utils.Utils_;
|
||
import Common.Visual.Fonts.VisualiserFonts;
|
||
import _VisualDVM.Global;
|
||
import _VisualDVM.Passes.PassCode;
|
||
|
||
import javax.swing.*;
|
||
import java.awt.*;
|
||
//https://java-online.ru/swing-menu.xhtml
|
||
public class VisualiserMenuBar extends JToolBar {
|
||
public VisualiserMenuBar() {
|
||
setFloatable(false);
|
||
setSizeLimits();
|
||
}
|
||
public void addPasses(PassCode_... codes) {
|
||
//- кнопки. связать их с проходами. (!)
|
||
for (PassCode_ code : codes) {
|
||
if (MainModule_.instance.getPass(code) != null) {
|
||
add(MainModule_.instance.getPass(code).createButton());
|
||
}
|
||
}
|
||
}
|
||
public JMenuBar addMenus(JMenu... menus) {
|
||
JMenuBar bar = new JMenuBar() {
|
||
{
|
||
for (JMenu menu : menus)
|
||
add(menu);
|
||
}
|
||
};
|
||
add(bar);
|
||
return bar;
|
||
}
|
||
public JLabel addLabel(String text_in) {
|
||
return addLabel(text_in, null);
|
||
}
|
||
public JLabel addLabel(String text_in, String icon_path_in) {
|
||
JLabel res = new JLabel(text_in) {
|
||
{
|
||
setFont(MainModule_.instance.getUI().getTheme().Fonts.get(VisualiserFonts.TreeItalic));
|
||
if (icon_path_in != null) {
|
||
setIcon(Utils_.getIcon(icon_path_in));
|
||
}
|
||
}
|
||
};
|
||
add(res);
|
||
return res;
|
||
}
|
||
public void setSizeLimits() {
|
||
setPreferredSize(new Dimension(0, 30));
|
||
}
|
||
}
|