Problem mit Timer und Swing

ernst

Top Contributor
Hallo allerseits,
Im Java-Programm unten gibt es Probleme, wenn ich in der Klasse AnimationView in der Methode
update() die Methode animationJPanel.setWagen(w) aufrufe.
Dann gibt es eine NullpointerException.
Wenn ich diese Anweisung weglasse und in den Konstruktor schreibe funktioniert alles.
Weiß jemand, warum dies so ist und warum erst während des Laufzeit diese NullpointerException kommt?

Java:
    public void update(Observable m, Object o) {
        if (m == animationModel) {
/* 
        FRAGE:            
        Warum gibt es eine NullpointerException, wenn wenn man nicht im 
        Konstruktor, sondern hier den Wagen im animationJPanel setzt?
*/
        /*    
        Wagen w;
        w = animationModel.getWagen();
        animationJPanel.setWagen(w);
        */ 
            animationJPanel.repaint();
        }
    }

mfg
Ernst

Java:
package wagenanimationmvc10;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;

class AnimationController {
    private AnimationView animationView;
    private AnimationModel animationModel;
    
    public AnimationController() {
        Timer timer;        
        animationModel = new AnimationModel();        
        animationView = new AnimationView(animationModel);
        TimerActionListener tal;
        tal=new TimerActionListener(animationModel);
        timer = new Timer(2,tal);
        timer.start();
    }
    
    
    public AnimationView getAnimationView() {
        return animationView;
    }

}

class TimerActionListener implements ActionListener {
    private AnimationModel animationModel;    

    public TimerActionListener(AnimationModel animationModel){
        this.animationModel=animationModel;
    }
    
    public void actionPerformed(ActionEvent ae) {
        animationModel.updaten();
    }
}


Java:
package wagenanimationmvc10;
import java.awt.Color;
import java.awt.Graphics;

class AnimationJPanel extends javax.swing.JPanel {
    private Wagen wagen;

    public void setWagen(Wagen wagen){
        this.wagen=wagen;
    }

    // Daten für Methode paintComponent() ---
    private int x;
    private int y;

    public int getKoordinateX(){
        return x;
    }
    
    public void setKoordinateX(int x){
        this.x=x;
    }
    
    public int getKoordinateY(){
        return y;
    }

    public void setKoordinateY(int y){
        this.y=y;
    }
  
    public AnimationJPanel() {
    }
    
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.red);
        g.fillRect(wagen.getX(), wagen.getY(), 30, 25);                
    }
}



Java:
/*
AnimationModel wird überwacht, deswegen muß es von der Klasse Observable
erben. Durch die Anweisungen:
setChanged();
notifyObservers();        
in einer Methode f(), wirft eine überwachte Klasse ein spezielles 
Objekt, das von der Methode update einer überwachenden Klasse
eingefangen wird. 
*/  

package wagenanimationmvc10;

import java.util.Observable;

class AnimationModel extends Observable{
    private Wagen wagen;

    public Wagen getWagen(){
        return wagen;
    }
    
    public void updaten() {
        wagen.fahren();
        setChanged();
        notifyObservers();        
    }
    
    public AnimationModel() {
        wagen=new Wagen();
    }
}


Java:
package wagenanimationmvc10;
import java.awt.Container;
import java.util.Observable;
import java.util.Observer;
import javax.swing.JFrame;


/*
AnimationView ist eine überwachende Klasse. Deswegen muß sie die 
Schnittstelle Observer implementieren und unbedingt die Methode
update() ausprogrammieren. 
update() wird immer dann aufgerufen, wenn sich in einer überwachten
Klasse etwas ändert (dies muß durch die Anweisungen setchanged()
und notifyObservers() vorbereitet werden).        
*/  
class AnimationView extends javax.swing.JFrame implements Observer{
    private AnimationJPanel animationJPanel;
    private AnimationModel animationModel;

 
    
    public AnimationView(AnimationModel animationModel) {
        Container mycont;        
        this.animationModel = animationModel;
        // Überwachung: Es wird ein Überwacher (=Wanze, Detektiv) an
        // dem Objekt animationModell angebracht.
        this.animationModel.addObserver(this);
        mycont = getContentPane();                
        this.setSize(500,500);
        animationJPanel = new AnimationJPanel();
        mycont.add(animationJPanel);
        this.setVisible(true);        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
        animationJPanel.setWagen(animationModel.getWagen());
    }

    
    
