Я занимаюсь разработкой программного обеспечения для программирования на платформе Netbeans и хочу добавить кнопку на панель инструментов редактора с раскрывающимся значком и иметь возможность получать активированные узлы при нажатии кнопки или элемента раскрывающегося меню.
Мне удалось добавить кнопку с выпадающим меню и actionPerformed(ActionEvent e)
при нажатии кнопки.Как я могу получить доступ к активированным узлам?
@Override
public Component getToolbarPresenter() {
if (!isEnabled()) {
return null;
}
popup = new JPopupMenu();
populatePopupMenu();
button = DropDownButtonFactory.createDropDownButton(
new ImageIcon(new BufferedImage(32, 32, BufferedImage.TYPE_BYTE_GRAY)), popup);
button.setAction(this);
button.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
popup.show(button, 0, button.getHeight());
}
}
});
popup.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
@Override
public void popupMenuCanceled(PopupMenuEvent e) {
button.setSelected(false);
}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
button.setSelected(false);
}
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
populatePopupMenu();
}
});
return button;
}
private void populatePopupMenu() {
popup.removeAll();
JMenuItem item = new JMenuItem("Generate Code and Deploy with dependents");
item.addActionListener(buttonListener);
popup.add(item);
popup.addSeparator();
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Action Performed");
}
private class ButtonListener implements ActionListener {
public ButtonListener() {
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Action performed");
}
};