我尝试处理两个事件,即openfile
和newfile
checkbox
,因为设置一次仅{1}} checkbox
。
最小代码:
新文件
private void newfileActionPerformed(java.awt.event.ActionEvent evt) {
textArea.setText("");
newfile.setSelected(true);
setTitle(filename);
}
中openFile
private void openfileActionPerformed(java.awt.event.ActionEvent evt) {
openfile.setSelected(true);
FileDialog filedialog = new FileDialog(textEditorGui.this, "Open File", FileDialog.LOAD);
filedialog.setVisible(true);
if(filedialog.getFile() != null)
{
filename = filedialog.getDirectory() + filedialog.getFile();
setTitle(filename);
}
}
我已尝试将if else控件设置为计数器以检查是否已选中该复选框,但它无法正常工作。它部分正常工作,在这种情况下复选框已经过检查,但openfile
无效。
我已尝试在两个块中设置if else控件以检查是否未选中该复选框,然后设置该特定复选框true
。
答案 0 :(得分:1)
请注意,您可以使用JRadioButton
和ButtonGroup
一次只选择一个按钮。工作代码:
package com.stackoverflow.json;
import java.awt.*;
import javax.swing.*;
public class UI extends JFrame {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(0,2));
JRadioButton rb1 = new JRadioButton("squirrel");
rb1.addActionListener(e -> {
System.out.println("man: " + ((JRadioButton) e.getSource()).isSelected());
});
JRadioButton rb2 = new JRadioButton("rabbit");
rb2.addActionListener(e -> {
System.out.println("weman: " + ((JRadioButton) e.getSource()).isSelected());
});
ButtonGroup group = new ButtonGroup();
group.add(rb1);
group.add(rb2);
frame.getContentPane().add(rb1, BorderLayout.CENTER);
frame.getContentPane().add(rb2, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}