Neues Dialog Mittig auf dem Bildschirm

Durchstarter

Mitglied
Ich habe hier diesen Code mit dem ich völlig zufrieden bin (Button 3 & 4 haben derzeit keine Funktion aus Testgründen) Wenn ich jetzt auf den Button(Fenster) 1 oder 2 klicke öffnet sich das neue Fenster wie gewünscht, allerdings hätte ich gerne das sich dieses in der Mitte meines Bildschirms öffnet, danke im Vorraus falls jemand helfen könnte :)

Ich probiere weiter rum, falls ich was finde schreibe ich das hier natürlich, freue mich aber über Lösungsvorschläge :D

Java:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
 
public class Fensterlernen {
  
  public Fensterlernen() {
    JFrame frame = new JFrame("Fenster");
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setResizable(false);
    
    JPanel mainPanel = new JPanel();
    
    JButton openFirstDialogBtn = new JButton("Fenster 1");
    JButton openSecondDialogBtn = new JButton("Fenster 2");
    JButton openThirdDialogBtn = new JButton("Fenster 3");
    JButton openFourthDialogBtn = new JButton("Fenster 4");
    
    openFirstDialogBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        createDialog("Fenster 1");
      }
    });
    openSecondDialogBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        createDialog("Fenster 2");
      }
    });
    
    openFirstDialogBtn.setPreferredSize(new Dimension(100, 25));
    openSecondDialogBtn.setPreferredSize(new Dimension(100, 25));
    openThirdDialogBtn.setPreferredSize(new Dimension(100, 25));
    openFourthDialogBtn.setPreferredSize(new Dimension(100, 25));
    
    mainPanel.add(openFirstDialogBtn);
    mainPanel.add(openSecondDialogBtn);
    mainPanel.add(openThirdDialogBtn);
    mainPanel.add(openFourthDialogBtn);
    
    frame.add(mainPanel);
    
    frame.pack();
    frame.setVisible(true);
  }
  
  private void createDialog(String title) {
    JDialog dialog = new JDialog();
    dialog.setTitle(title);
    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    dialog.setSize(200, 80);
    
    JPanel mainPanel = new JPanel();
    
    JButton exitBtn = new JButton("Exit");
    exitBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        dialog.dispose();
        
      }
    });
    mainPanel.add(exitBtn);
    
    dialog.add(mainPanel);
    dialog.setVisible(true);
    
  }
  
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        new Fensterlernen();
      }
    });
  }
}
 

Durchstarter

Mitglied
Danke für die Schnelle antwort @Thallius! (Claus) Allerdings ist es nicht völlig "MITTIG" nur die Obere Linke Ecke des Fensters ist in der Mitte des Monitors.

Ich habe hier eine möglichkeit das erste Fenster Komplett Mittig zu platzieren:

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 21.04.2015
  * @author 
  */

public class Mitte extends JFrame {
  // Anfang Attribute
  // Ende Attribute
  
  public Mitte(String title) { 
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 300; 
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
    
    // Ende Komponenten
    
    setVisible(true);
  } // end of public Mitte
  
  // Anfang Methoden
  // Ende Methoden
  
  public static void main(String[] args) {
    new Mitte("Mitte");
  } // end of main
  
} // end of class Mitte
allerdings schaffe ich das nicht auf ein neu geöffnetes Fenster zu übertragen
 

Durchstarter

Mitglied
danke!!

edit:habs gerade versucht klappt doch nicht :lol:


edit: klappt doch :rtfm: (FÜR FENSTER 1 NUR WEIL ICH GERADE AM TÜFTELN BIN) allerdings öffnet sich das Hauptfenster immernochnicht mittig :(

[Java]import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Fensterlernen {

public Fensterlernen() {
JFrame frame = new JFrame("Fenster");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setResizable(false);

JPanel mainPanel = new JPanel();

JButton openFirstDialogBtn = new JButton("Fenster 1");
JButton openSecondDialogBtn = new JButton("Fenster 2");
JButton openThirdDialogBtn = new JButton("Fenster 3");
JButton openFourthDialogBtn = new JButton("Fenster 4");

openFirstDialogBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
createDialog("Fenster 1");
}
});
openSecondDialogBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
createDialog("Fenster 2");
}
});

openFirstDialogBtn.setPreferredSize(new Dimension(100, 25));
openSecondDialogBtn.setPreferredSize(new Dimension(100, 25));
openThirdDialogBtn.setPreferredSize(new Dimension(100, 25));
openFourthDialogBtn.setPreferredSize(new Dimension(100, 25));

mainPanel.add(openFirstDialogBtn);
mainPanel.add(openSecondDialogBtn);
mainPanel.add(openThirdDialogBtn);
mainPanel.add(openFourthDialogBtn);

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
frame.setLocation(x, y);


frame.add(mainPanel);

frame.pack();
frame.setVisible(true);
}

private void createDialog(String title) {
JDialog dialog = new JDialog();
dialog.setTitle(title);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setSize(200, 80);

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - dialog.getWidth()) / 2);
int y = (int) ((dimension.getHeight() - dialog.getHeight()) / 2);
dialog.setLocation(x, y);


JPanel mainPanel = new JPanel();

JButton exitBtn = new JButton("Exit");
exitBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dialog.dispose();

}
});
mainPanel.add(exitBtn);

dialog.add(mainPanel);
dialog.setVisible(true);

}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Fensterlernen();
}
});
}
}[/Java]


