Hallo,
das Forum hat mir bis jetzt immer geholfen, ohne dass ich selbst ein Thema erstellen musst :applaus:. Jetzt komm ich aber nicht mehr weiter und hoffe ihr könnt mir helfen.
Folgendes Problem:
Hab hier die zwei (gekürzten) Codes gepostet. Alles was eigentlich geschehen soll ist, sobald der "OK-Button" gedrückt wird geht für ein paar Sekunden ein JWindow mit einem Bild auf. Das JWindow erscheint auch, nur das Bild nicht. Egal wo auch immer ich Bildchen.displayBild(); aufrufe erscheint das JWindow mit dem Bild nur nicht in public void actionPerformed(ActionEvent e). Wär Klasse wenn einer eine Idee hätte, wie ich die Methode actionPerformed() dazu bringe auch das Bild zu zeichen bzw. irgendeine andere Lösung :wink:
Danke euch
das Forum hat mir bis jetzt immer geholfen, ohne dass ich selbst ein Thema erstellen musst :applaus:. Jetzt komm ich aber nicht mehr weiter und hoffe ihr könnt mir helfen.
Folgendes Problem:
Hab hier die zwei (gekürzten) Codes gepostet. Alles was eigentlich geschehen soll ist, sobald der "OK-Button" gedrückt wird geht für ein paar Sekunden ein JWindow mit einem Bild auf. Das JWindow erscheint auch, nur das Bild nicht. Egal wo auch immer ich Bildchen.displayBild(); aufrufe erscheint das JWindow mit dem Bild nur nicht in public void actionPerformed(ActionEvent e). Wär Klasse wenn einer eine Idee hätte, wie ich die Methode actionPerformed() dazu bringe auch das Bild zu zeichen bzw. irgendeine andere Lösung :wink:
Danke euch
Code:
import java.awt.*;
import java.awt.event.*;
public class Fenster extends JFrame implements ActionListener
{
private int tries = 3;
public Fenster ()
{
JPanel panel1 = new JPanel();
//Bildchen.displayBild();
AbstractButton button1 = new JButton("OK");
button1.setActionCommand("OK");
button1.addActionListener(this);
AbstractButton button2 = new JButton("ABBRECHEN");
button2.setActionCommand("ABBRECHEN");
button2.addActionListener(this);
panel1.setLayout(new FlowLayout(FlowLayout.CENTER));
panel1.add(button1);
panel1.add(button2);
setContentPane(panel1);
this.setTitle("Login");
this.setSize(256,128);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String cmd = e.getActionCommand();
if (cmd.equals("OK") && (tries != 0))
{
if(tries != 2)
Bildchen.displayBild();
else
System.out.println("Programmstart mit " + tries + " verbleibendne Versuchen");
// + Weiterführender Code
tries--;
}
if (cmd.equals("ABBRECHEN") || (tries == 0))
{
System.out.println(tries);
System.exit(0);
}
}
}
Code:
import javax.swing.*;
import java.awt.*;
public class Bildchen extends JWindow
{
private JPanel panel;
private static ImageIcon icon;
public Bildchen(String image)
{
panel = new JPanel();
panel.setLayout(new BorderLayout());
icon = new ImageIcon(image);
panel.add(new JLabel(icon), BorderLayout.CENTER);
setContentPane(panel);
}
public void waitFor(int millis)
{
setSize(icon.getIconWidth(), icon.getIconHeight());
setVisible(true);
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
setVisible(false);
}
public static void displayBild()
{
Bildchen b = new Bildchen("test.jpg");
b.waitFor(2000);
}
}