    public AnimationJPanel getAnimationJPanel(){
        return animationJPanel;
    }

    // Wenn sich im überwachten Modell Daten aändern, wird ein Event
    // ausgelöst (ein spezielles Objekt geworfen) das von der Methde
    // update() eingefangen wird. Diese Methode wird dann also aufgerufen
    public void update(Observable m, Object o) {
        if (m == animationModel) {
/* 
        FRAGE:            
        Warum gibt es eine NullpointerException, wenn wenn man nicht im 
        Konstruktor, sondern hier den Wagen im animationJPanel setzt?
*/
        /*    
        Wagen w;
        w = animationModel.getWagen();
        animationJPanel.setWagen(w);
        */ 
            animationJPanel.repaint();
        }
    }
}


Java:
/*
R O G R A M M B E S C H R E I B U N G
Dies ist ein Demo-Programm für MVC (Animation)
I) Informationsfluß
 +-- CONTROLER --+
 |               |
 v               v 
VIEW --------> MODEL
 
Die Pfeile bedeuten Assoziationen. 
Nicht eingezeichnet sind die Events (in entgegengesetzter Richtung) 
von (siehe Wikipedia)
VIEW --> CONTROLER
MODEL --> VIEW 
 
II) 
Ein Wagen fährt immer wieder (ohne Einwirkung eines Anwenders) 
von links nach rechts

Ein Timer wirft immer wieder in regelmäßigen Zeitintervallen ein 
Objekt (ActionEvent), das mit der Methode actionPerformed() im Controler
eingefangen wird.
--> 
Mit der Methode updaten() in Model werden die Daten (Koordinaten) des 
Autos verändert. 
-->
Das Model benachrichtigt die View über die Observer-Technik, daß Daten
verändert wurden.
-->
Die View zeichnet das Auto neu und gibt es auf dem Bildschirm  aus.
*/

package wagenanimationmvc10;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.Observer;
import javax.swing.*;

public class MainWagenAnimationMVC10 {

    public static void main(String[] args){
        AnimationController animationController = new AnimationController();
    }
}


Java:
package wagenanimationmvc10;

class Wagen{
    private int x;
    private int y;
    private int schritt;

    public Wagen(){
        x=0;
        y=0;
        schritt = 1;
    }

    public void setX(int pX){
        x = pX;
    }

    public int getX(){
        return x;
    }

    public void setY(int pY){
        y = pY;
    }

    public int getY(){
        return y;
    }


    void fahren(){
        if(x <= 400){
            x = x + schritt;
        }
        else{
            x=0;
        }
    }

    void setSchritt(int pSchritt){
        schritt = pSchritt;
    }

}
 
S

Spacerat

Gast
Uhhh, wie brutal. Du kannst einen auch immer mit Code erschlagen. :lol: Zu allem übel fehlt auch noch die genaue Fehlermeldung. So wie ich das sehe startest du den Timer (ist nicht der automatisch verlinkte, das konnt' ich schon feststellen) noch bevor der Panel sichtbar wird. Ein unsichtbares Panel bekommt natürlich noch kein Graphic-Object. Wenn der Timer nun repaint() schon aufruft, bevor das Panel sichtbar ist, wird halt in ein Graphics-Context gepinselt der NULL ist.
 

ernst

Top Contributor
Uhhh, wie brutal. Du kannst einen auch immer mit Code erschlagen. :lol: Zu allem übel fehlt auch noch die genaue Fehlermeldung. So wie ich das sehe startest du den Timer (ist nicht der automatisch verlinkte, das konnt' ich schon feststellen) noch bevor der Panel sichtbar wird. Ein unsichtbares Panel bekommt natürlich noch kein Graphic-Object. Wenn der Timer nun repaint() schon aufruft, bevor das Panel sichtbar ist, wird halt in ein Graphics-Context gepinselt der NULL ist.

Danke für deine Mühe,
1) Hier die Fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at wagenanimationmvc10.AnimationJPanel.paintComponent(AnimationJPanel.java:38)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paint(JComponent.java:1063)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:887)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5228)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)
at javax.swing.RepaintManager.paint(RepaintManager.java:1206)
at javax.swing.JComponent.paint(JComponent.java:1040)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
at java.awt.Container.paint(Container.java:1967)
at java.awt.Window.paint(Window.java:3877)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:781)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:728)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:677)
at javax.swing.RepaintManager.access$700(RepaintManager.java:59)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
BUILD SUCCESSFUL (total time: 7 seconds)

