你可以使用Java Swing来实现按下空格键切换单选按钮的功能。下面是一个简单的示例代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class RadioButtonExample extends JFrame implements ActionListener, KeyListener {
private JRadioButton radioButton1;
private JRadioButton radioButton2;
public RadioButtonExample() {
// 设置窗口标题
setTitle("RadioButton Example");
// 设置窗口大小
setSize(300, 200);
// 设置窗口关闭按钮的默认操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建单选按钮
radioButton1 = new JRadioButton("Option 1");
radioButton2 = new JRadioButton("Option 2");
// 创建按钮组并将单选按钮添加到按钮组中
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(radioButton1);
buttonGroup.add(radioButton2);
// 创建面板并将单选按钮添加到面板中
JPanel panel = new JPanel();
panel.add(radioButton1);
panel.add(radioButton2);
// 将面板添加到窗口的内容面板中
getContentPane().add(panel);
// 添加动作监听器
radioButton1.addActionListener(this);
radioButton2.addActionListener(this);
// 添加键盘监听器
addKeyListener(this);
setFocusable(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new RadioButtonExample().setVisible(true);
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// 处理单选按钮的点击事件
if (e.getSource() == radioButton1) {
System.out.println("Option 1 selected");
} else if (e.getSource() == radioButton2) {
System.out.println("Option 2 selected");
}
}
@Override
public void keyTyped(KeyEvent e) {
// 按键事件:按下空格键切换单选按钮
if (e.getKeyChar() == ' ') {
if (radioButton1.isSelected()) {
radioButton2.setSelected(true);
} else {
radioButton1.setSelected(true);
}
}
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
}
这个示例代码创建了一个带有两个单选按钮的窗口。按下空格键时,会切换选中的单选按钮。当单选按钮被点击时,会打印出选中的选项。
上一篇:按下空格键后,在输入框中隐藏文本