Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JFrames im Dialog aufeinander abstimmen

Empfohlene Antworten

Veröffentlicht

Guten Morgen zusammen,

ich melde mich mal wieder an dieser Stelle, da es ja bereits hervorragend funktioniert hat...

Ich öffne über einen "add Button" ein neues Frame. Dieses soll änlich eines JOptionPanes eine ComboBox und ein TextField sowie ein Save Button zur Verfügung stellen. Die Eingabe soll weiter verwendet werden. Ich öffne das neue Frame in dem AktionListener des "add"- Buttons. Die eingegebenen Daten sollen erst weiterverwendet werden, wenn der "Save" Button betätigt wurde.

Momentan funktioniert dies nicht so und die Auswertung geschieht sofort mit dem Drücken des Add Buttons, sodass der standmäßige ComboBox Eintrag eingelesen wird (auch das TextField kann deshalb nicht ausgefüllt werden).

Ich hoffe meine Beschreibung war soweit verständlich und ihr könnt mir helfen!

Danke

Niemand eine Idee?

Du kannst auch einfach anstatt eines JFrames einen eigenen Dialog erzeugen. Das geht entweder komplett selber über die Klasse JDialog oder über die Methoden der Klasse JOptionPane. Wenn du den Dialog dann modal erzeugst, blockiert die setVisible() Methode des Dialog, bis dieser geschlossen wurde.

Hallo,

ich habe es nun soweit geschafft, dass wenn sich der JDialog öffnet, das Hauptfenster gesperrt wird.

Das Problem nun ist allerdings, dass wenn ich das Dialog Fenster über das "X" (oben rechts im Fenster) schließe, mein Hauptfenster gesperrt und minimiert wird, somit ist anschließend keine Funktionen im Hauptfenster mehr auswählbar (das Hauptfenster kann nicht mal mehr geschlossen werden).

//über diesen Button wird JDialog geöffnet


// Button

		JButton addButton = new JButton("ADD");

		addButton.setToolTipText("Click this button to...");


		addButton.addActionListener(new ActionListener() {


			public void actionPerformed(ActionEvent arg0) {

				FileUtil FileUtil = new FileUtil();



				WindowCloseWaiter asdf = new WindowCloseWaiter(gui_frame);

				FitDialog addFit = new FitDialog();


				gui_frame.setFocusable(false);

				gui_frame.setEnabled(false);


				addFit.addWindowListener(asdf);

//WindosCloseWaiter

public class WindowCloseWaiter extends WindowAdapter

	{


		JFrame frame;


		/**

		 * Constructor

		 */

		public WindowCloseWaiter(JFrame frame) {

			this.frame= frame;

		}


		/**

		 * @see java.awt.event.WindowAdapter#windowClosing(java.awt.event.WindowEvent)

		 */

		@Override

		public void windowClosing(WindowEvent e) {

			this.frame.setFocusable(true);	

			this.frame.setEnabled(true);


			System.out.println("###");

		}


	}

//AktionPerformed in JDialog

public void actionPerformed(ActionEvent e) {


		this.setVisible(false);

		this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));

		this.dispose();

	}

Hat jmd eine Idee wie ich das Problem behebe? Das die Anwendungen des Hauptprogramms/Hauptfensters bestehen bleiben, wenn ich über das "X" schließe?

Bearbeitet von schnixx

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.