Wie setze ich den Gaspedal für einen Schlüssel innerhalb einer Aktion ein?Java

Java-Forum
Anonymous
 Wie setze ich den Gaspedal für einen Schlüssel innerhalb einer Aktion ein?

Post by Anonymous »

Ich versuche, die meisten meiner Menüs in 2 ähnlichen Anwendungen zu konsolidieren, die viele Klassen teilen. Ein Teil davon ist, dass ich versuche, alles in Handlungen zu verschieben. Das Problem, auf das ich lasse, ist, dass ich dieselben Beschleuniger für die Menüelemente. Gibt es eine Möglichkeit, dies in der Aktion festzulegen, damit ich meinen Code nicht duplizieren muss, um den Beschleuniger einzustellen? < /P>

package com.protocase.viewer.actions;

import com.protocase.viewer.DesignerApplication;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import static javax.swing.Action.MNEMONIC_KEY;
import static javax.swing.Action.SHORT_DESCRIPTION;

/**
*
* @author davidh
*/
public class NewEnclosureAction extends AbstractAction{

private DesignerApplication app;

public NewEnclosureAction(DesignerApplication app) {
super();
this.app = app;
putValue(SHORT_DESCRIPTION, "New");
putValue(AbstractAction.NAME, "New");
putValue(MNEMONIC_KEY, KeyEvent.VK_N);
}

@Override
public void actionPerformed(ActionEvent e) {
app.OnNew();
}

}
< /code>

.....

JMenuItem newMit = new JMenuItem(new NewEnclosureAction(this));
newMit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.ALT_MASK));
newMit.getAccessibleContext().setAccessibleDescription("New Enclosure from template");
fileMenu.add(newMit);
< /code>

.....

I am looking to move the setAccelerator calls to within my action class.

Is there any way to do this?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post