Hallo,
also ich bin am Ende!!!! Ich versuche jetzt seit 5 Stunden in einem Dialog ein Bild (Image) anzuzeigen. Ich möchte nur einen "Info-Dialog" haben, der oben ein Bild anzeigt und darunter einen Button (OK). Erstmal weis ich nicht wie man die Höhe der Titelleiste in einem Fenster raus bekommt und zweistens gibt es ein Problem mit der Fenstergröße.
Die Fenstergröße und die Größe des Buttons, welche ja normal automatisch angepasst werden sollte(BorderLayout), soll sich an die Breite des Image anpassen.
Das ist einer der zig versuche:
also ich bin am Ende!!!! Ich versuche jetzt seit 5 Stunden in einem Dialog ein Bild (Image) anzuzeigen. Ich möchte nur einen "Info-Dialog" haben, der oben ein Bild anzeigt und darunter einen Button (OK). Erstmal weis ich nicht wie man die Höhe der Titelleiste in einem Fenster raus bekommt und zweistens gibt es ein Problem mit der Fenstergröße.
Die Fenstergröße und die Größe des Buttons, welche ja normal automatisch angepasst werden sollte(BorderLayout), soll sich an die Breite des Image anpassen.
Das ist einer der zig versuche:
Code:
class InfoDialog extends Dialog implements ActionListener
{
boolean result;
JPanel panel = new JPanel();
String filepath = System.getProperty("user.dir") + "\\logo.gif";
Image image = Toolkit.getDefaultToolkit().getImage( filepath );
Button button = new Button("OK");
public InfoDialog(Frame parent)
{
super(parent, "OTP", true);
setSize(100,300);
//Fenster (fast) zentriert darstellen
int x = (int)getToolkit().getScreenSize().getWidth();
int y = (int)getToolkit().getScreenSize().getHeight();
setLocation(x/2, y/2);
setBackground(Color.lightGray);
setLayout(new BorderLayout());
setResizable(false);
button.addActionListener(this);
add("Center", panel);
add("South", button);
addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent evt) { result = false; setVisible(false); dispose();}});
setVisible(true);
}
public void paint( Graphics g )
{
if ( image != null )
{
g.drawImage( image, 3, 32, this ); //32 und 3 sollten dynamisch sein...aber wie?
setSize(image.getWidth(this) + 6, image.getHeight(this) + 200);
}
}
public void actionPerformed(ActionEvent event)
{
result = event.getActionCommand().equals("OK");
setVisible(false);
dispose();
}
public boolean getResult()
{
return result;
}
}