2015-07-09 3 views
0

С windowsbuilder я создал немного gui в eclipse. И в случае действия одной кнопки Айв написан этот код:Cant access JProgressbar от кнопки [Java]

progressBar.setValue(0); 

, но это не работает. "progressBar не может быть разрешен" Пожалуйста, помогите! пс: Я новичок в Java EDIT:

JButton allButton = new JButton("Klick Mich!"); 
    allButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
      progress1.setValue(50); 
      main.infoBox("Hallo Welt!", "Hallo Welt!"); 


     } 
    }); 

EDIT2:

JProgressBar progress1 = new JProgressBar(); 
    progress1.setStringPainted(true); 
    progress1.setBounds(20, 124, 408, 23); 
    frame.getContentPane().add(progress1); 
} 

EDIT3 [ПОЛНЫЙ КОД] http://pastebin.com/68z1Mpen

+0

Вы создали экземпляр JProgressBar()? –

+0

да, но я также пробовал с другими именами –

+0

Вы могли бы показать соответствующие коды –

ответ

1

вы создали JProgressBar после доступа владение.У есть для создания до доступа

нравится

JProgressBar progress1 = new JProgressBar(); 
JButton allButton = new JButton("Klick Mich!"); 
allButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 
     progress1.setValue(50); 
     main.infoBox("Hallo Welt!", "Hallo Welt!");  
    } 
}); 

при вызове

progress1.setValue(50); 

progress1 не объявлен .so, поэтому вы получаете ошибку

+1

спасибо, это работает :) –

+0

Вам не нужен прогресс1, который будет объявлен окончательным? – JDrost1818

0

Сделать JProgressBar progress1 поле класса для доступа к нему из внутреннего класса

public class main { 
    private JProgressBar progress1; 
    private JFrame frame; 
... 
} 

и объявить его:

progress1 = new JProgressBar(); 

или сделать JProgressBar progress1 окончательный.