나는 버튼을 클릭 할 때 동작을 시도하고 있지만, JCheckBox
이 선택되었는지 확인해야합니다.Jcheckbox 상태에 대해서, java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.*;
import javax.swing.*;
public class RandomPassword extends JFrame{
RandomPassword(String s){
super(s);
setSize(300,300);
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
setLayout(null);
setFont(new Font("Serif", Font.PLAIN, 20));
Label l1 = new Label("Введите количество символов:");
l1.setBounds(50, 100, 200, 30);
add(l1);
JTextField tf1 = new JTextField(1002);
tf1.setBounds(50,130,200,30);
add(tf1);
JTextArea ta1 = new JTextArea();
ta1.setPreferredSize(new Dimension(150,30));
ta1.setBounds(50,210,230,30);
add(ta1);
JCheckBox ch1 = new JCheckBox("Использовать заглавные буквы");
ch1.setBounds(50, 0, 200, 30);
add(ch1);
JCheckBox ch2 = new JCheckBox("Использовать цифры");
ch2.setBounds(50, 30, 200, 30);
add(ch2);
JCheckBox ch3 = new JCheckBox("Использовать спецсимволы");
ch3.setBounds(50, 60, 200, 30);
add(ch3);
JButton b1 = new JButton("Сгенерировать");
b1.setBounds(75, 170, 150, 30);
add(b1);
b1.addActionListener(new Action());
}
public static void main(String[] args){
new RandomPassword("Генератор случайных паролей");
}
static class Action implements ActionListener{
public void actionPerformed(ActionEvent e){
}
}
}
나는 정적 클래스 액션의 체크 박스를 만들고 싶어하지만, 그는 나에게 exception
을 던지고있다. 나는 무엇을해야합니까?
이 시도는 나에게 도움이되지 못했습니다.
JButton b1 = new JButton(new AbstractAction("Сгенерировать") {
public void actionPerformed(ActionEvent e) {
ch1.isSelected();
}
});
좀 더 구체적으로 알려주시겠습니까? 어떤 종류의 예외가 있습니까? 문제는 당신이 만드는 체크 박스가 액션 리스너의 범위에 있지 않다는 것 같습니다. 생성자의 내부 클래스를 사용해보십시오. –
네, 행동 청취자의 범위 문제라고 생각합니다. 내게 수업을 작성하도록 도와 줄 수 있습니까? – Genessis
마지막으로 ch1, ch2 및 ch3과 함께 final을 사용해야합니다. 내부 클래스에 대한 도움이 필요하시면 타이 – Genessis