Tic Tac Toe - GUI Linien zeichnen

TheAnfänger

Mitglied
Hallo Leute,
Ich bin noch ein Java-Anfänger, habe aber zuvor schon etwas Erfahrung mit HTML, CSS und JavaScript gesammelt. Momentan probiere ich ein Tic Tac Toe Spiel zu programmieren, scheitere aber an der GUI. Kann mir da jemand helfen?
Das Hauptproblem ist, das Spielfeld (oder überhaupt etwas) zu zeichnen.
(Ich habe mir gedacht ich fang mal mit der GUI an, darum ist von der Logik noch nichts enthalten)
Ich benutze Eclipse und das ist der Code:

Java:
public class TicTacToe {
    static WerBeginnt anf;
   
    public static void main(String[] args) {
        anf = new WerBeginnt();
        anf.setVisible(true);
    }
   
    public static void spielbeginnt(int beg, WerBeginnt wb) { // beg == 0 Spieler beginnt    beg == 1 KI beginnt
        wb.dispose();
        new GUI();
    }
}
Java:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class GUI extends JFrame {
    private static final long serialVersionUID = 6411499808530678723L; // Eclipse generated
   
    JLabel text;
    JPanel jp1, jp2;
    Zeichnen z;
    Object line1, line2, line3, line4;
   
    GUI() {
        super("Tic Tac Toe");
        setSize(500, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
       
        jp1 = new JPanel();
        jp2 = new JPanel();
        text = new JLabel("Text");
       
        jp1.add(text);
        this.add(jp1, BorderLayout.NORTH);
       
        z = new Zeichnen();
       
        jp2.add(z);
        this.add(jp2, BorderLayout.CENTER);
       
        this.setVisible(true);
    }
}
Java:
import java.awt.*;
import javax.swing.*;

public class Zeichnen extends JComponent {
    private static final long serialVersionUID = 8485890844039483149L;
   
    private Color c = Color.BLACK; //Standardmässig schwarz
   
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(c);
        g.drawLine(1, 1, 100, 100);
    }
    public void setColor(Color c) {
        this.c = c;
    }
}
Ich habe noch eine Klasse WerBeginnt, aber dort funktioniert eigentlich alles.

Wenn irgendwelche Infos fehlen einfach fragen :)
 

@SupressWarnings()

Aktives Mitglied
Vielleicht solltest du als Java-Anfänger erst einmal die Logik programmieren und später dann von einem Text UserInterface in ein graphisches umsteigen. Zu deinem spezifischen Problem kann ich dir nicht helfen, da ich in JavaFX meine GUIs programmiere.
 

Java20134

Bekanntes Mitglied
Warum nutzt du keine Buttons? Damit hast du automatisch die Linien und du hast die Eingabe geklärt. Dadurch fehlt nur noch die Abfrage von welcher Person die Eingabe gemacht wurde, wenn es ein 1 gegen 1 Spiel ist.
 

TheAnfänger

Mitglied
Vielleicht solltest du als Java-Anfänger erst einmal die Logik programmieren und später dann von einem Text UserInterface in ein graphisches umsteigen. Zu deinem spezifischen Problem kann ich dir nicht helfen, da ich in JavaFX meine GUIs programmiere.
Naja, die Logik halte ich jetzt nicht für besonders schwer (vielleicht irre ich mich auch) und eigentlich möchte ich von der Konsole wegkommen. (Habe dort auch schon ein (sehr) kleines Spiel programmiert.)

Warum nutzt du keine Buttons? Damit hast du automatisch die Linien und du hast die Eingabe geklärt. Dadurch fehlt nur noch die Abfrage von welcher Person die Eingabe gemacht wurde, wenn es ein 1 gegen 1 Spiel ist.
Das probiere ich dann mal umzusetzen :)

Aber wenn ich jetzt sonst irgendwie in einem anderen Projekt was mit zeichnen umzusetzen versuche, wie kann ich es dort lösen?
 

Robat

Top Contributor
(1) was genau funktioniert denn nicht???
(2) rufst du spielbeginnt() denn auch irgendwo auf?
(3) du gibst deinem JFrame nirgends einen LayoutManager mit. Daher bringt es auch nix mit BorderLayout.NORTH zu arbeiten. Du musst schon explizit sagen setLayout(new BorderLayout());.

Kleine Tipps am Rande:
- vermeide es von JFrame zu erben solange du nicht die Funktionalität erweitern willst. Lege lieber ein Jframe Objekt an
- Gib deinen Variablen aussagekräftig Namen.

Gruß Robert
 

Harry Kane

Top Contributor
Aber wenn ich jetzt sonst irgendwie in einem anderen Projekt was mit zeichnen umzusetzen versuche, wie kann ich es dort lösen?
1. paintComponent(Graphics g) überschreiben und nicht paint(Graphics g). Da paint intern paintComponent, paintBorder und paintChildren aufruft, ist der Unterschied aber nicht sooo groß. Du darfst dich nur nicht wundern, wenn du später eine Border setzen möchtest und die nicht erscheint.
2. Wenn irgendwas nicht auf dem Bildschirm zu sehen ist, solltest du als erstes überprüfen, ob beim Layouten bzw. bei der Größenberechnung was schief gelaufen ist. Der Platz, der einer JComponent zur Verfügung gestellt wird, kann entweder von Hand bestimmt werden (beim Null-Layout, nicht empfehlenswert) oder vom Layoutmanager berechnet werden. Leider ist das Layouten in Java (IMHO) nicht wirklich intuitiv.
Wenn ich mir den Aufbau deiner Komponentenhierarchie anschaue, ergibt sich folgendes Bild:
Zeichnen liegt in jp2. jp2 hat keine LayoutManager gesetzt bekommen und verwendet deshalb den Default (ein FlowLayout)
jp2 liegt im CENTER der Gui, die ein BorderLayout verwendet (BorderLayout ist bei JFrames bzw. bei deren ContentPanes der Default).
Beim layouten passiert folgendes: jp2 bekommt den größten Teil des Platzes von Gui. Zeichnen hat aber keine Kindkomponenten und hat auch keine preferredSize gesetzt bekommen. Deshalb sollte Zeichnen eine preferredSize von 0,0 zurückgeben. Das von jp2 benutzte FlowLayout weist aber jeder Komponente eine Größe zu, die aus der preferredSize berechnet wird, in dem Fall 0,0. Deshalb ist Zeichnen unsichtbar. Lösung: setze bei Zeichnen die preferredSize von Hand.
 

TheAnfänger

Mitglied
(1) was genau funktioniert denn nicht???
Das etwas gezeichnet wird (Problem inzwischen gelöst)
(2) rufst du spielbeginnt() denn auch irgendwo auf?
Ja, zuerst erstelle ich in der main() ein Objekt der Klasse WerBeginnt. Dieses Objekt erstellt ein Fenster, in dem man auswählen kann wer beginnt (KI oder Spieler). Nachdem man ausgewählt hat wird die Funktion spielbeginnt() u. a. mit dem Objekt selbst als Parameter. Das Fenster wird dann noch geschlossen und die eigentliche GUI wird gestartet.
(3) du gibst deinem JFrame nirgends einen LayoutManager mit. Daher bringt es auch nix mit BorderLayout.NORTH zu arbeiten. Du musst schon explizit sagen setLayout(new BorderLayout());.
BorderLayout ist doch Standard, oder nicht? Gab zumindest keine Probleme.
Kleine Tipps am Rande:
- vermeide es von JFrame zu erben solange du nicht die Funktionalität erweitern willst. Lege lieber ein Jframe Objekt an
- Gib deinen Variablen aussagekräftig Namen.

Gruß Robert
Bis jetzt wurde in jedem Tutorial das ich mir angesehen habe eine Klasse erstellt, die von JFrame erbt.
Ich finde meine Namen aussagekräftig genug. :)
1. paintComponent(Graphics g) überschreiben und nicht paint(Graphics g). Da paint intern paintComponent, paintBorder und paintChildren aufruft, ist der Unterschied aber nicht sooo groß. Du darfst dich nur nicht wundern, wenn du später eine Border setzen möchtest und die nicht erscheint.
Hab ich jetzt mal geändert.
2. Wenn irgendwas nicht auf dem Bildschirm zu sehen ist, solltest du als erstes überprüfen, ob beim Layouten bzw. bei der Größenberechnung was schief gelaufen ist. Der Platz, der einer JComponent zur Verfügung gestellt wird, kann entweder von Hand bestimmt werden (beim Null-Layout, nicht empfehlenswert) oder vom Layoutmanager berechnet werden. Leider ist das Layouten in Java (IMHO) nicht wirklich intuitiv.
Wenn ich mir den Aufbau deiner Komponentenhierarchie anschaue, ergibt sich folgendes Bild:
Zeichnen liegt in jp2. jp2 hat keine LayoutManager gesetzt bekommen und verwendet deshalb den Default (ein FlowLayout)
jp2 liegt im CENTER der Gui, die ein BorderLayout verwendet (BorderLayout ist bei JFrames bzw. bei deren ContentPanes der Default).
Beim layouten passiert folgendes: jp2 bekommt den größten Teil des Platzes von Gui. Zeichnen hat aber keine Kindkomponenten und hat auch keine preferredSize gesetzt bekommen. Deshalb sollte Zeichnen eine preferredSize von 0,0 zurückgeben. Das von jp2 benutzte FlowLayout weist aber jeder Komponente eine Größe zu, die aus der preferredSize berechnet wird, in dem Fall 0,0. Deshalb ist Zeichnen unsichtbar. Lösung: setze bei Zeichnen die preferredSize von Hand.
preferredSize() DAS war es! Danke!


