JOptionPane aus einer von JPanel abgeleiteten Klasse aufrufen

Weiti

Mitglied
Hallo, meine JOptionPanes werden ohne Inhalt angezeigt wenn ich sie aus einer Klasse aufrufe die Von JPanel erbt,welches zu einem JFrame gehört.
Direkt aus dem JFrame klappt es, aber mein TicTacToe ist dann sehr ruckelig, weil ich ich paint() eines JFrames überschreibe.

Wie kann ich die JOptionPanes aus einem JPanel aufrufen?

JPanel:
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tictactoegui;

/**
 *
 * @author c.weitemeyer
 */
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;

class DrawPanel extends JPanel
{

    int x = 0;
    int y = 0;
    int x2;
    int y2;
    int posx = 50;
    int posy = 50;
    int EndOFGameFlag = 0;
    int pnr = 0;
    SpielBrett b = new SpielBrett();
    Player[] Spieler = new Player[2];

    public DrawPanel()
    {
        addMouseListener(new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent me) {
              MouseClicked(me);
           
          }
        });
        addMouseMotionListener(new MouseAdapter() {
          @Override
          public void mouseMoved(MouseEvent me) {
              MouseMoved(me);

          }
        });

    }   



   private void MouseClicked(MouseEvent evt)
   {       
        x = evt.getX();
        y = evt.getY();

        int [] move = Spieler[pnr].calcMove(b,getFieldOfPos(x),getFieldOfPos(y));

        if (b.setMove(move[0], move[1], pnr))
        {
            pnr++;
            pnr = pnr % 2;
        }

        if (b.checWin(1))
        {
            EndOFGameFlag = 2;
        } else
        {
            if (b.checWin(0))
            {
                EndOFGameFlag = 1;
            }
        }
       
        if( !(b.checkDraw()) && EndOFGameFlag==0 &&Spieler[pnr].getClass()!=HumanPlayer.class)
        {
             /*
            try {
            Thread.sleep (1);
            }
            catch (InterruptedException e) {
            }
            */
            MouseClicked(evt);
        }
         
         
        repaint();
   }

   private void MouseMoved(MouseEvent evt)
   {
        x2 = evt.getX();
        y2 = evt.getY();
        repaint();
   }

    @Override
    protected void paintComponent(Graphics g)
    {
        super.paintComponent(g);

        for (int i = 1; i <= 4; i++) {
            g.drawLine(i * 50, 50, i * 50, 200);
            g.drawLine(50, i * 50, 200, 50 * i);

        }
        for (int i = 0; i < b.size; i++) {
            for (int j = 0; j < b.size; j++) {
                int ir = i + 1;
                int jr = j + 1;
                switch (b.board[i][j]) {
                    case 0:
                        g.setColor(Spieler[0].color);
                        g.fillOval(ir * 50 + 5, jr * 50 + 5, 40, 40);
                        break;
                    case 1:
                        g.setColor(Spieler[1].color);
                        g.fillOval(ir * 50 + 5, jr * 50 + 5, 40, 40);
                        break;
                }
            }
        }
        g.setColor(Color.black);


        posx = getPosOfField(getFieldOfPos(x2), posx);
        posy = getPosOfField(getFieldOfPos(y2), posy);



        g.drawOval(posx + 5, posy + 5, 40, 40);

        if (EndOFGameFlag != 0) {
            showEndOFGameDialog(EndOFGameFlag);
        } else {
            if (b.checkDraw()) {
                showEndOFGameDialog();
            }
        }
    }

    private void showEndOFGameDialog(int p)
    {
        String s = "Player \"" + Spieler[(p - 1) % 2].name + "\" hat gewonnen, Neuse Spiel oder beenden?";
        showEndOFGameDialog(s);
    }

    private void showEndOFGameDialog()
    {
        String s = "Unentschieden, Neuse Spiel oder beenden?";
        showEndOFGameDialog(s);
    }

    private void showEndOFGameDialog(String s)
    {
        JFrame frame = new JFrame();

        Object[] options = {
            "Neues Spiel",
            "Ende"
        };
        int n = JOptionPane.showOptionDialog(frame,
                s,
                "Spiel zu Ende",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[1]);

        if (n == 1) {
            System.exit(0);
        } else {
            b = new SpielBrett();
            pnr = 0;
            EndOFGameFlag = 0;
            showGameConfigDialog();
        }
        
    }

    private int getFieldOfPos(int pos)
    {
        if (pos > 50 && pos <= 100) {
            return 0;
        } else {
            if (pos > 100 && pos <= 150) {
                return 1;
            } else {
                if (pos > 150 && pos < 200) {
                    return 2;
                }
            }
        }
        return 3;
    }

    private int getPosOfField(int field, int stdValue)
    {
        switch (field) {
            case 0:
                return 50;
            case 1:
                return 100;
            case 2:
                return 150;
        }
        return stdValue;
    }

    public void showGameConfigDialog()
    {
        JFrame frame = new JFrame();

        Object[] options = {
            "anderen Mensch",
            "leichte KI",
            "mittlere KI",
            "schwere KI"
        };
        int n = JOptionPane.showOptionDialog(frame,
                "Gegen wen willst du spielen?",
                "Neues Spiel",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[1]);

        Spieler[0] = new HumanPlayer(">Du<", Color.blue);
        switch (n) {
            case 0:
                Spieler[1] = new HumanPlayer("anderer Mensch", Color.red);
                break;
            case 1:
                Spieler[1] = new RandomKIPlayer("leichte KI", Color.green);
                break;
            case 2:
                Spieler[1] = new PassivKIPlayer("mittlere KI", Color.orange);
                break;
            case 3:
                Spieler[1] = new AgressivKIPlayer("schwere KI", Color.red);
                break;
            default:
                System.exit(0);
        }
    }

    public void centerPosition(Window gui)
    {
        Dimension dm = Toolkit.getDefaultToolkit().getScreenSize();
        double width = dm.getWidth();
        double height = dm.getHeight();
        double xPosition = (width / 2 - gui.getWidth() / 2);
        double yPosition = (height / 2 - gui.getHeight() / 2);
        gui.setLocation((int) xPosition - 200, (int) yPosition - 200);
    }
}

