Hallo,
aus meinem Programm heraus wird ein JDialog aufgerufen... Was soweit auch in Ordnung ist und runktioniert!
Nun möchte ich aber mein Programm solange blockieren, bis ich dieses Fenster schliesse... Wenn ich mich nicht täusche geschieht das auch bei JOptionPanes!
Gibt es eine Möglichkeit das in den Code des JDialogs zu implementieren?
Hier der Code des Dialogs:
Ich denke mal der Knackpunkt liegt in der main-Methode beim Aufruf der Klasse SwingUtilities, aber ich werd da ncih wirklich schlau draus!
aus meinem Programm heraus wird ein JDialog aufgerufen... Was soweit auch in Ordnung ist und runktioniert!
Nun möchte ich aber mein Programm solange blockieren, bis ich dieses Fenster schliesse... Wenn ich mich nicht täusche geschieht das auch bei JOptionPanes!
Gibt es eine Möglichkeit das in den Code des JDialogs zu implementieren?
Hier der Code des Dialogs:
Code:
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.lang.reflect.InvocationTargetException;
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class NewJDialog extends JDialog{
private static final long serialVersionUID = 4065470015039784992L;
private JLabel weapon10;
private JTextField weaponNameField;
private JTextField moneyLabel;
private JTextField capitalLabel;
private JLabel capital;
private JLabel money;
private JLabel actPlayer;
private JTextField quantityField;
private JLabel weaponCount;
private JLabel weapon9;
private JLabel weapon8;
private JLabel weapon7;
private JLabel weapon6;
private JLabel weaponName;
private JLabel weapon5;
private JLabel weapon4;
private JLabel weapon3;
private JLabel weapon2;
private JLabel weapon1;
public static void main (String[] args){
SwingUtilities.invokeLater (new Runnable (){
public void run (){
JFrame frame = new JFrame ();
NewJDialog inst = new NewJDialog (frame);
inst.setVisible (true);
}
});
}
public NewJDialog(JFrame frame) {
super (frame, "SHOP");
initGUI ();
}
private void initGUI (){
try{
{
Container cp;
cp = getContentPane ();
cp.setLayout (null);
cp.setPreferredSize (new java.awt.Dimension (562, 345));
{
weapon1 = new JLabel ();
cp.add (weapon1);
weapon1.setBounds (10, 50, 100, 100);
addListener (weapon1);
}
{
weapon2 = new JLabel ();
cp.add (weapon2);
weapon2.setBounds (120, 50, 100, 100);
addListener (weapon2);
}
{
weapon3 = new JLabel ();
cp.add (weapon3);
weapon3.setBounds (230, 50, 100, 100);
addListener (weapon3);
}
{
weapon4 = new JLabel ();
cp.add (weapon4);
weapon4.setBounds (340, 50, 100, 100);
addListener (weapon4);
}
{
weapon5 = new JLabel ();
cp.add (weapon5);
weapon5.setBounds (450, 50, 100, 100);
addListener (weapon5);
}
{
weapon6 = new JLabel ();
cp.add (weapon6);
weapon6.setBounds (10, 160, 100, 100);
addListener (weapon6);
}
{
weapon7 = new JLabel ();
cp.add (weapon7);
weapon7.setBounds (120, 160, 100, 100);
addListener (weapon7);
}
{
weapon8 = new JLabel ();
cp.add (weapon8);
weapon8.setBounds (230, 160, 100, 100);
addListener (weapon8);
}
{
weapon9 = new JLabel ();
cp.add (weapon9);
weapon9.setBounds (340, 160, 100, 100);
addListener (weapon9);
}
{
weapon10 = new JLabel ();
cp.add (weapon10);
weapon10.setBounds (450, 160, 100, 100);
addListener (weapon10);
}
{
weaponName = new JLabel ();
cp.add (weaponName);
weaponName.setText ("Weapon");
weaponName.setBounds (12, 286, 49, 14);
}
{
weaponNameField = new JTextField ();
cp.add (weaponNameField);
weaponNameField.setText ("Test");
weaponNameField.setBounds (61, 279, 93, 21);
}
{
weaponCount = new JLabel ();
cp.add (weaponCount);
weaponCount.setText ("Quantity");
weaponCount.setBounds (177, 286, 53, 14);
}
{
quantityField = new JTextField ();
cp.add (quantityField);
quantityField.setText ("Test");
quantityField.setBounds (242, 279, 110, 21);
}
{
actPlayer = new JLabel ();
cp.add (actPlayer);
actPlayer.setText ("Test");
actPlayer.setBounds (12, 12, 124, 26);
}
{
money = new JLabel ();
cp.add (money);
money.setText ("Money");
money.setBounds (388, 286, 38, 14);
}
{
moneyLabel = new JTextField ();
cp.add (moneyLabel);
moneyLabel.setText ("Test");
moneyLabel.setBounds (438, 279, 92, 21);
}
{
capital = new JLabel ();
cp.add (capital);
capital.setText ("Capital");
capital.setBounds (12, 318, 33, 14);
}
{
capitalLabel = new JTextField ();
cp.add (capitalLabel);
capitalLabel.setText ("Test");
capitalLabel.setBounds (63, 312, 91, 21);
}
}
this.setSize (600, 387);
}catch (Exception e){
e.printStackTrace ();
}
}
private void addListener (Component c){
c.addMouseListener (new MouseAdapter (){
public void mousePressed (final MouseEvent evt){
panelMousePressed (evt);
}
public void mouseReleased (final MouseEvent evt){
}
public void mouseClicked (final MouseEvent evt){
}
public void mouseEntered (final MouseEvent evt){
panelMouseEntered (evt);
}
public void mouseExited (final MouseEvent evt){
panelMouseExited (evt);
}
});
}
protected void panelMouseExited (MouseEvent evt){
JLabel source = (JLabel) evt.getSource ();
source.setBorder (null);
}
protected void panelMouseEntered (MouseEvent evt){
JLabel source = (JLabel) evt.getSource ();
source.setBorder (BorderFactory.createLineBorder (Color.BLACK, 1));
}
protected void panelMousePressed (MouseEvent evt){
}
}
Ich denke mal der Knackpunkt liegt in der main-Methode beim Aufruf der Klasse SwingUtilities, aber ich werd da ncih wirklich schlau draus!