Hallo Zusammen,
die Situation ist folgende: Innerhalb eines JFrames (f1) soll ein "Zurück-Button" ein vorherig angezeigtes Bild und gleichzeitig den vorherig dargestellten Text anzeigen. Dazu gibt es ein ImageIcon-Array und ein String-Array. Die Steuerung der Bilder klappt, Probleme gibt es wenn ich gleiches if-else (Zeile 72-78) für das String-Array hinzufüge. Wo liegt mein Fehler und wie könnte man ihn verbessern?
die Situation ist folgende: Innerhalb eines JFrames (f1) soll ein "Zurück-Button" ein vorherig angezeigtes Bild und gleichzeitig den vorherig dargestellten Text anzeigen. Dazu gibt es ein ImageIcon-Array und ein String-Array. Die Steuerung der Bilder klappt, Probleme gibt es wenn ich gleiches if-else (Zeile 72-78) für das String-Array hinzufüge. Wo liegt mein Fehler und wie könnte man ihn verbessern?
Java:
public static void Anwendungsfenster()
{
//Bilder
final ImageIcon[] iconarray = {
new ImageIcon( "img/Folie1.png" ),
new ImageIcon( "img/Folie2.png" ),
new ImageIcon( "img/Folie3.png" ),
new ImageIcon( "img/Folie4.png" ),
new ImageIcon( "img/Folie5.png" ),
new ImageIcon( "img/Folie6.png" ),
};
final JLabel l = new JLabel( iconarray[current] );
final JLabel zwei = new JLabel( iconarray[current] );
final JFrame f1 = new JFrame( "Fenster1");
final JFrame f2 = new JFrame( "Fenster2" );
f1.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f2.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f1.setSize ( 1024, 800 );
f2.setSize ( 1024, 800 );
f1.setLayout( new FlowLayout() );
f1.setLayout( new FlowLayout() );
f1.setVisible( true );
f2.setVisible( true );
f1.add( l );
f2.add( zwei );
//TextdateiInhalt zu Stringarray
final File[] file = {
new File("hinweis1.txt"),
new File("hinweis2.txt"),
new File("hinweis3.txt"),
new File("hinweis4.txt"),
new File("hinweis5.txt"),
new File("hinweis6.txt"),
};
String hinweis;
final String hinweisarray[] = new String[156];
for (int i=0;i<file.length;i++)
try {
BufferedReader in = new BufferedReader(new FileReader(file[i]));
while ((hinweis = in.readLine()) != null) {
hinweisarray[i] = hinweis;
}
in.close();
} catch (IOException e) {
}
//Zurück-Button
final JLabel hinweislabel = new JLabel( hinweisarray[current] );
final int i = 0;
final JButton buttonPrev = new JButton( "<<" );
f1.add( buttonPrev );
ActionListener al = new ActionListener()
{
@Override public void actionPerformed( ActionEvent e){
if(current == 0){
current = iconarray.length - 1;
}else{
current--;
}
l.setIcon(iconarray[current]);
zwei.setIcon( iconarray[current] );
// Hier versuche ich- ebenso wie im iconarray - das vorangegangene element im hinweisarray anzusprechen
if(current == 0){
current = hinweisarray.length - 1;
}else{
current--;
}
hinweislabel.setText(hinweisarray[current]);
}
};
buttonPrev.addActionListener( al );
f1.add( drei );