Когда я нажимаю кнопку, кнопка не работает?

#java

#java

Вопрос:

Я создал простой графический интерфейс на Java, чтобы проверить работу кнопки click. Но когда я нажимаю на кнопку, кнопка не работает.

 import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class rigotechnology implements ActionListener{
    JFrame test;
    JButton Try;

    public void main(){
       JFrame test = new JFrame("TEST FILE");
       test.setLayout(null);
       JButton Try = new JButton("TRY");
       Try.setBounds(50,50,80,80);
       test.add(Try);
       test.setSize(200,200);
       test.setVisible(true);
       Try.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e){
       if(e.getSource()==Try){
          JOptionPane.showMessageDialog(test,"hello");
       }
    }

   public static void main(String args[]){
        rigotechnology o = new rigotechnology();
        o.main();
     }
}
 

Комментарии:

1. Что означает «не работает»? Что бы он делал, если бы он «работал», и что он делает вместо этого?

2. JButton Try = new JButton("TRY"); <- это не использование поля ur JButton Try; , вы создаете новую локальную переменную с тем же именем. Try = ... Не JButton Try = ... делайте этого.

3. Пожалуйста, придерживайтесь соглашений об именах, try , не Try . И избегайте имен, которые уже заняты ключевыми словами, выберите что-нибудь более подходящее. Кроме того, что он пытается? Почему бы и нет tryOptionButton или что-то в этом роде.

Ответ №1:

В вашем методе main() вы переопределяете локальную JButton Try , поэтому Try в actionPerformed всегда имеет значение null .

 public void main(){
   test = new JFrame("TEST FILE");
   test.setLayout(null);
   Try = new JButton("TRY");
   Try.setBounds(50,50,80,80);
   test.add(Try);
   test.setSize(200,200);
   test.setVisible(true);
   Try.addActionListener(this);
}
 

Комментарии:

1. что я могу сделать, чтобы при нажатии кнопки «Попробовать» появлялось сообщение «Привет»?