JOptionDialog und Frames

Status
Nicht offen für weitere Antworten.
C

charly

Gast
hey leute ich hab ein problem!

Ich hab ein Spiel programmiert das auch ohne Fehler läuft. Das Spiel ist über den JOptionPane InputDialog zu spielen, aber parallel zu dem hab ich auch grafische oberfläche, mein problem ist also:

wenn das programm läuft und der Dialog erscheint, dann kann ich den frame nicht bedienen, läuft das programm ab, dann funkt es, aber wie kann ich das machen das ich beides gleichzeitig verwenden kann.

bitte helf mir!
 
B

Beni

Gast
Das JOptionPane verwendet modale Dialoge, und das kann man nicht abschalten.

Du kannst ja einen eigenen kleinen Dialog basteln, der nicht modal ist. Und eine Instanz von JOptionPane draufsetzen.

Code:
JOptionPane pane = new JOptionPane( ... );
JDialog dialog = pane.createDialog(parentComponent, title);

dialog.setModal( false );
dialog.setVisible( true );
 
C

charly

Gast
danke, dass du mir geantwortet hast! ich versuchs gleich mal aus
nochmal thx :D
 
C

charly

Gast
hey leider funkt etwas nicht. wahrscheinlich weiß ich aber nur nicht wie ich das genau anstellen soll.
kannst du mir vielleicht ein kurzes beispiel schreiben, ich wär dir wirklich dankbar
 
R

Roar

Gast
Beni hat oben ein kleines Beispiel gepostet. Wenn du uns nicht sagst wo dein Problem liegt können wir dir auch nicht helfen.
 
C

charly

Gast
ich weiß nicht was ich bei parentComponents schreiben soll, oder bei title, da zeigt er mir immer eine fehlermeldung.
und er kennt auch nicht die methode createDialog().

Ich danke euch schon im voraus, dass ihr mir helft
 
R

Roar

Gast
sourecode/fehlermeldung wär nützlcih, und die Parameter sind in der API erklärt.
 
B

Beni

Gast
So, viel mehr kann ich dir nicht mehr bieten.
Code:
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Test {
  public static void main(String[] args) {
  	JFrame testFrame = new JFrame();
  	testFrame.getContentPane().add( new JTextField() );
  	testFrame.pack();
  	testFrame.setLocationRelativeTo( null );
  	testFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  	testFrame.setVisible( true );
  	
  	JOptionPane pane = new JOptionPane( "Hallo", JOptionPane.INFORMATION_MESSAGE );
  	JDialog dialog = pane.createDialog( testFrame, "Test Dialog" );
  	dialog.setModal( false );
  	dialog.setVisible( true );
  }
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben