Textfeld aufpoppen lassen

Bud01

Mitglied
Hallo,
also ich habe einen JButton und darauf einen EventListener (in Eclipse mit WindowBuilder gebastelt).
Nun möchte ich gerne, dass wenn ich auf den Button klicke, sich ein Fenster öffnet, welches mir ermöglicht einen Text anzuzeigen. Geht das mit einem JButton? Wenn ja, dann wäre es nett, wenn mir jmd. sagen kann wie. Wenn nein, wie dann?
Danke für eure Mühe im Voraus.
 
Du willst also beim Button Klick ein Fenster anzeigen lassen das Text enthält ?
Also einfach ne neue Klasse erstellen. Die erbt von Frame, dann ein JLabel, JTextfield oder JTextarea drauf und dann im ActionListener diese Klasse aufrufen.

EDIT: Ja oder wie mein Vorredner schon geschrieben hat ein JDialog oder JOptionPane.. geht natürlich auch.
 
Also einfach ne neue Klasse erstellen. Die erbt von Frame
EDIT: Ja oder wie mein Vorredner schon geschrieben hat ein JDialog oder JOptionPane.. geht natürlich auch.
Es geht nicht nur auch, es ist - zumindest in den meisten Fällen - der richtigere Ansatz. Üblicherweise hat eine Applikation nur ein (J)Frame, interne Fenster sind JDialogs. Den Unterschied macht dann u.a. der fehlende Eintrag in der Taskleiste, der bei internen Fenster ja auch seltenst gewünscht ist. Zudem können JDialogs modal sein, auch das ist sehr oft verlangt, und dieses Verhalten bieten (J)Frames nicht.
 
Danke für eure Denkanstöße!
Ich habe eine neue Klasse geschrieben, welche von JDialog erbt, nur bietet mir JDialog keine Methode an mit der ich Text ausgeben kann?! Oder was habe ich da übersehen?
Java:
package woz;

import javax.swing.JDialog;
import javax.swing.JFrame;

public class Questbook  extends JDialog{
	Gui gui;
	

	public Questbook(Gui g){
		this.gui = g;
		
		
	}
	public void showQuestbook(){
		 	JDialog dialog = new JDialog((JFrame)null, "Questbuch", true); 
		    dialog.setBounds(100,100,300,300);
		    dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		    dialog.setVisible(true); 
		   // dialog.irgendwasSchreiben("Hallo");
		
	}

}
 
Hi,

Also das einfachste ist es wenn Du die JOptionPane benutzt.

Damit wird ein kleiner Dialog geöffnet der nach einer Eingabe fragt und diese in die Variable Input speichert.
Java:
String input = JOptionPane.showInputDialog( null, "Bitte Text eingeben:", JOptionPane.OK_OPTION);
 
Ich habe eine neue Klasse geschrieben, welche von JDialog erbt, nur bietet mir JDialog keine Methode an mit der ich Text ausgeben kann?!
Das musst du alles selber coden. Also Komponenten ins Fenster legen, die Actions implementieren usw. Ein JDialog ist erstmal ein leeres Fenster, so wie ein JFrame, nur dass es halt ein paar kleinere Unterschiede gibt.

wie goodcat gerade geschrieben hat gibt es für die üblichsten Dialoge vorgefertigte Methoden. Selbst von JDialog ableiten musst du nur wenn dir dieseDialoge nicht ausreichen/gefallen.
 
Hi,

Also das einfachste ist es wenn Du die JOptionPane benutzt.

Damit wird ein kleiner Dialog geöffnet der nach einer Eingabe fragt und diese in die Variable Input speichert.
Java:
String input = JOptionPane.showInputDialog( null, "Bitte Text eingeben:", JOptionPane.OK_OPTION);

Hallo,
ähm eine Eingabe brauch ich nicht, ich möchte nur was ausgeben^^.
 
Ups sorry da hab ich mich etwas verlesen 😳
Dann kannst Du trotzdem das JOptionPane benutzen!

Dann machst Du es damit:
Java:
String output = "Hallo Welt";
JOptionPane.showMessageDialog(null, output , "Hinweis", JOptionPane.INFORMATION_MESSAGE);

Nachtrag:
1. Bei null kannst Du den Namen deines JFrames eintragen (z.B. this) damit wird das dem JFrame "zugewiesen".
2. "Hinweis" ist die Überschrift des Dialogs
3. "JOptionPane.INFORMATION_MESSAGE" damit kannst Du dem User signalisieren ob es sich um eine Fehlermeldung oder um eine Information handelt. Eclipse oder die Java doc wird Dir mehr dazu erzählen!
 
Zuletzt bearbeitet:
Und statt "null" übergibst du am besten dein Applikations-Frame, dann ist das an den Dialog gekoppelt, was dazu führt dass der Dialog erstens nicht auf dem Desktop verloren gehen kann (sehr hässliches Standard-Verhalten von JOptionPane wie ich finde) und zweitens man in deiner App nicht weiter arbeiten kann solange der Dialog nicht geschlossen wird.

edit: Zu spöööt 😀
 
Tjo nur leider geht die Kopplung bei einem JInternalFrame nicht (soweit ich das weiss)!!
Ziemlich nervig! Oder gibt es da ein Workaround?
 
Ja.

>Wie

Selber denken.

Sorry für off topic, aber wenn ich solche Beiträge lese könnte ich ko....
Solche Äußerungen sind - insbesondere im Anfängerbereich - völlig deplatziert und unnötig! Wenn Du noch nichtmal Bock hast einen Hinweis zu geben, dann lass es doch besser ganz mit einer Antwort, oder willst Du so auf 2.000 Beiträge kommen???

Und lies dir mal deine eigene Signatur in diesem Zusammenhang durch! 🙂

Sorry, aber das mußte mal raus! Hier gibt es viele Leute die wirklich auf nette Art und Weise helfen und dabei auch zum Selbermachen anregen. Aber auf die andere Fraktion könnte das Forum bestimmt gerne verzichten!

Viele Grüße

Marc
 

Zurück
Oben