Neues Fenster

Hi, ich habe in meinem Programm ein Button mit Info:

public void info_ActionPerformed(ActionEvent evt) {
//Neues JFrame mit OK-Button und Text
}

Nun möchte ich, wenn ich darauf drücke, dass ein neues JFrame gestartet wird.Mit meinem Info-Text.

Wie mache ich das?

Lg Dennis

Hi,

wenn du nur einen InfoTxt anzeigen lassen möchtest, würde ich dir zum JOptionPain raten. Da hast du eine MSGBox implementiert hier der link

http://download.oracle.com/javase/tutorial/uiswing/c…

Mfg DK

Danke für die Antwort ist eine gute Idee, werde das auch so umsetzen. Nur mich interessiert die Richtige Lösung für die Zukunft :smiley:

Lg Dennis

PS: Englisch ist nicht so meine Stärke :smiley:

Hi, is ganz einfach. … ich kann’s net testen als schaumal was Eclipse zu sagt

JOptionPane.showMessageDialog(new JFrame,
„Info Text“,
„Message“);

MfG DK

Wie das mit dem JOption… geht weiß ich doch, aber wie geht ein eigenständiges JFrame mit eigenen Butten Label’s und TextFeldern?

JOptionPain

Hehe, daher kommt also die „Qual der Wahl“ :smiley:

Hallo Denni,

Ich würde dafür ein JDialog benutzen. Das ist fast das Gleiche wie ein JFrame nur eben für solche Zwecke gedacht.
Ich hab das mal für dich programmiert… normalerweise bin ich dafür, dass sich Leute sowas selbst erarbeiten aber ich hatte gerade Lust dazu und du scheinst recht gescheit zu sein (Technik- und Chemiefreak hehe genau wie ich :smiley:). Von daher denke ich, dass du das nicht einfach stumpf kopierst, sondern dir das genau anguckst und nachvollziehst was ich da zusammengeschustert habe.

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;

public class infoDialog extends JDialog implements ActionListener{

 public infoDialog(String title, String text){
 setTitle(title);
 setLayout(new GridBagLayout());
 setDefaultCloseOperation(DISPOSE\_ON\_CLOSE);

 GridBagConstraints cons = new GridBagConstraints(); 
 cons.gridx = 0;
 cons.gridy = 0;
 cons.insets = new Insets(10, 30, 10, 30);

 JLabel info = new JLabel(text);
 add(info,cons);

 JButton button = new JButton("OK");
 button.addActionListener(this);
 cons.gridy = 1;
 cons.insets = new Insets(10, 10, 5, 10);
 add(button,cons);

 pack();
 setLocationRelativeTo(null);
 setVisible(true);
 }

 public void actionPerformed(ActionEvent e) {
 setVisible(false);
 }
}

Übrigens kann man JLabels mit HTML formatieren :wink:
Und bei DISPOSE_ON_CLOSE und setVisible(false); verschwindet das Fenster zwar aber es ist immer noch da. Das heißt, dass dein Programm unter Umständen nach dem Schließen des Fensters nicht beendet wird, sondern noch weiterläuft. Das ist bei einem JDialog zwar wünschenswert, bei einem JFrame aber oftmals nicht.

PS: Englisch ist nicht so meine Stärke :smiley:

Das ist sehr unpraktisch… vor allem wenn man programmieren möchte. Tu was dagegen! Häufiges chatten auf englisch z.B. in Computerspielen ist da sehr hilfreich oder einfach wo es nur geht englisch lesen auch wenn es anfangs etwas schwer fällt. Es lohnt sich -glaub mir- und zwar nicht nur in der Schule!
Java hat eine sehr schöne Tutorialseite; im Really Big Index findest du für fast alles eine Anleitung und ich bin dort auch häufig unterwegs. Schau lieber erstmal dort nach, bevor du nach einer deutschen Anleitung suchst, denn deutsch kannst du ja schon :wink:

Gruß
Swen