So, hab es jetzt geschafft ein TicTacToe-Feld anzuzeigen.
Aber eine andere Frage:
Die X und Os werden ja erst nachträglich hinzugefügt und kann ich somit noch nicht in der paintComponent() angeben. Wie soll ich das lösen?
 

Harry Kane

Top Contributor
Hier der Link zu einem Beispiel, wie man eine JComponent mit variablen Inhalten zeichnen kann:
Klick.
Das ganze ist etwas dirty, weil die Daten (in dem Fall die zu zeichnenden Shapes) in derselben Klasse gespeichert, die auch für das Zeichnen zuständig ist (also die View).
Bei größeren Anwendungen sollte man auf jeden Fall die Daten (das Model) von der View trennen, so dass ein und dasselbe Model auf verschiedenen Arten gezeichnet werden kann.
 

TheAnfänger

Mitglied
Hier der Link zu einem Beispiel, wie man eine JComponent mit variablen Inhalten zeichnen kann:
Klick.
Das ganze ist etwas dirty, weil die Daten (in dem Fall die zu zeichnenden Shapes) in derselben Klasse gespeichert, die auch für das Zeichnen zuständig ist (also die View).
Bei größeren Anwendungen sollte man auf jeden Fall die Daten (das Model) von der View trennen, so dass ein und dasselbe Model auf verschiedenen Arten gezeichnet werden kann.
Ich habe das inzwischen mit einem if-else Konstrukt gelöst, das einfach den Zustand der Felder abfragt. (Ja, ich weiss das das auch nicht schön ist aber:)
Dein Code sieht mir im ersten Augenblick auch relativ komliziert aus. :eek:
Gibts den auch in kurz?

Inzwischen habe ich ein völlig anderes Problem:
Ich habe die Buttons in das Feld gesetzt und jetzt soll mein Programm pausieren, bis diese gedrückt werden:
Java:
public class TicTacToe {
    static WerBeginnt anf;
    static GUI gui = null;
    // Grosses Array Zeilen Kleines Array Spalten
    static int[][] ticTacToeFeld = new int[3][3]; // Zustände: 0 == nichts gesetzt, 1 == Kreuz, 2 == Kreis
   
    public static void main(String[] args) {
        for (int i = 0; i < ticTacToeFeld.length; i++) {
            for (int j = 0; j < ticTacToeFeld[i].length; j++) {
                ticTacToeFeld[i][j] = 0;
            }
        }
        anf = new WerBeginnt();
        anf.setVisible(true);
    }
   
    public static void spielbeginnt(int beg, WerBeginnt wb) { // beg == 0 Spieler beginnt    beg == 1 KI beginnt
        wb.dispose();
        gui = new GUI();
        for(int i = 9; i > 0; i--) {
            if(i % 2 == 1 && beg == 0) {
                spielerZug();
            } else if(i % 2 == 0 && beg == 1) {
                spielerZug();
            } else {
                kiZug();
            }
        }
    }
   
    public static void spielerZug() {
        gui.setText("Du bist am Zug");
        //
        // Hier soll das Programm pausieren
        //
    }
   
