Hi,
Folgende Problemstellung: In meinem Aktuellen Programm gibt es eine Klasse, welche Daten aus einer .txt- Datei ausliest, diese in ein Array schreibt und mit Hilfe von JLabels darstellt. Nun gibt es einen Button der den Inhalt der .txt-Datei löscht, wie kann ich die JLabels nun Updaten?
Ich habe es schon mit diversen Methoden versucht, aber es will nicht klappen.
Hier noch ein kleines Beispiel, welches den prinzipiellen Aufbau meines Programms darstellt.
Wie schon bei meinem letzten Problem, bin ich mir nicht sicher ob mein grundsätzlicher Aufbau, der Beste bzw. Richtige ist.
Folgende Problemstellung: In meinem Aktuellen Programm gibt es eine Klasse, welche Daten aus einer .txt- Datei ausliest, diese in ein Array schreibt und mit Hilfe von JLabels darstellt. Nun gibt es einen Button der den Inhalt der .txt-Datei löscht, wie kann ich die JLabels nun Updaten?
Ich habe es schon mit diversen Methoden versucht, aber es will nicht klappen.
Hier noch ein kleines Beispiel, welches den prinzipiellen Aufbau meines Programms darstellt.
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Problem extends JPanel implements ActionListener{
private String[] numbers = {"eins","zwei","drei","viel","fünf","sechs","sieben","acht","neun","zehn"};
JPanel numbersPanel;
public static void main(String[] args){
new Problem();
}
public Problem(){
JFrame frame = new JFrame();
numbersPanel = new JPanel();
numbersPanel.setLayout(new FlowLayout());
numbersPanel.setPreferredSize(new Dimension(300,180));
addLabels();
JPanel menuPanel = new JPanel();
JButton resetButton = new JButton("Reset");
resetButton.addActionListener(this);
resetButton.setActionCommand("reset");
menuPanel.add(resetButton);
this.add(numbersPanel);
this.add(menuPanel);
frame.add(this);
frame.pack();
frame.setVisible(true);
}
private void addLabels(){
for(int i = 0; i < numbers.length; i++){
JLabel cacheLabel = new JLabel(numbers[i]);
cacheLabel.setPreferredSize(new Dimension(120,20));
numbersPanel.add(cacheLabel);
}
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("reset")){
numbers = null;
}
}
}
Wie schon bei meinem letzten Problem, bin ich mir nicht sicher ob mein grundsätzlicher Aufbau, der Beste bzw. Richtige ist.