wobei
AnimationJPanel.java:38
die unten markierte Stelle in public void paintComponent(Graphics g) ist
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
g.fillRect(wagen.getX(), wagen.getY(), 30, 25); // <-- das ist die beanstandete Stelle
}

2) Reihenfolge:
>
>Wenn der Timer nun repaint() schon aufruft, bevor das Panel sichtbar ist ...
>

a) Zuerst wird ein Objekt des Controllers erzeugt, also wird der folgende Konstruktor aufgerufen:
public AnimationController() {
Timer timer;
animationModel = new AnimationModel();
animationView = new AnimationView(animationModel);
TimerActionListener tal;
tal=new TimerActionListener(animationModel);
timer = new Timer(2,tal);
timer.start();
}

b) Dort wird u.a. das Objekt
animationView = new AnimationView(animationModel);
erzeugt. Dazu wird der folgende Konstruktor aufgerufen.
public AnimationView(AnimationModel animationModel) {
Container mycont;
this.animationModel = animationModel;
// Überwachung: Es wird ein Überwacher (=Wanze, Detektiv) an
// dem Objekt animationModell angebracht.
this.animationModel.addObserver(this);
mycont = getContentPane();
this.setSize(500,500);
animationJPanel = new AnimationJPanel();
mycont.add(animationJPanel);
this.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Dort befindet sich
this.setVisible(true);
Dies wird also _vor_ der Anweisung (und nicht danach, wie du meinst)
timer.start();
gemacht.

3) Frage:
>
>So wie ich das sehe startest du den Timer
>(ist nicht der automatisch verlinkte, das konnt' ich schon feststellen)
>
Was meinst du mit "ist nicht der automatisch verlinkte" ?

mfg
Ernst
 
S

Spacerat

Gast
Okay, so genau habe ich das nicht nachvollzogen. Das bedeutet, am zu frühen setVisible liegt's nicht. Obwohl... dann ist es eher umgekehrt und es erklärt auch, warum es mit "new Wagen()" im Konstruktor funktioniert. Das Frame wird zum ersten mal gezeichnet, wenn es sichtbar geschaltet wird und das passiert anscheinend bevor der ActionListener mindestens einmal dur den Timer angestossen wurde. Implementier halt 'nen Nullcheck auf "Wagen" in paintComponent() bevor du ihn zeichnest. Das machen sehr viele Menschen jeden Morgen auch, bevor der Timer Arbeit zuschlägt.
Zu Frage 3: Klick mal in deinem veröffentlichten Quelltext auf die Klasse Timer (diese wurde von der Forensoftware automatisch in die Java-API verlinkt) und sag' mir, dass es auf die Implementation deines Timers zeigt.
 

ernst

Top Contributor
Okay, so genau habe ich das nicht nachvollzogen. Das bedeutet, am zu frühen setVisible liegt's nicht. Obwohl... dann ist es eher umgekehrt und es erklärt auch, warum es mit "new Wagen()" im Konstruktor funktioniert. Das Frame wird zum ersten mal gezeichnet, wenn es sichtbar geschaltet wird und das passiert anscheinend bevor der ActionListener mindestens einmal dur den Timer angestossen wurde. Implementier halt 'nen Nullcheck auf "Wagen" in paintComponent() bevor du ihn zeichnest. Das machen sehr viele Menschen jeden Morgen auch, bevor der Timer Arbeit zuschlägt.
Zu Frage 3: Klick mal in deinem veröffentlichten Quelltext auf die Klasse Timer (diese wurde von der Forensoftware automatisch in die Java-API verlinkt) und sag' mir, dass es auf die Implementation deines Timers zeigt.
1) Danke für deine Hilfe

2)
>
>Klick mal in deinem veröffentlichten Quelltext auf die Klasse Timer
>(diese wurde von der Forensoftware automatisch in die Java-API verlinkt)
>und sag' mir, dass es auf die Implementation deines Timers zeigt.
>
Wenn darauf klicke, bekomme ich eine Doku des Timers:
Timer (Java Platform SE 7 )
Hast du das mit deinem ersten Post gemeint:
>
>startest du den Timer (ist nicht der automatisch verlinkte, das konnt' ich schon feststellen)
>

mfg
Ernst
 

bERt0r

Top Contributor
Es gibt in Java 2 Klassen die Timer heißen: java.util.Timer und javax.swing.Timer. Die beiden machen zwar ungefähr das selbe sind aber anders aufgebaut und anders zu benutzen.
 
S

Spacerat

Gast
@ernst: Jep, genau das meinte ich. Bei mir kommt da teilweise immer der "java.util.Timer". Was soll's... die Forensoftware ist dahingehend wohl noch nicht ausgereift, [IRONIE]welch schande[/IRONIE]. :lol:
(Schon klar, dass die Forensoftware, das wohl auch nicht wirklich jemals auseinander halten wird können.)
 

ernst

Top Contributor
@ernst: Jep, genau das meinte ich. Bei mir kommt da teilweise immer der "java.util.Timer". Was soll's... die Forensoftware ist dahingehend wohl noch nicht ausgereift, [IRONIE]welch schande[/IRONIE]. :lol:
(Schon klar, dass die Forensoftware, das wohl auch nicht wirklich jemals auseinander halten wird können.)

1) habe in meinem Quellcode durch die Anweisung
import javax.swing.Timer;
den Timer javax.swing.Timer importiert.
Das müsste doch eindeutig sein bzw. durch die Forensoftware erkennbar sein.

2) Zur Trennung von M , V und C.
Wäre es nicht ein besseres Design, wenn ich den Timer in der View anbringe,
(so wie den Button "schneller"), denn dort wird die Periode, die die Abstände des Feuerns festlegt bestimmt.
Diese Periode bestimmt aber die Präsentation (die View), nämlich die Geschwindigkeit des Rechtecks.
Den zugehörigen Lauscher (Wanze) lasse ich - wie bisher auch - im Controller.
Was meinst du dazu ?

mfg
Ernst
 
S

Spacerat

Gast
Zu 1.: Die Forensoftware tangieren die Imports gar nicht, deswegen ist da wohl auch nichts verlinkt... egal Nebensache. Ich weis ja welcher Timer gemeint ist.

Zu 2.: Da solltest du jemanden fragen, der sich damit auskennt. Ich selbst halte mich nie so strikt an Designvorlagen wie z.B. an MVC. Member und Methoden kommen dort hin, wo ich es für am sinnvollsten erachte und nicht eine stahlhart ummantelte Vorlage. Wenn man nicht flexibel ist und auch bleibt, wird eine Software nie fertig, weil man zuoft damit beschäftigt wäre, alles in eine Form pressen zu müssen, nur um zum Schluss zu der Erkenntnis zu gelangen, dass man's von vorne herein schon hätte vergessen können.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Timer Problem AWT, Swing, JavaFX & SWT 5
P Game of Life - PaintComponent-Problem / Timer? AWT, Swing, JavaFX & SWT 8
E AWT Problem mit Repaint (in Loop oder Timer) AWT, Swing, JavaFX & SWT 3
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
B Swing Problem mit Bildpfad AWT, Swing, JavaFX & SWT 4
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
V Graphics g - drawOval problem mit background AWT, Swing, JavaFX & SWT 1
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
M Swing pack() Problem mit Taskleiste AWT, Swing, JavaFX & SWT 4
N Swing Choice- Problem! AWT, Swing, JavaFX & SWT 8
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
P AWT Problem mit Platzierung (GridBagLayout) AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
A Mini-Menu-Schriften. Ein Problem bei hohen DPI Zahlen AWT, Swing, JavaFX & SWT 2
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
C Thread-/ Simulations- Problem AWT, Swing, JavaFX & SWT 18
G Swing Setvisible problem AWT, Swing, JavaFX & SWT 1
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX -> fxmlLoader -> getResourceAsStream Problem AWT, Swing, JavaFX & SWT 1
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
F Problem mit Implementierung von Kollisionsabfrage AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
L Swing Vier Gewinnt Problem AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
B JavaFX KeyEvent und Canvas draw Problem AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben