如何在 Java 中为每个 JCheckBox 的选择设置助记键?
设置助记键,以便用户可以使用键盘键选中复选框。例如,可以使用 ALT 设置键
checkBox1.setMnemonic(KeyEvent.VK_F); checkBox2.setMnemonic(KeyEvent.VK_T); checkBox3.setMnemonic(KeyEvent.VK_R); checkBox4.setMnemonic(KeyEvent.VK_C); checkBox5.setMnemonic(KeyEvent.VK_A);
在上面,我们为复选框 1 设置键 ALT+F、为复选框 2 设置键 ALT+T,依此类推。
下面是一个示例。在这里,我们为每个复选框的选择设置了助记键
示例
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public SwingDemo(){
prepareGUI();
}
public static void main(String[] args){
SwingDemo swingControlDemo = new SwingDemo();
swingControlDemo.showCheckBoxDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing");
mainFrame.setSize(600,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showCheckBoxDemo(){
headerLabel.setText("Favourite Sports");
final JCheckBox checkBox1 = new JCheckBox("Football");
final JCheckBox checkBox2 = new JCheckBox("Tennis");
final JCheckBox checkBox3 = new JCheckBox("Rugby");
final JCheckBox checkBox4 = new JCheckBox("Cricket");
final JCheckBox checkBox5 = new JCheckBox("Racing");
checkBox1.setMnemonic(KeyEvent.VK_F);
checkBox2.setMnemonic(KeyEvent.VK_T);
checkBox3.setMnemonic(KeyEvent.VK_R);
checkBox4.setMnemonic(KeyEvent.VK_C);
checkBox5.setMnemonic(KeyEvent.VK_A);
checkBox1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
statusLabel.setText("Football Checkbox: "+ (e.getStateChange()==1?"checked":"unchecked"));
}
});
checkBox2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
statusLabel.setText("Tennis Checkbox: "+ (e.getStateChange()==1?"checked":"unchecked"));
}
});
checkBox3.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
statusLabel.setText("Rugby Checkbox is "+ (e.getStateChange()==1?"checked":"unchecked"));
}
});
checkBox4.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
statusLabel.setText("Cricket Checkbox is "+ (e.getStateChange()==1?"checked":"unchecked"));
}
});
checkBox5.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
statusLabel.setText("Racing Checkbox is "+ (e.getStateChange()==1?"checked":"unchecked"));
}
});
controlPanel.add(checkBox1);
controlPanel.add(checkBox2);
controlPanel.add(checkBox3);
controlPanel.add(checkBox4);
controlPanel.add(checkBox5);
mainFrame.setVisible(true);
}
}输出

现在,按下为复选框设置的键。假设首先对于足球,我们将按下 Alt+F,因为我们在代码中设置了相同的内容(setMnemonic(KeyEvent.VK_F))

在上面,由于我们使用了键 Alt+F,因此现在选中了足球复选框
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP