Set mnemonic char auf diese Schaltfläche
JButton btnTesting = new JButton("Testing");
btnTesting.setMnemonic('T');
Sie werden es in diesem Fall durch Drücken von Alt + T verwenden.
EDIT
Um diese Funktion ohne ALT-Taste reproduzieren Sie, dass Sie auf dem Behälter halten Ihre Tasten registrieren verwenden, müssen KeyListener. Sie müssen eine Logik implementieren, die bestimmt, welcher Schlüssel welcher Schaltfläche entspricht.
Probe:
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ButtonPressDemo {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
initGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private static void initGUI() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 300, 300);
JPanel contentPane = new JPanel();
contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
// add your buttons
contentPane.add(new JButton("A"));
contentPane.add(new JButton("B"));
contentPane.add(new JButton("C"));
contentPane.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int keyPressed = e.getKeyCode();
System.out.println("pressed key: "+keyPressed);
// do something ...
}
});
contentPane.setFocusable(true); // panel with keyListener must be focusable
frame.setContentPane(contentPane);
contentPane.requestFocusInWindow(); // panel with key listener must have focus
frame.setVisible(true);
}
}
Mit diesem Ansatz Ihre GUI nicht visuell reagieren die mnemonic Taste dh Tasten drücken, wird nicht animieren, wie sie es mit dem setMnemonic und dem mnemonic char wird nicht automatisch in Etikett unterstrichen werden die Taste.
Gibt es keine Möglichkeit, es ohne "alt" zu machen? –
Sie müssten den Listener im Bedienfeld registrieren, in dem Ihre Schaltflächen das Zeichen enthalten, das getippt wurde, und bestimmen, welche Schaltfläche es darstellt. – MatheM