EDIT: habs hinter pack() geklappt FUNKTIONIERT DANKEE

Java:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
 
public class Fensterlernen {
  
  public Fensterlernen() {
    JFrame frame = new JFrame("Fenster");
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setResizable(false);
    
    JPanel mainPanel = new JPanel();
    
    JButton openFirstDialogBtn = new JButton("Fenster 1");
    JButton openSecondDialogBtn = new JButton("Fenster 2");
    JButton openThirdDialogBtn = new JButton("Fenster 3");
    JButton openFourthDialogBtn = new JButton("Fenster 4");
    
    openFirstDialogBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        createDialog("Fenster 1");
      }
    });
    openSecondDialogBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        createDialog("Fenster 2");
      }
    });
    
    openFirstDialogBtn.setPreferredSize(new Dimension(100, 25));
    openSecondDialogBtn.setPreferredSize(new Dimension(100, 25));
    openThirdDialogBtn.setPreferredSize(new Dimension(100, 25));
    openFourthDialogBtn.setPreferredSize(new Dimension(100, 25));
    
    mainPanel.add(openFirstDialogBtn);
    mainPanel.add(openSecondDialogBtn);
    mainPanel.add(openThirdDialogBtn);
    mainPanel.add(openFourthDialogBtn);
    
    
    
    
    frame.add(mainPanel);
    
    frame.pack();
    frame.setVisible(true);
    
    
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
    int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
    frame.setLocation(x, y);
  }
  
  private void createDialog(String title) {
    JDialog dialog = new JDialog();
    dialog.setTitle(title);
    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
    dialog.setSize(200, 80);
    
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (int) ((dimension.getWidth() - dialog.getWidth()) / 2);
    int y = (int) ((dimension.getHeight() - dialog.getHeight()) / 2);
    dialog.setLocation(x, y);
    
    
    JPanel mainPanel = new JPanel();
    
    JButton exitBtn = new JButton("Exit");
    exitBtn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        dialog.dispose();
        
      }
    });
    mainPanel.add(exitBtn);
    
    dialog.add(mainPanel);
    dialog.setVisible(true);
    
  }
  
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        new Fensterlernen();
      }
    });
  }
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
Dit_ Mit Button "Weiter" neues Panel laden, altes ausblenden... AWT, Swing, JavaFX & SWT 4
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
H Swing neues fenster AWT, Swing, JavaFX & SWT 2
D Neues Java Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
N Durch Button drücken neues Fenster öffnen AWT, Swing, JavaFX & SWT 13
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
F neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
T Jbutton geklickt, dann neues Fenster AWT, Swing, JavaFX & SWT 4
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
M Will ein neues Fenster AWT, Swing, JavaFX & SWT 13
D Neues JPanel ohne Symbolleisteneintrag AWT, Swing, JavaFX & SWT 6
G JButton benutzen um ein neues JFrame zu erstellen AWT, Swing, JavaFX & SWT 3
J Problem: neues Fenster bei dispose öffnen AWT, Swing, JavaFX & SWT 8
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
M Neues Programm? AWT, Swing, JavaFX & SWT 20
G Neues Frame über Button öffnen lassen AWT, Swing, JavaFX & SWT 15
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
M fortführung neues Bild laden AWT, Swing, JavaFX & SWT 12
M neues Bild laden AWT, Swing, JavaFX & SWT 15
V JOptionPane neues outfit mit BasicOptionPaneUI? AWT, Swing, JavaFX & SWT 22
J JList - doppelklick auf item -> neues fenster öffnet sich AWT, Swing, JavaFX & SWT 2
M Neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
D in neues Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 3
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
M Tooltip / neues Fenster AWT, Swing, JavaFX & SWT 6
J Neues Problem AWT, Swing, JavaFX & SWT 9
MiHimbert Rückmeldung an den aufrufenden JAVAFX-Dialog AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
N JavaFX Vor beenden der Anwendung durch klicken von X Dialog zeigen AWT, Swing, JavaFX & SWT 1
melaniemueller Confirmation Dialog erstellen AWT, Swing, JavaFX & SWT 18
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
C FileChooser Save-Dialog zeigt Files nicht an AWT, Swing, JavaFX & SWT 3
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
E Swing Dialog modal aufrufen AWT, Swing, JavaFX & SWT 2
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
RalleYTN Modaler Dialog und JTree Node mit sehr... seeeeehr vielen Elementen AWT, Swing, JavaFX & SWT 6
T JOptionPane Dialog plus Rechnung ausgeben AWT, Swing, JavaFX & SWT 1
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
J JavaFX Dialog - Style AWT, Swing, JavaFX & SWT 6
D Swing Dynamisches Dialog UI AWT, Swing, JavaFX & SWT 8
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
F 2D-Grafik Grafikproblem nach Aufruf von JColorChooser-Dialog AWT, Swing, JavaFX & SWT 6
M Java FX Innerhalb einem FXML-Dialog weiteren FXML-Dialog einblenden AWT, Swing, JavaFX & SWT 3
T SWT SWTBot Test: Dialog soll sich öffnen,wenn button gedrückt AWT, Swing, JavaFX & SWT 3
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
W SWT Dialog richtig schließen? AWT, Swing, JavaFX & SWT 0
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
P JOptionPane input und show Message Dialog AWT, Swing, JavaFX & SWT 5
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2
TheWhiteShadow SWT Dialog Titel setzen AWT, Swing, JavaFX & SWT 6
VfL_Freak Darstellungsproblem mit Dialog AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben