package org.tomighty.ui.menu;
import org.tomighty.ui.swing.laf.SexyArrowButtonUI;
import javax.inject.Inject;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MenuButtonFactory {
@Inject
private PopupMenuFactory popupMenuFactory;
@Inject
private SexyArrowButtonUI arrowButtonUI;
public JButton create(Action[] actions) {
final JPopupMenu menu = popupMenuFactory.create(actions);
final JButton button = new JButton();
button.setUI(arrowButtonUI);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
menu.show(button, 0, button.getHeight());
}
});
return button;
}
}