    public static void kiZug() {
       
    }
}
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class GUI extends JFrame implements ActionListener {
    private static final long serialVersionUID = 6411499808530678723L; // Eclipse generated
   
    private JLabel text;
    private JPanel jp1, jp2;
    private Zeichnen z;
    private JButton b1, b2, b3, b4, b5, b6, b7, b8, b9;
   
    GUI() {
        super("Tic Tac Toe");
        setSize(300, 361);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setLayout(new BorderLayout());
       
        jp1 = new JPanel();
        jp2 = new JPanel();
        text = new JLabel("Text");
       
        jp1.add(text);
        this.add(jp1, BorderLayout.NORTH);
       
        z = new Zeichnen();
        Dimension dimension = new Dimension(300, 300);
        z.setPreferredSize(dimension);
       
        /* 
         * Hier kommt jetzt etwas viel Code um die Buttons richtig einzufügen 
         */
       
        ...
       
        /*
         * Buttons sind endlich drin
         */
       
        jp2.add(z);
        this.add(jp2, BorderLayout.CENTER);
       
        this.setVisible(true);
    }
    void setText(String text) {
        this.text.setText(text);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if(e.getActionCommand().equals(("b" + i) + j)) {
                    // Befehl einfügen
                }
            }
        }
    }
}
 

Harry Kane

Top Contributor
Du könntest einfach auf eine Benutzereingabe warten anstatt das Programm "pausieren" zu lassen.
Sobald der menschliche Spieler einen Zug macht (was z. B. durch einen Mausklick ausgelöst werden könnte), macht die KI auch einen Zug. Nach jedem Zug (egal ob Mensch oder KI) wird geprüft, ob einer schon gewonnen hat.
 

Harry Kane

Top Contributor
Bezieht sich die Frage darauf, wie man auf eine Benutzereingabe reagiert? Dazu enthält der oben verlinkte Post zwei Beispiele (Eingabe per Buttonklick oder Mausklick)?
Oder brauchst du eine Anregung zur Ablauflogik? Dazu fällt mir sowas ein:
1. Beim drücken des Start-Buttons wird das Feld geleert. Wenn die KI den ersten Zug hat, macht die KI einen Zug.
2. Es wird auf eine Benutzereingabe gewartet. Sobald die erfolgt, wird diese validiert (z. B. ob das Feld auf das geklickt wurde, noch frei ist, oder ob der Benutzer ev. zweimal hintereinander geklickt hat), und wenn sie gültig ist, auf dem Spielfeld eingetragen. Dann ist wieder die KI am Zug.
3. Nach jedem Zug wird geprüft, ob es einen Sieger gibt. Wenn ja, ist die Runde beendet. Eine neue Runde wird bei Drücken des Start-Buttons begonnen.
 

TheAnfänger

Mitglied
Bezieht sich die Frage darauf, wie man auf eine Benutzereingabe reagiert? Dazu enthält der oben verlinkte Post zwei Beispiele (Eingabe per Buttonklick oder Mausklick)?
Oder brauchst du eine Anregung zur Ablauflogik? Dazu fällt mir sowas ein:
1. Beim drücken des Start-Buttons wird das Feld geleert. Wenn die KI den ersten Zug hat, macht die KI einen Zug.
2. Es wird auf eine Benutzereingabe gewartet. Sobald die erfolgt, wird diese validiert (z. B. ob das Feld auf das geklickt wurde, noch frei ist, oder ob der Benutzer ev. zweimal hintereinander geklickt hat), und wenn sie gültig ist, auf dem Spielfeld eingetragen. Dann ist wieder die KI am Zug.
3. Nach jedem Zug wird geprüft, ob es einen Sieger gibt. Wenn ja, ist die Runde beendet. Eine neue Runde wird bei Drücken des Start-Buttons begonnen.
Das Problem besteht eigentlich darin, dass ich in einer Methode (spielerZug()) in der Klasse TicTacToe auf den Buttonklick aus GUI warten möchte.
Oder geht das wirklich nur in ActionPerformed()?
 

Harry Kane

Top Contributor
Mir fällt keine andere saubere Methode ein. Ich werde auch weder groß recherchieren noch nachgrübeln, wie das gehen könnte. Du kannst meinen Ratschlag annehmen und dein Programm entsprechend ändern, oder du suchst weiter nach dem magischen Zellenblock, der dir deinen Ansatz mit "auf Buttonklick in Methodenkörper warten" ermöglicht.
 

TheAnfänger

Mitglied
Ich habe das Programm jetz so umgeschrieben, dass spielerZug() in ActionPerformed() aufgerufen wird.
Inzwischen habe ich auch noch eine kleine KI hinzugefügt (ist aber NOCH nicht unbesiegbar (aber schon schwieriger)).

Bin soweit eigentlich fertig mit meinem TicTacToe und möchte allen danken, die mir geholfen haben!
Falls jemand am Code interessiert ist (aus welchem Grund auch immer) kann man mich anschreiben.
Falls jemand doch noch Verbesserungsvorschläge hat, darf man sie ruhig sagen/schreiben:)