Aufrufende Main:
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tictactoegui;

import javax.swing.JFrame;

/**
 *
 * @author c.weitemeyer
 */
public class Main
{

    /**
     * @param args the command line arguments
     */



    public static void main(String[] args)
    {
        DrawPanel dp = new DrawPanel();
        JFrame f = new JFrame();
        dp.centerPosition(f.getFrames()[0]);
        dp.showGameConfigDialog();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(250, 250);
        f.add(dp);
        f.setVisible(true);       
    }
}

unschöne Methode in der es klappt, außerdem mit Netbeans Editor erstellt, daher der Overhead.
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * GUI.java
 *
 * Created on 12.10.2010, 12:54:44
 */
package TicTacToe;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.Window;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 *
 * @author c.weitemeyer
 */
public class GUI extends javax.swing.JFrame
{

    int x = 0;
    int y = 0;
    int x2;
    int y2;
    int posx = 50;
    int posy = 50;
    int EndOFGameFlag = 0;
    int pnr = 0;
    SpielBrett b = new SpielBrett();

    Player[] Spieler = new Player[2];


    Frame[] gui = this.getFrames();

     DrawPanel dp = new DrawPanel();
    /** Creates new form GUI */
    public GUI()
    {

        initComponents();
        showGameConfigDialog();
        centerPosition(gui[0]);
        add(dp);
        dp.setData(Spieler, b);
        dp.repaint();

    }

    
   

    @Override
    public void paint(Graphics g)
    {
        //super.paint(g);

        g.setColor(Color.white);
        g.fillRect(50, 50, 150, 150);
        g.setColor(Color.black);


        for (int i = 1; i <= 4; i++)
        {
            g.drawLine(i * 50, 50, i * 50, 200);
            g.drawLine(50, i * 50, 200, 50 * i);

        }

        for (int i = 0; i < b.size; i++)
        {
            for (int j = 0; j < b.size; j++)
            {
                int ir = i + 1;
                int jr = j + 1;
                switch (b.board[i][j])
                {
                    case 0:
                        g.setColor(Spieler[0].color);
                        g.fillOval(ir * 50 + 5, jr * 50 + 5, 40, 40);
                        break;
                    case 1:
                        g.setColor(Spieler[1].color);
                        g.fillOval(ir * 50 + 5, jr * 50 + 5, 40, 40);
                        break;
                }
            }
        }
        g.setColor(Color.black);


        posx = getPosOfField(getFieldOfPos(x2), posx);
        posy = getPosOfField(getFieldOfPos(y2), posy);



        g.drawOval(posx + 5, posy + 5, 40, 40);

        if (EndOFGameFlag != 0)
        {
            showEndOFGameDialog(EndOFGameFlag);
        } else
        {
            if (b.checkDraw())
            {
                showEndOFGameDialog();
            }
        }

    }

    /**
     * berechnet die Koordinaten des Feldes.
     */
    private int getPosOfField(int field, int stdValue)
    {
        switch (field)
        {
            case 0:
                return 50;
            case 1:
                return 100;
            case 2:
                return 150;
        }
        return stdValue;
    }

    /**
     * berechnet die Nummer des Feldes anhand der Position des Mausklicks
     * @param pos die Position des Mausklicks
     */
    private int getFieldOfPos(int pos)
    {
        if (pos > 50 && pos <= 100)
        {
            return 0;
        } else
        {
            if (pos > 100 && pos <= 150)
            {
                return 1;
            } else
            {
                if (pos > 150 && pos < 200)
                {
                    return 2;
                }
            }
        }
        return 3;
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */


    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("TicTacToe by Weiti");
        setBounds(new java.awt.Rectangle(0, 0, 0, 0));
        setMinimumSize(new java.awt.Dimension(250, 250));
        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                formMouseClicked(evt);
            }
        });
        addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                formMouseMoved(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 150, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 129, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    private void formMouseClicked(java.awt.event.MouseEvent evt) {                                  

        x = evt.getX();
        y = evt.getY();

        int [] move = Spieler[pnr].calcMove(b,getFieldOfPos(x),getFieldOfPos(y));

        if (b.setMove(move[0], move[1], pnr))
        {
            pnr++;
            pnr = pnr % 2;           
        }

        if (b.checWin(1))
        {
            EndOFGameFlag = 2;
        } else
        {
            if (b.checWin(0))
            {
                EndOFGameFlag = 1;
            }
        }
        if( !(b.checkDraw()) && EndOFGameFlag==0 &&Spieler[pnr].getClass()!=HumanPlayer.class)
        {
            try {
            Thread.sleep (1);
            }
            catch (InterruptedException e) {
            }
            formMouseClicked(evt);
        }
        dp.repaint();
        

    }                                 

    private void showEndOFGameDialog(int p)
    {
        String s = "Player \"" +Spieler[(p-1)%2].name + "\" hat gewonnen, Neuse Spiel oder beenden?";
        showEndOFGameDialog(s);
    }

    private void showEndOFGameDialog()
    {
        String s = "Unentschieden, Neuse Spiel oder beenden?";
        showEndOFGameDialog(s);
    }

    public void showEndOFGameDialog(String s)
    {
        JFrame frame = new JFrame();

        Object[] options =
        {
            "Neues Spiel",
            "Ende"
        };
        int n = JOptionPane.showOptionDialog(frame,
                s,
                "Spiel zu Ende",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[1]);

        if (n == 1)
        {
            System.exit(0);
        } else
        {
            b = new SpielBrett();
            pnr = 0;
            EndOFGameFlag = 0;
            showGameConfigDialog();
        }
    }

    private void showGameConfigDialog()
    {
     JFrame frame = new JFrame();

        Object[] options =
        {
            "anderen Mensch",
            "leichte KI",
            "mittlere KI",
            "schwere KI"
        };
        int n = JOptionPane.showOptionDialog(frame,
                "Gegen wen willst du spielen?",
                "Neues Spiel",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[1]);

        Spieler[0]= new HumanPlayer(">Du<", Color.blue);
        switch(n)
        {
            case 0: Spieler[1] = new HumanPlayer("anderer Mensch",Color.red); break;
            case 1: Spieler[1] = new RandomKIPlayer("leichte KI",Color.green); break;
            case 2: Spieler[1] = new PassivKIPlayer("mittlere KI",Color.orange); break;
            case 3: Spieler[1] = new AgressivKIPlayer("schwere KI",Color.red); break;
            default: System.exit(0);
        }
    }


    private void formMouseMoved(java.awt.event.MouseEvent evt) {                                
        x2 = evt.getX();
        y2 = evt.getY();
        repaint();
    }                               

    /**
     * @param args the command line arguments
     */
    public static void main(String args[])
    {
        java.awt.EventQueue.invokeLater(new Runnable()
        {

            public void run()
            {
                new GUI().setVisible(true);
            }
        });
    }

    public static void centerPosition(Window gui) {
        Dimension dm = Toolkit.getDefaultToolkit().getScreenSize();
        double width = dm.getWidth();
        double height = dm.getHeight();
        double xPosition = (width / 2 - gui.getWidth() / 2);
        double yPosition = (height / 2 - gui.getHeight() / 2);
        gui.setLocation((int) xPosition, (int) yPosition);
    }
    // Variables declaration - do not modify                     
    // End of variables declaration                   
}
 

KrokoDiehl

Top Contributor
Du rufst die JOptionPane aus der
Code:
paintComponent()
auf? Das halte ich für Unsinn. Ich weiß auch nicht was das für Auswirkungen auf die AWT-EventQueue (Thread) und andere hat, da die JOptionPane ein modales Fenster ist, dass deine übrige Anwendung blockiert.
So wie ich es beim überfliegen gesehen habe, prüfst du irgendwie das Spielende ab. Aber das darf doch nicht in
Code:
paint()
geschehen sondern eher in den Listener-Methode (
Code:
MouseMoved()
und
Code:
MouseClicked()
).

Dann verwendest du in der
Code:
showBLabla()
-Mtethode einen neuen Frame als Parent für die OptionPane. Auch das ist unsinnig. Entweder nimmst du dein DrawPanel selbst als Parent, oder null. Wenn der Frame, den du da lokal erzeugst niemals angezeigt wird, wird vermutlich auch die OptionPane nicht angezeigt.
 

Weiti

Mitglied
hallo, es liegt wirklich daran das ich in der PaintComponent den ShowDialog mache.
Unter Windows führt das zu einem anderen Fehler: Der Dialog wird sichtbar(!) hunderte male neu gezeichnet und nach einigen Sekunden gibt es einen Stackoverflow. Linux hat schlicht den Dialog nicht mit Inhalt gezeichnet.

Mein Problem ist nun aber: Durch das beenden im MouseClicked-Event wird der letzte Zug nicht mehr angezeigt, das ist nicht so schön. hat jemand eine Idee wie ich noch ein einziges mal Zeichnen kann?
Durch ein Flag geht es nicht, da ich ja sonst nochmal klicken muss um das Spiel zu beeenden, da der Aufruf ja im MouseEvent steht.

Den anderen "Fehler" hab ich auch korregiert, ich lege kein neues Frame an sonder starte mit:
Java:
 int n = JOptionPane.showOptionDialog(this,
                s,
                "Spiel zu Ende",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[1]);

Den JOptionPane
 

Weiti

Mitglied
Hallo, ich habs gerade selber gemerkt:
Java:
 if (EndOFGameFlag != 0) {
            repaint();
            showEndOFGameDialog(EndOFGameFlag);
        } else {
            if (b.checkDraw()) {
                repaint();
                showEndOFGameDialog();
            }
        }
         
        repaint();

nach repaint() springt er wieder zurück und zeigt mir erst dann den Dialog.

