JDialog einrichten

Status
Nicht offen für weitere Antworten.

Stephan191

Aktives Mitglied
Hallo zusammen!

Ich möchte einem JDialog ein JPanel und ein JLabel hinzufügen. Wenn ich in dem Panel ein Image darstellen lasse, ist der obere des Bildes von der Titelleiste des Dialogfensters verdeckt. Es sieht also so aus als ob das Panel und das Dialogfenster den gleichen Ursprung haben. Wie schaffe ich es, das Panel und Label so ins Dialogfenster einzufügen das sie beide gut sichtbar angeordnet sind. Benutze im Moment ein Borderlayout um die einzelnen Komponenten anzuordnen.
Im voraus schonmal danke

Gruß Stephan
 

Stephan191

Aktives Mitglied
Hallo vielen Dank für deine Mühe. Kann mir mal jemand sagen wie ich das sauber trenne? Hab versucht nur swing komponenten zu benutzen.
Hier meine Klasse:

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.imageio.*;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Vector;
import java.lang.Exception.*;

public class ImageDialog extends JDialog implements ActionListener{
    
    private BufferedImage image;
    private ImagePanel imagepanel;
    boolean result;
    
    public ImageDialog(JFrame owner, String message, File file) {
        
        super(owner,message, true);
        setBackground(Color.lightGray);
        setLayout(new BorderLayout());
        setResizable(false);
        
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        setLocation(dim.width/3, dim.height/3);
        
        JLabel label = new JLabel();
        label.setText(message);       
        add(label, BorderLayout.NORTH);               
        
        imagepanel = new ImagePanel();
        imagepanel.setImage(file);       
        add(imagepanel, BorderLayout.CENTER);
        
        setSize(imagepanel.returnImageWidth()+5,imagepanel.returnImageHeight()+30);                   
    }
    
    public void actionPerformed(ActionEvent event){
        
    }
    
    private class ImagePanel extends JPanel{
        int width = 0;
        int height = 0;
        
        public ImagePanel(){
        }
        
        public void setImage(File file){
            try{
                image = ImageIO.read(file);
                if(file!=null){
                    System.out.println("Image loaded!");
                }
                repaint();
            } catch(IOException e){
                System.out.println(e);
            }
        }
        
        public int returnImageWidth(){
            if(image != null){
                return width = image.getWidth();                
            }else{
                return 0;
            }                        
        }
        
        public int returnImageHeight(){
            if(image != null){
                 return height = image.getHeight();                
            }else{
                return 0;
            }           
        }
        
        public void paint(Graphics g){
            
            g.drawImage(image,0,0,returnImageWidth(),returnImageHeight(),Color.DARK_GRAY,this);                                                        
        }
    }
}

Nochmal danke gruß Stephan
 

Illuvatar

Top Contributor
Ich hab es getestet und das ganze Bild ist drauf.
So hab ich das zum Test aufgerufen:
Code:
public static void main (String[] args)
    {
      ImageDialog id = new ImageDialog (null, "test", new File ("C:\\Dokumente und Einstellungen\\PfM\\Eigene Dateien\\Eigene Bilder\\rockerpapst.jpg"));
      id.setVisible(true);
    }

PS: Ich würde die Image-Variable in die innere Klasse tun, das ist aber nur Codestil und hat nix mit dem Problem zu tun.
 

Stephan191

Aktives Mitglied
Hallo!

Vielen Dank für deine Antwort. Also in der Methode wo ich das Dialogfenster aufrufe setze ich es ebenfalls "visible(true);", aber keine Ahnung warum sich mein Dialog nicht der Größe des Bildes anpasst. Es fehlt auch nur eine bißchen, halt der Teil der von der Titelleiste des Dialogs verdeckt wird. Trotzdem vielen Dank

Gruß Stephan
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Jdialog nur 1x anzeigen Java Basics - Anfänger-Themen 2
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
J JDialog: wie kann ich ihn direkt als invisible erstellen Java Basics - Anfänger-Themen 7
A JDialog öffnet sich nicht Java Basics - Anfänger-Themen 7
D JDialog schließen Java Basics - Anfänger-Themen 11
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
H JDialog Problem Java Basics - Anfänger-Themen 10
H Problem JDialog.setVisible Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
I JDialog Problem Java Basics - Anfänger-Themen 37
J Icon JDialog mit Java 1.4 Java Basics - Anfänger-Themen 2
M JDialog Modality Java Basics - Anfänger-Themen 7
S JDialog resize zur Laufzeit PROBLEM!!! Java Basics - Anfänger-Themen 5
S JDialog und SwingUtilities Java Basics - Anfänger-Themen 6
H Modalen JDialog schließen, ohne dabei das Parent-Frame zu schließen Java Basics - Anfänger-Themen 7
M JDialog soll was an die AufruferKlasse zurück geben Java Basics - Anfänger-Themen 3
S Layout JDialog Java Basics - Anfänger-Themen 9
S eigene Methoden in JDialog Java Basics - Anfänger-Themen 13
pun Im JDialog auf Objekt im Parent JFrame zugreifen Java Basics - Anfänger-Themen 2
C Frame, JFrame, JDialog Java Basics - Anfänger-Themen 12
S Datenzugriff auf JDialog! Java Basics - Anfänger-Themen 8
A JDialog, Owner JFrame ZIEL: nciht in der taskbar Java Basics - Anfänger-Themen 9
E Übergabe von werten aus einem JDialog Java Basics - Anfänger-Themen 4
B Grafiken/Bilder mit Netbeans in Jdialog Java Basics - Anfänger-Themen 7
O Beim Schließen JDialog, im Frame-Owner eine Methode starten Java Basics - Anfänger-Themen 6
G JDialog + p aintComponent-Override Java Basics - Anfänger-Themen 3
A Klasse erbot von JDialog. Kontruktor? Java Basics - Anfänger-Themen 4
M Hauptfenster nicht wählbar bei offenem JDialog Java Basics - Anfänger-Themen 2
G Bei JDialog warten Java Basics - Anfänger-Themen 5
B Fenstergröße variiert bei JDialog.pack()-Aufruf Java Basics - Anfänger-Themen 10
S JDialog während automatischer Dateisuche einblenden Java Basics - Anfänger-Themen 6
J JDialog zeigt nichts an Java Basics - Anfänger-Themen 4
C JDialog Werte nach Frame übergeben Java Basics - Anfänger-Themen 10
G JDialog + setOpaque Java Basics - Anfänger-Themen 5
G JDialog auf Jpanel statt Frame? Java Basics - Anfänger-Themen 4
N Werte von JDialog entgegennehmen Java Basics - Anfänger-Themen 7
G JDialog-Status im Frame abfragen Java Basics - Anfänger-Themen 2
Bernasconi dynamisches JDialog Java Basics - Anfänger-Themen 2
T Register im JDialog Java Basics - Anfänger-Themen 9
G JDialog übers X schliessen und Programm beenden Java Basics - Anfänger-Themen 4
C Fehlermeldungen umleiten auf JDialog Java Basics - Anfänger-Themen 2
S new .() extends JDialog {.} Java Basics - Anfänger-Themen 15
M Button in einem JDialog mit Enter ausführen Java Basics - Anfänger-Themen 2
C FocusLost reagiert nicht bei JDialog Java Basics - Anfänger-Themen 5
E Von einem JDialog einen neuen JDialog aufrufen Java Basics - Anfänger-Themen 10
R JDialog schließen ( nicht mit dispose()! ) Java Basics - Anfänger-Themen 14
G JDialog Java Basics - Anfänger-Themen 15
M JDialog Java Basics - Anfänger-Themen 3
M JDialog basierend auf JDialog aufrufen Java Basics - Anfänger-Themen 4
B KeyListener beim JDialog Java Basics - Anfänger-Themen 4
E JDialog schließen Java Basics - Anfänger-Themen 9
S JDialog Frage Java Basics - Anfänger-Themen 2
G Wiedermal vererbung, extends JDialog extends Exception ? Java Basics - Anfänger-Themen 8
P JDialog funktioniert nicht? Java Basics - Anfänger-Themen 9
P JDialog & JProgressBar Java Basics - Anfänger-Themen 2
F JDialog per Button-Klick schliessen Java Basics - Anfänger-Themen 2
G Owner von JDialog;Komme einfach nicht weiter Java Basics - Anfänger-Themen 4
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
J Default Button bei jDialog Java Basics - Anfänger-Themen 2
M JDialog mit TextArea Java Basics - Anfänger-Themen 2
K JDialog aus einer anderen klasse einfügen Java Basics - Anfänger-Themen 2
S Auf JDialog aus anderer Datei zugreifen Java Basics - Anfänger-Themen 5
P JavaFx einrichten Java Basics - Anfänger-Themen 6
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
F Umgebungsvariable Java Umgebungsvariablen einrichten (win 10) Java Basics - Anfänger-Themen 9
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
D Einrichten einer Druckansicht Java Basics - Anfänger-Themen 8
A JDK/SDK installieren und einrichten Java Basics - Anfänger-Themen 23
A jexcelapi fehler beim einrichten Java Basics - Anfänger-Themen 2
M Java einrichten unter Windows 7 Java Basics - Anfänger-Themen 12
J Reset Button im Spiel Vier gewinnt einrichten Java Basics - Anfänger-Themen 8
I Probleme beim Einrichten von Java (PATH-Veriable) Java Basics - Anfänger-Themen 4
N system-bibliothek bei eclipse einrichten Java Basics - Anfänger-Themen 2
D Java auf USB-Stick einrichten um FreeMind zum laufen zu bringen Java Basics - Anfänger-Themen 4
G eclipse für java (j2ME) und PHP. einrichten? Java Basics - Anfänger-Themen 2
C Java-Editor einrichten Java Basics - Anfänger-Themen 6
F IN JAVA einen Timer einrichten o.ä. Java Basics - Anfänger-Themen 3
L Eclipse mit Java Docu einrichten Java Basics - Anfänger-Themen 2
D [JCreator] Einrichten - Fehler beim Kompilieren Java Basics - Anfänger-Themen 14
M Frame nicht minimierbar,schließbar einrichten Java Basics - Anfänger-Themen 16
G SDK 1.4 unter Linux einrichten Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben