Hallo,
ich versuche gerade Tastenkombinationen zu implementieren. Leider finde ich dazu nicht viel, und die API verstehe ich auch nicht. Solange ich nur eine Tastenkombi habe funktioniert diese ohne Probleme, aber sobald es mehr werden..ich weiss einfach nicht mehr weiter ;(
Wäre super wenn sich das jemand Anschauen könnte, der sich damit auskennt.
Hier eine kleine Testklasse:
ich versuche gerade Tastenkombinationen zu implementieren. Leider finde ich dazu nicht viel, und die API verstehe ich auch nicht. Solange ich nur eine Tastenkombi habe funktioniert diese ohne Probleme, aber sobald es mehr werden..ich weiss einfach nicht mehr weiter ;(
Wäre super wenn sich das jemand Anschauen könnte, der sich damit auskennt.
Hier eine kleine Testklasse:
Java:
import java.awt.event.ActionEvent;
import javax.swing.*;
public class keyframe {
JFrame frame;
JTextArea text;
public static void main(String[] args) throws Exception {
keyframe key = new keyframe();
key.start();
}
public void start() {
JPanel panel = new JPanel();
frame = new JFrame();
text = new JTextArea(10,10);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(300, 300);
frame.add(panel);
panel.add(text);
Action strgma = new AbstractAction(){
public void actionPerformed(ActionEvent kevtm) {
textBla();
}
};
Action strgna = new AbstractAction(){
public void actionPerformed(ActionEvent kevtn) {
textBla2();
}
};
KeyStroke strgm = KeyStroke.getKeyStroke("control M");
InputMap imap = panel.getInputMap();
imap.put(strgm, imap);
ActionMap amap = panel.getActionMap();
amap.put(imap, strgma);
KeyStroke strgn = KeyStroke.getKeyStroke("control N");
InputMap imap2 = panel.getInputMap();
ActionMap amap2 = panel.getActionMap();
imap2.put(strgn, imap2);
amap2.put(imap2, strgna);
}
public void textBla() {
text.append("strg + m");
}
public void textBla2() {
text.append("strg + n");
}
}
Zuletzt bearbeitet: