Hallo ZUsammen,
ich hatte die Aufgabe für einen Texteditor die Funktionen Cut, Copy und Paste in der Symbolleiste einzufügen. Das hat auch soweit funktioniert und tut was es soll.
Bis auf dass ich statt der Standard Shortcuts andere Tastaturkombinationen nehmen wollte. Das einfügen der Aktionen sollte dabei mittels des DefaultEditorKits erfolgen. Unten nachstehender Code. Es ist zwar nicht Teil der Aufgabenstellung die Shortcuts zu implementieren, dennoch will ich gerne verstehen warum die von mir definierten Keystrokes nicht zur Anwendung kommen. Der Editor nutzt weiterhin offensichtlich die Standard Keystrokes (Strg+X; Strg+C; Strg+V)... was übersehe ich? Vielen Dank für eure Unterstützung
[CODE lang="java" title="Aktionen"]//Aufgabe2 eingefügt
Action schneiden = new DefaultEditorKit.CutAction();
schneiden.putValue(Action.SHORT_DESCRIPTION, "Ausschneiden");
schneiden.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/cut24.gif"));
schneiden.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('Z', InputEvent.CTRL_DOWN_MASK));
leiste.add(schneiden);
//Aufgabe2 eingefügt
Action kopieren = new DefaultEditorKit.CopyAction();
kopieren.putValue(Action.SHORT_DESCRIPTION, "Kopieren");
kopieren.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/copy24.gif"));
kopieren.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('H', InputEvent.CTRL_DOWN_MASK));
leiste.add(kopieren);
//Aufgabe2 eingefügt
Action einfügen = new DefaultEditorKit.PasteAction();
einfügen.putValue(Action.SHORT_DESCRIPTION, "Einfügen");
einfügen.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/paste24.gif"));
einfügen.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('L', InputEvent.CTRL_DOWN_MASK));
leiste.add(einfügen);[/CODE]
ich hatte die Aufgabe für einen Texteditor die Funktionen Cut, Copy und Paste in der Symbolleiste einzufügen. Das hat auch soweit funktioniert und tut was es soll.
Bis auf dass ich statt der Standard Shortcuts andere Tastaturkombinationen nehmen wollte. Das einfügen der Aktionen sollte dabei mittels des DefaultEditorKits erfolgen. Unten nachstehender Code. Es ist zwar nicht Teil der Aufgabenstellung die Shortcuts zu implementieren, dennoch will ich gerne verstehen warum die von mir definierten Keystrokes nicht zur Anwendung kommen. Der Editor nutzt weiterhin offensichtlich die Standard Keystrokes (Strg+X; Strg+C; Strg+V)... was übersehe ich? Vielen Dank für eure Unterstützung
[CODE lang="java" title="Aktionen"]//Aufgabe2 eingefügt
Action schneiden = new DefaultEditorKit.CutAction();
schneiden.putValue(Action.SHORT_DESCRIPTION, "Ausschneiden");
schneiden.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/cut24.gif"));
schneiden.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('Z', InputEvent.CTRL_DOWN_MASK));
leiste.add(schneiden);
//Aufgabe2 eingefügt
Action kopieren = new DefaultEditorKit.CopyAction();
kopieren.putValue(Action.SHORT_DESCRIPTION, "Kopieren");
kopieren.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/copy24.gif"));
kopieren.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('H', InputEvent.CTRL_DOWN_MASK));
leiste.add(kopieren);
//Aufgabe2 eingefügt
Action einfügen = new DefaultEditorKit.PasteAction();
einfügen.putValue(Action.SHORT_DESCRIPTION, "Einfügen");
einfügen.putValue(Action.LARGE_ICON_KEY, new ImageIcon ("icons/paste24.gif"));
einfügen.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('L', InputEvent.CTRL_DOWN_MASK));
leiste.add(einfügen);[/CODE]