Hab das Spiel noch beigefügt, falls es sich jemand anschauen will.
 

Anhänge

  • TicTacToe.jar
    7,9 KB · Aufrufe: 20
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
S 2D-Grafik MouseDragged Linien zeichnen AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
P SWT Linien / Pfeile zeichnen in SWT? AWT, Swing, JavaFX & SWT 3
C AWT: Pixel für Pixel Linien auf Panel zeichnen AWT, Swing, JavaFX & SWT 2
M Farbige Linien zeichnen AWT, Swing, JavaFX & SWT 3
T Linien zeichnen und wieder löschen AWT, Swing, JavaFX & SWT 9
M Linien zeichnen und anklicken AWT, Swing, JavaFX & SWT 2
V JFreechart: In Linechart Linien einzeichnen und Bereiche färben AWT, Swing, JavaFX & SWT 4
I ContentPane lösche linien AWT, Swing, JavaFX & SWT 1
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
A 2D-Grafik Dickere Linien AWT, Swing, JavaFX & SWT 4
D JCombobox mit Linien Styles AWT, Swing, JavaFX & SWT 4
O Sättigung bei Linien AWT, Swing, JavaFX & SWT 2
P Swing Skalieren mit DrawImage macht Linien kaputt AWT, Swing, JavaFX & SWT 6
J 2D-Grafik Fehler beim Überzeichnen von Linien AWT, Swing, JavaFX & SWT 11
K Swing JTable - vertikale Gitter-Linien AWT, Swing, JavaFX & SWT 2
1 Eigene Component in JScrollBar + fixe Linien??? AWT, Swing, JavaFX & SWT 2
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
P [gelöst] Verschiebbare Komponenten mit Linien verbinden AWT, Swing, JavaFX & SWT 2
S [Swing] Wie zeichne ich neue Linien AWT, Swing, JavaFX & SWT 3
P Problem beim Linien ziehen! AWT, Swing, JavaFX & SWT 12
Bierhumpen Linien anklicken? AWT, Swing, JavaFX & SWT 9
X Dynamische linien (Position und Länge) AWT, Swing, JavaFX & SWT 4
B Urspungskoordinaten von Linien ändern AWT, Swing, JavaFX & SWT 3
Z Und schon wieder die Linien (Problem beim überzeichnen) AWT, Swing, JavaFX & SWT 4
G Linien Diagram in SWT AWT, Swing, JavaFX & SWT 4
S JTable - Breite der Linien AWT, Swing, JavaFX & SWT 8
F Zeichen von Linien, Rechtecken, zb wie in paint AWT, Swing, JavaFX & SWT 2
M gestrichelte Linien bzw. Pfeile AWT, Swing, JavaFX & SWT 2
B JTree + Linien im Windows L&F AWT, Swing, JavaFX & SWT 9
G Linien in ein Koordinatensystem zeichen AWT, Swing, JavaFX & SWT 7
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX Canvas neu zeichnen anstoßen AWT, Swing, JavaFX & SWT 34
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
G Dreieck aus Pixeln zeichnen AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
Z Swing Graph zeichnen lassen AWT, Swing, JavaFX & SWT 16
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
L Swing zeichnen AWT, Swing, JavaFX & SWT 14
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
Soloeco Graph zeichnen AWT, Swing, JavaFX & SWT 1
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
I Graph mit Swing zeichnen AWT, Swing, JavaFX & SWT 8
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
I Spielsteine zeichnen und entfernen AWT, Swing, JavaFX & SWT 3
H JavaFX Freezes beim Zeichnen mit Canvas AWT, Swing, JavaFX & SWT 3
H Swing BufferedImage zeichnen AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
I Pfeil zeichnen am Ende einer Linie AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
F Zeichnen des Button AWT, Swing, JavaFX & SWT 4
B Zeichnen mit paintComponent? Oder anders? AWT, Swing, JavaFX & SWT 15
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
M Kein Zeichnen der Figuren auf JPanel AWT, Swing, JavaFX & SWT 4
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S Quadrat auf Frame zeichnen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
C Graphics Objekt in Zeitschleife zeichnen AWT, Swing, JavaFX & SWT 4
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
G Zeichnen auf eine schwergewichtige Komponente? AWT, Swing, JavaFX & SWT 0
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
P SWT Nebula Gallery - Bildbereiche zeichnen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben