F
frager
Gast
guten tag,
ich möchte eine Action anlegen, die von AbstractAction erbt. das hier ist meine action:
die binde ich an ein popupmenu mit
klappt auch prima, action fired wird ausgegeben. wie mach ich es aber, da erst was mit setValue(....) zu setzen, was ich dann in der action auslesen kann? ich möchte also zum beispiel das das popupmenu an eine jlist binden möchte und den ausgewählten eintrag in der action haben möchte? also parameter im kontruktor eher nicht, da ja dan dann beim start ne enullpointerexception geworfen wird, da noch nichts in der jlist angewählt ist. bei einem button ist das einfach, da mach ich zuerst einen actionlister an den button un dann in der actionperformed:
aber wie gehts mit nem popup?
danke
ich möchte eine Action anlegen, die von AbstractAction erbt. das hier ist meine action:
Code:
public class OutAction extends AbstractAction {
private Component target;
public OutAction(String name, Icon icon) {
putValue(Action.NAME, name);
putValue(Action.SMALL_ICON, icon);
putValue(Action.SHORT_DESCRIPTION, name + " the program");
}
public void actionPerformed(ActionEvent evt) {
System.out.println("action fired");
}
}
die binde ich an ein popupmenu mit
Code:
menu.add(new OutAction("menutext", new ImageIcon(getClass().getResource("icons/out.png"))));
klappt auch prima, action fired wird ausgegeben. wie mach ich es aber, da erst was mit setValue(....) zu setzen, was ich dann in der action auslesen kann? ich möchte also zum beispiel das das popupmenu an eine jlist binden möchte und den ausgewählten eintrag in der action haben möchte? also parameter im kontruktor eher nicht, da ja dan dann beim start ne enullpointerexception geworfen wird, da noch nichts in der jlist angewählt ist. bei einem button ist das einfach, da mach ich zuerst einen actionlister an den button un dann in der actionperformed:
Code:
Object src=event.getSource();
Action a=((JButton)src).getAction();
action.putValue("value", "meinText");
aber wie gehts mit nem popup?
danke