Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite.

Beatsleigher

Bekanntes Mitglied
Hallöchen!

Ich habe in meinem Programm BukkitUI einen komischen Bug.
Ich habe die Frames alle undecorated(true); und (außer in der Main-Klasse) passiert folgendes:
Wenn ich die Frames bewegen will, geht der Cursor immer in die oben-linke Ecke der Frame.

Ich benutze eigentlich recht simplen Code, und bei der Main-Klasse funktioniert auch alles prima - wie es auch überall anders sein sollte.
Dies ist der Code, den ich benutze:

Java:
// Main-Klasse
//<editor-fold defaultstate="collapsed" desc="Frame Movement">
    private void jLabel1MousePressed(java.awt.event.MouseEvent evt) {                                     
        mouseX = evt.getX();
        mouseY = evt.getY();
    }                                    

    private void jLabel1MouseDragged(java.awt.event.MouseEvent evt) {                                     
        int _mouseX, _mouseY;
        _mouseX = evt.getXOnScreen();
        _mouseY = evt.getYOnScreen();
        this.setLocation(_mouseX - mouseX, _mouseY - mouseY);
    }                                    

    private void jTabbedPane1MousePressed(java.awt.event.MouseEvent evt) {                                          
        mouseX = evt.getX();
        mouseY = evt.getY();
    }                                         

    private void jTabbedPane1MouseDragged(java.awt.event.MouseEvent evt) {                                          
        int _mouseX, _mouseY;
        _mouseX = evt.getXOnScreen();
        _mouseY = evt.getYOnScreen();
        this.setLocation(_mouseX - mouseX, _mouseY - mouseY);
    }                                         

    private void jPanel3MouseDragged(java.awt.event.MouseEvent evt) {                                     
        int _mouseX, _mouseY;
        _mouseX = evt.getXOnScreen();
        _mouseY = evt.getYOnScreen();
        this.setLocation(_mouseX - mouseX, _mouseY - mouseY);
    }                                    

    private void jPanel3MousePressed(java.awt.event.MouseEvent evt) {                                     
        mouseX = evt.getX();
        mouseY = evt.getY();
    }                                    
    //</editor-fold>

//Einstellungs-Klasse
//<editor-fold defaultstate="collapsed" desc="Frame Movement">
    private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {                                     
        mouseX = evt.getX(); mouseY = evt.getY();
    }                                    

    private void jLabel2MouseDragged(java.awt.event.MouseEvent evt) {                                     
        int _mouseX = evt.getXOnScreen(), _mouseY = evt.getYOnScreen(); 
        this.setLocation(new Point((_mouseX - mouseX), (_mouseY - mouseY)));
    }                                    
    //</editor-fold>

In beiden Klassen sind interne Variablen;
Java:
int mouseX = 0, mouseY = 0;

Habt ihr vielleicht eine Idee, was das sein könnte?
Hier ist ein Link zur Jar (frisch kompiliert):
BukkitUI.jar
Und falls ihr auf Nummer sicher gehen wollt; ein Virus-Scan: Scan

Ich danke vielmals im Voraus für eure Hilfe.
 
Du möchtest die Komponenten (JPanel,etc....) innerhalb eines Fensters/Frames verschieben, verstehe ich dich da richtig?
 
Du möchtest die Komponenten (JPanel,etc....) innerhalb eines Fensters/Frames verschieben, verstehe ich dich da richtig?

Nein, der Code bewegt die ganze Form, also das Fenster.
Ich hatte die JAR verlinkt, damit ihr ein Bild davon bekommt, was ich meine.

Und wenn ich die Preferences oder JVM Settings bewegen will, springt die Maus immer in die obere linke Ecke des Fensters. Das Fenster kann man bewegen, aber dass die Maus so wegspringt, das ist sehr nervig.
 
Hab dazu jetzt spontan keine Idee...
Setzt vllt mal in den Code ein paar Thread.sleep()s ein, damit du siehst, wann die Maus genau springt, also nach welcher Zeile.

Würd mich mal interessieren

Gruß eMmiE
 
Hab dazu jetzt spontan keine Idee...
Setzt vllt mal in den Code ein paar Thread.sleep()s ein, damit du siehst, wann die Maus genau springt, also nach welcher Zeile.

Würd mich mal interessieren

Gruß eMmiE

Hallo, entschuldige, dass ich so spät antworte, ich habe im Moment viel mit Bewerbungen und Schuke zu tun.

Ich glaube, die Maus springt genau dann, wo ich die Frame bewege.
Ich habe Thread.sleep(100); unter den beiden Variablen geschrieben, genau da hakt er dann.
 
Tschuldigung, dass es ein bisschen gedauert hat :autsch:

Ich werd daraus nicht schlau...

Schreib mal einen Moderator an, vllt. können die ja helfen
 

Zurück
Oben