package tk.amberide.ide.swing;
import javax.swing.AbstractAction;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
/**
*
* @author Tudor
*/
public class MenuBuilder {
private JMenu built;
public MenuBuilder(String title) {
built = new JMenu(title);
}
public MenuBuilder addCheckbox(String text, AbstractAction action) {
return addCheckbox(text, false, action);
}
public MenuBuilder addCheckbox(String text, boolean def, AbstractAction action) {
built.add(new JCheckBoxMenuItem(text, def)).addActionListener(action);
return this;
}
public MenuBuilder addRadioButton(String text, AbstractAction action) {
built.add(new JRadioButtonMenuItem(text)).addActionListener(action);
return this;
}
public MenuBuilder addButton(String text, AbstractAction action) {
built.add(new JMenuItem(text)).addActionListener(action);
return this;
}
public MenuBuilder addSeparator() {
built.addSeparator();
return this;
}
public JMenu create() {
return built;
}
}