如何更改Variable x的可见性?

时间:2014-04-16 10:05:04

标签: java variables if-statement jbutton

这是我的第一个程序,现在我需要帮助解决一个小问题。

    public void actionPerformed (ActionEvent ae){ 
    String name[] = new String[5];
        name[0] = "Nefarax";
        name[1] = "Gohanner";
        name[2] = "Tiradus";
        name[3] = "Musti";
        name[4] = "Tarik";
        int x;

    // Die Quelle wird mit getSource() abgefragt und mit den
    // Buttons abgeglichen. Wenn die Quelle des ActionEvents einer
    // der Buttons ist, wird der Text des JLabels entsprechend geändert
    if(ae.getSource() == this.button1){
        label.setText(("Anzahl der WP für Nefarax eintragen: "));
        buttonOK.addActionListener(this);
        panel.add(buttonOK);
        panel.add(tfName);
        buttonOK.setEnabled(true);
        tfName.setEnabled(true);
        x= 0;
    }
    else if(ae.getSource() == this.button2){
        label.setText("Button 2 wurde betätigt");
        buttonOK.setEnabled(true);
        tfName.setEnabled(true);
        buttonOK.addActionListener(this);
        panel.add(buttonOK);
        panel.add(tfName);
        x=1;
    }
    else if (ae.getSource() == this.button3){
        label.setText(("Button 3 wurde betätigt"));
        buttonOK.setEnabled(true);
        tfName.setEnabled(true);
        buttonOK.addActionListener(this);
        panel.add(buttonOK);
        panel.add(tfName);
        x=2;
    }

    else if (ae.getSource() == this.button4){
        label.setText(("Button 4 wurde betätigt"));
        buttonOK.setEnabled(true);
        tfName.setEnabled(true);
        buttonOK.addActionListener(this);
        panel.add(buttonOK);
        panel.add(tfName);
        x=3;
    }

    else if (ae.getSource() == this.button5){
        label.setText("Button 5 wurde betätigt");
        buttonOK.setEnabled(true);
        tfName.setEnabled(true);
        buttonOK.addActionListener(this);
        panel.add(buttonOK);
        panel.add(tfName);
        x=4;
    }

     if(ae.getSource() == this.buttonOK){

        label.setText(" ");
        buttonOK.setEnabled(false);
        tfName.setEnabled(false);

        save(name[x]);
     }   
    }
 public void save(String name)
{
    try
    {


        File file = new File("C:\\daten\\Wichtig\\" + name  +"Points.txt");
        if(!file.exists()) file.createNewFile();
        BufferedWriter writer=new BufferedWriter(new FileWriter(file));

        writer.write(tfName.getText()+ ";");

        writer.close();

    }

    catch(IOException exception)
    {
        JOptionPane.showMessageDialog(null, "Es ist ein Fehler beim Speichern aufgetreten." );
    }

}

}

save(name[x])未启动,但我不知道如何?
我需要这个数组来创建具有不同名称的.txt个文件,并且每个按钮都有一个新名称

感谢

1 个答案:

答案 0 :(得分:0)

初始化它,在声明中,只需将其设置为某个值。
例如-1

int x = -1;

或者,您也可以使用Integer代替int

Integer x = null;

在调用函数abspeichern()之前记住,你还需要进一步处理它。
(此-1null值);除非它可能导致错误

像:

if(ae.getSource() == this.buttonOK){

    label.setText(" ");
    buttonOK.setEnabled(false);
    tfName.setEnabled(false);

    if(x!=null){
        abspeichern(name[x]);
    }
 }