Damit ist alles geklärt, das zeichnen läuft völlig ohne ruckeln.
Danke für die Hilfe.
Gruß, Weiti
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Probleme mit einer JOptionPane in einem jar-File AWT, Swing, JavaFX & SWT 14
Z JOptionPane mit einer Methode in dem Vordergrund setzen? AWT, Swing, JavaFX & SWT 6
G JOptionPane zeigt nicht an was ich will AWT, Swing, JavaFX & SWT 2
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
J JOptionPane return bei "Abbrechen" AWT, Swing, JavaFX & SWT 13
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
O Timer in JOptionPane anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing JOptionPane import AWT, Swing, JavaFX & SWT 5
R Swing JOptionPane Sprache Ändern AWT, Swing, JavaFX & SWT 4
O JOptionPane mit JFileDialog AWT, Swing, JavaFX & SWT 5
dereki2000 JPanel mit Rückgbe wie bei JOptionPane AWT, Swing, JavaFX & SWT 3
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
I JOptionPane maximale Zeichen einstellen AWT, Swing, JavaFX & SWT 2
N Swing Mocken von JOptionPane im JUnit-Test AWT, Swing, JavaFX & SWT 3
R Ausgabe über JOptionPane.showMessageDialog funktioniert nicht AWT, Swing, JavaFX & SWT 2
W JOptionPane AWT, Swing, JavaFX & SWT 1
T JOptionPane Dialog plus Rechnung ausgeben AWT, Swing, JavaFX & SWT 1
snipesss Hintergrundbild in JOptionPane.showInputDialog? AWT, Swing, JavaFX & SWT 4
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
A Swing JOptionPane.showConfirmDialog, EventQueue wird weiter abgearbeitet AWT, Swing, JavaFX & SWT 2
C JOptionPane.showConfirmDialog() -> Focus auf NEIN -> Enter gibt YES_OPTION zurück AWT, Swing, JavaFX & SWT 6
T JOptionPane Enter = Okay AWT, Swing, JavaFX & SWT 3
OnDemand JOptionPane AWT, Swing, JavaFX & SWT 2
B JFrame wie JOptionPane.showMessageDialog() AWT, Swing, JavaFX & SWT 2
D Swing JOptionPane verschwindet beim 2. Aufruf einfach so?? AWT, Swing, JavaFX & SWT 2
L Swing JOptionPane Verwirrung AWT, Swing, JavaFX & SWT 13
P JOptionPane input und show Message Dialog AWT, Swing, JavaFX & SWT 5
I javascript in javaprogramm JOptionpane -> haengt (embedded Interpreter) AWT, Swing, JavaFX & SWT 2
S JOptionPane sinnvoll benutzen AWT, Swing, JavaFX & SWT 7
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
D JOptionPane.QUESTION_MESSAGE Fett darstellen AWT, Swing, JavaFX & SWT 4
N JOptionPane als JWindow AWT, Swing, JavaFX & SWT 2
M Swing Änderungen eines TextFelds und JOptionPane AWT, Swing, JavaFX & SWT 5
O JOptionPane.showMessageDialog mit automatischem Zeilenumbruch AWT, Swing, JavaFX & SWT 9
E Swing setCaretPosition für ein JTextField in einem JOptionPane AWT, Swing, JavaFX & SWT 3
H Swing JOptionPane.showConfirmMessage() wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
R JOptionPane.YES_NO_CANCEL_OPTION im SaveDialog verwenden AWT, Swing, JavaFX & SWT 6
U JFrame minimiert nach JDialog, JOptionPane AWT, Swing, JavaFX & SWT 3
R Eingegebenen Text in JOptionPane in andere Klasse weitergeben AWT, Swing, JavaFX & SWT 2
M JOptionPane.showInputDialog abbrechen abfangen? AWT, Swing, JavaFX & SWT 2
N OK-Button in JOptionPane ansprechen AWT, Swing, JavaFX & SWT 5
D Swing JOptionPane + FileChooser .. Reihenfolge wichtig!? AWT, Swing, JavaFX & SWT 7
G Swing Meldung mit joptionpane information message AWT, Swing, JavaFX & SWT 22
B Swing JOptionPane ohne beep AWT, Swing, JavaFX & SWT 6
A Swing \t im JOptionPane AWT, Swing, JavaFX & SWT 2
G JOptionPane.showConfirmDialog size problem AWT, Swing, JavaFX & SWT 3
S JOptionPane - InitialValue AWT, Swing, JavaFX & SWT 9
S JOptionPane resultat kriegen AWT, Swing, JavaFX & SWT 7
ABstraCT JOptionPane setSize ? AWT, Swing, JavaFX & SWT 6
S JOptionPane.showInputDialog JList erzwingen? AWT, Swing, JavaFX & SWT 4
SebSnake JFrame "Focus" erzwingen (wie JOptionPane) AWT, Swing, JavaFX & SWT 3
G JOptionPane.showInputDialog(): Texteingabe und Fokus AWT, Swing, JavaFX & SWT 3
A Array wird im JOptionPane mehrfach ausgegeben AWT, Swing, JavaFX & SWT 3
A JOptionPane soll auf Enter reagieren AWT, Swing, JavaFX & SWT 4
F JOptionPane.showMessageDialog AWT, Swing, JavaFX & SWT 2
M JOptionPane.showMessageDialog() mit printStackTace() ? AWT, Swing, JavaFX & SWT 7
QDog JTabbedPane JOptionPane AWT, Swing, JavaFX & SWT 2
K Tabelle nach JOptionPane updaten AWT, Swing, JavaFX & SWT 5
A JOptionPane; CLOSED_OPTION ausschalten AWT, Swing, JavaFX & SWT 5
J JOptionPane Tabs AWT, Swing, JavaFX & SWT 3
G JOptionPane mit andere Farbe AWT, Swing, JavaFX & SWT 8
B Ein JOptionPane.showMessageDialog(.) AWT, Swing, JavaFX & SWT 6
G komplexes JOptionPane (oder doch JFrame?) AWT, Swing, JavaFX & SWT 2
G JOptionPane mit link zum anklicken AWT, Swing, JavaFX & SWT 4
G JOptionPane AWT, Swing, JavaFX & SWT 6
N Probleme mit eigenem JOptionPane AWT, Swing, JavaFX & SWT 2
A Schließen eines JOptionPane.showConfirmDialog AWT, Swing, JavaFX & SWT 6
B JOptionPane.showInputDialog mit drei ComboBoxen nebeneinande AWT, Swing, JavaFX & SWT 2
S JTextField und JOptionPane - Zeicheneingabe beschränken AWT, Swing, JavaFX & SWT 3
G JOptionPane AWT, Swing, JavaFX & SWT 3
eskimo328 JOptionPane ohne CANCEL Button AWT, Swing, JavaFX & SWT 2
M JOptionPane.showConfirmDialog. Frage zur Cancel_Option AWT, Swing, JavaFX & SWT 2
L JOptionPane AWT, Swing, JavaFX & SWT 4
P JComboBox.addItem erzeugt Layoutproblem mit JOptionPane AWT, Swing, JavaFX & SWT 2
J eigenes JOptionPane ? AWT, Swing, JavaFX & SWT 2
J JOptionPane Buttons AWT, Swing, JavaFX & SWT 4
G Eingabe auslesen mit JOptionPane AWT, Swing, JavaFX & SWT 2
vogella JOptionPane in den Vordergrund bringen AWT, Swing, JavaFX & SWT 2
padde479 JOptionPane AWT, Swing, JavaFX & SWT 3
C Probleme beim Serialisieren mit JOptionPane AWT, Swing, JavaFX & SWT 12
S JOptionPane: methode ShowConfirmDialog ist undefiniert AWT, Swing, JavaFX & SWT 2
S JOptionPane und eine feste Zeilenbreite. AWT, Swing, JavaFX & SWT 4
S JProgressBar zu JOptionPane hinzufügen. AWT, Swing, JavaFX & SWT 8
G JOptionPane AWT, Swing, JavaFX & SWT 3
B Eingabeüberprüfung beim JOptionPane.showInputDialog() AWT, Swing, JavaFX & SWT 3
D Mit JOptionPane einen Link darstellen AWT, Swing, JavaFX & SWT 10
S JOptionPane.showMessageDialog(.) AWT, Swing, JavaFX & SWT 23
S Ein frage zu JOptionPane AWT, Swing, JavaFX & SWT 2
H wie frage ich mehrere buttons von joptionpane ab AWT, Swing, JavaFX & SWT 4
G Link in JoptionPane? AWT, Swing, JavaFX & SWT 3
N JOptionPane mit Html Tags AWT, Swing, JavaFX & SWT 5
B Focus in JOptionPane AWT, Swing, JavaFX & SWT 2
M Ausgabe mit JOptionPane AWT, Swing, JavaFX & SWT 6
U kleiner-Zeichen JEditorPanel (war: JOptionPane) AWT, Swing, JavaFX & SWT 5
S JOptionPane in den Bildschirmvordergrund bringen AWT, Swing, JavaFX & SWT 3
F JOptionPane soll nicht auf ENTER reagieren AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben