JAVA中的公共变量、局部变量

JAVA中的公共变量、局部变量,java,swing,Java,Swing,我需要Java方面的帮助 通过使用VB.NET,您可以理解我下面的困境。我不熟悉JavaGUI。我已经创建了一个swing表单,包含按钮、添加、编辑和保存。单击“添加”时,我希望将某些全局变量的状态设置为TRUE,例如isAdding,并在单击“编辑”按钮时将其设置为FALSE。这是为了让我决定调用insert sql脚本或Update sql脚本 问题是,我正在摸索构造函数和封装之类的东西。如上所述,我怎样才能很容易地做到这一点?全局状态不是一个好的做法,可能会产生副作用。 您应该创建一个显示

我需要Java方面的帮助

通过使用VB.NET,您可以理解我下面的困境。我不熟悉JavaGUI。我已经创建了一个swing表单,包含按钮、添加、编辑和保存。单击“添加”时,我希望将某些全局变量的状态设置为TRUE,例如isAdding,并在单击“编辑”按钮时将其设置为FALSE。这是为了让我决定调用insert sql脚本或Update sql脚本


问题是,我正在摸索构造函数和封装之类的东西。如上所述,我怎样才能很容易地做到这一点?

全局状态不是一个好的做法,可能会产生副作用。 您应该创建一个显示在屏幕上的数据模型。 例如,当模型因用户操作而更改时,屏幕应更新。 如果数据是由用户文本输入输入的,那么模型也必须更新。
为了使模型和屏幕保持同步,您可以实现一个观察者模式,因为Swing没有数据绑定。

事实上,我不理解您所说的全局变量是什么意思。但是,当我在JavaGUI中处理事件句柄时,我通常喜欢以下方式

class Editeur implements ActionListener{
    Frame theFrame;
    Panel theButtons;
    Button toRead;
    Button toWrite;
   //the other components


    Editeur(){
        super();

    }
    void execute(){
        // initialization
        theFrame.addWindowListener(new WindowAdapter() {
               public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
     }
    public void read() {
        //do somethings
    }
    public void write() {
       //do somethings

    }
    public void actionPerformed(ActionEvent e) {
        //when toRead is clicked, read();toWrite is clicked, write()
        if (e.getSource().equals(toRead)) {
            read();
        }else if (e.getSource().equals(toWrite)){
            write();
        }
        else{
           // do somethings
        }
   }
   public static void main(String[] args){
        (new Editeur()).execute();

   }
}

可能重复签出。这看起来有点像这个想法,但因为我对JAVA还不熟悉,所以在这个阶段我不理解它的复杂性。@Sylvester它并不复杂。我只添加了两个按钮:“button toRead;按钮写入;'在readfunction中,添加一些您希望在单击toRead时执行的代码。actionPerformed函数是界面ActionListener中的函数。