Я пытаюсь запрограммировать свое первое Java-приложение и хочу создать кнопки в GUI.Вот программа, которую я хочу запустить.
Если я нажму на существующую кнопку в графическом интерфейсе.Я хотел бы добавить ActionListener
, но я просто хочу добавить только кнопку.Если я нажму обе кнопки в моем графическом интерфейсе.Сначала запустите LoadProgress
, затем Hinzufügen
.Как я могу исправить это так, чтобы я создал кнопку, только если я нажму на кнопку Hinzufügen
.
private void pnlLeft(){
JProgressBar bar = new JProgressBar();
bar.setPreferredSize(new Dimension(0, 30));
getContentPane().add(BorderLayout.SOUTH, bar);
JPanel panel2 = new JPanel();
panel2.setLayout(new BoxLayout(panel2, BoxLayout.PAGE_AXIS));
JButton btnLoad = new JButton("LoadProgress");
JButton leftbutton = new JButton("Hinzufügen");
panel2.add(leftbutton);
panel2.add(Box.createVerticalGlue());
panel2.add(btnLoad);
getContentPane().add(BorderLayout.WEST, panel2);
leftbutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getActionCommand().equals("Hinzufügen")) {
JButton test = new JButton("TEST");
panel2.add(test);
}
}
});
btnLoad.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Thread() {
@Override
public void run() {
if(e.getActionCommand().equals("LoadProgress")) {
bar.setStringPainted(true);
for ( int f = 1; f <= 100; f++) {
try {
Thread.sleep((long) (Math.random() * 100));
}catch (InterruptedException ex){
ex.printStackTrace();
}
bar.setString("Lade Bestand..." + f + "%");
bar.setValue(f);
}
bar.setValue(0);
bar.setStringPainted(false);
}
}
}.start();
}});
};