0
好的,所以我的問題在於如何改變JFrame背景顏色,當我的if語句檢查我的布爾值給我或者「強「,」公平「等frame.setBackground(Color.green)將是我所需要的,但我不認爲它想要我訪問該對象。 (PS我知道代碼有點草率)。如何更改我的JFrame的背景顏色(我是一年級大學生)
謝謝你們。
公共類PasswordJFrame擴展JFrame中實現的ActionListener {
private JLabel title;
private JTextField input;
private JButton rate;
private JLabel rating;
private JButton reset;
private String password;
private boolean upperlower = false;
private boolean symbol = false;
private boolean number = false;
public PasswordJFrame(){
Container pane = this.getContentPane();
pane.setLayout(new FlowLayout());
title = new JLabel("Enter Your Password:");
input = new JTextField(15);
rate = new JButton("Rate my password");
rating = new JLabel("");
reset = new JButton("Reset");
pane.add(title);
pane.add(input);
pane.add(rate);
pane.add(rating);
pane.add(reset);
rate.addActionListener(this);
reset.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
password = input.getText();
if (source == rate){
for(int i = 0; i<password.length() - 1; i++){
switch(input.getText().charAt(i)){
case '@':
symbol = true;
break;
case '$':
symbol = true;
break;
case '*':
symbol = true;
break;
case '+':
symbol = true;
break;
case '%':
symbol = true;
break;
case '&':
symbol = true;
break;
case '0':
number = true;
break;
case '1':
number = true;
break;
case '2':
number = true;
break;
case '3':
number = true;
break;
case '4':
number = true;
break;
case '5':
number = true;
break;
case '6':
number = true;
break;
case '7':
number = true;
break;
case '8':
number = true;
break;
case '9':
number = true;
break;
}
if(!password.equals(password.toLowerCase()) && !password.equals(password.toUpperCase())){
upperlower = true;
}
}
if(upperlower && symbol && number){
rating.setText("Strong");
frame.setBackground(Color.green);
}
else if (upperlower && number){
rating.setText("Fair");
frame.setBackground(Color.yellow);
}
else if (upperlower){
rating.setText("Weak");
frame.setBackground(Color.red);
}
else{
rating.setText("Awful");
frame.setBackground(Color.black);
}
}
}
public static void main(String[] args){
PasswordJFrame frame = new PasswordJFrame();
frame.setSize(300,300);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}