Fenster gleich bewegen funktioniert nicht ganz!

Status
Nicht offen für weitere Antworten.
C

ChristianR1

Gast
Hallo,

ich habe die JAVA Datei Fenster gleichbewegen aus Code-Schnipsel mir gerausgebickt, und verändert, sodass das Fenster 1 (Audioplayer) mit Fenster 2 ( z.B. Playlist) gleich verschoben wird, so dass jedoch die Playlist unterhalb des Audioplayers bleibt.

Die Y Verschiebung klappt einwandfrei. Sobald man aber in X Richtung das ganze verschiebt, funzt nixmehr !!!

Vielleicht kann mir jemand helfen!

/*
* GleichBewegen_Test.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GleichBewegen_Test extends JFrame {

public GleichBewegen_Test() {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(400, 300);
setLocation(200, 200);
setVisible(true);
dialog = new JDialog(this, false);
dialog.setSize(200, 200);
dialog.setLocation(200, 200);

dialog.setVisible(true);
new GleichBewegen(this, dialog);
}

public static void main(String args[]) {
new GleichBewegen_Test();
}

private JDialog dialog;
}

class GleichBewegen extends ComponentAdapter {
public GleichBewegen(Window winA, Window winB) {
this.winA = winA;
this.winB = winB;
winA.addComponentListener(this);
winB.addComponentListener(this);
}

public void componentMoved(ComponentEvent e) {
Window win = (Window) e.getComponent();

int mainx, mainy;
double x;
double y;

int startwinAkoordx;
int startwinAkoordy;

Point winBlocX = null;
Point winBlocY = null;

winBlocX = winA.getLocation();
x = winBlocX.getX();
int xint = new Double(x).intValue();

winBlocY = winA.getLocation();
y = winBlocY.getY();
int yint = new Double(x).intValue();

startwinAkoordx = xint;
startwinAkoordy = yint;

winA.removeComponentListener(this);

x = winBlocX.getX();
System.out.println(x);
y = winBlocY.getY();
System.out.println(y);
int xx = new Double(x).intValue();
int yy = new Double(y).intValue();

winB.setLocation(xx + startwinAkoordx, yy + startwinAkoordy);

winA.addComponentListener(this);

}

private Window winA, winB;
private int startkoordWinAX, startkoordWinAY;
}
 
S

SlaterB

Gast
du hast
> int yint = new Double(x).intValue();
also y = x

aber wenn du das korrigierst wirds auch nicht viel besser,
versuchs mal so:
Code:
class GleichBewegen
    extends ComponentAdapter
{
    private Window winA, winB;
    private int winbRelativX;
    private int winbRelativY;

    public GleichBewegen(Window winA, Window winB)
    {
        this.winA = winA;
        this.winB = winB;
        winA.addComponentListener(this);
        winB.addComponentListener(this);
    }


    public void componentMoved(ComponentEvent e)
    {
        Point winBlocA = winA.getLocation();
        int aX = (int)winBlocA.x;
        int aY = (int)winBlocA.y;

        if (e.getSource() == winB)
        {
            Point winBlocB = winB.getLocation();
            int bX = (int)winBlocB.x;
            int bY = (int)winBlocB.y;

            winbRelativX = bX - aX;
            winbRelativY = bY - aY;
        }
        else
        {
            winB.removeComponentListener(this);
            winB.setLocation(winbRelativX + aX, winbRelativY + aY);
            winB.addComponentListener(this);
        }
    }

}
 
G

Guest

Gast
Vielen Dank,

super schneller Lösungsansatz! Super Danke!
:D :D :D :D :D :D :D :D :D :D :D :D


Gibt es die Möglichkeit irgendein Beispiel-Code für:

Möchte einen JSlider mit Grafik überlager, sowie man die Button mit Grafiken überlagern kann.
Gibts sowas? Ich hab bis jetzt nur Code für Flash-MX oder so gefunden?

Ein Link mit BeispielCode würde schon Delüx genüge tun!
 
G

Guest

Gast
Schade vielleich doch was für JSlider mit Grafik überlagern? ........... :roll:
 
A

an

Gast
@SlaterB

Wie viele Sprachen, bzw. deren Dialekte, sprichst Du eigentlich?

Ich, persönlich, könnte bei so einem Post nicht einmal antworten, geschweige denn helfen,
selbst wenn ich es wollte.

Meine Anerkennung hast Du (und alle anderen, die es über sich bringen, auf so etwas zu antworten) auf jeden Fall.

mfg
an
 
S

SlaterB

Gast
wieso Sprache oder Dialekte?
ich antwortete nur auf eine Kombination, Deutsch und Java ;)


und ein Problem mit vorgegeben Code, welches nur noch zu korrigieren ist, ist die beste Voraussetzung zum Antworten,
zeigt vorherige Eigenarbeit und Ahnung vom Thema


edit: ok, nochmal ersten Satz des ersten Postings gelesen, verstehe so langsam was mit Sprache gemeint war ;)
 

ChristianR1

Mitglied
Hallo,

leider gibts n rießen Problem, möchte ------->>>>>>>> unbedingt <<----------- den korrigierten Code benutzen,


NUR dieser funktioniert anscheinend nur mit JDIALOG (keine Ahnung) warum ???????????????????
sobald ich das für JFRAME umschreibe gibts das alte Problem, das er wenn man das Fenster gleichtzeitg schrägt also (in x UND y richtung) zieht, sich langsam auseinanderbewegt, von einander weg oder auf sich zu.

Außerdem ist der hier umgschriebene Code schon etwas schleierhaft,
die ZauberreiZEILE dialog = new JDialog(this,false);



wenn ich hier this,false WEGLASSE, funktionierts auch jedoch mit dem Fehler das es sich langsam von sich weg bewegt wenn man in x und y gleichzeigt bewegt.


BEI JFRAME dialog = new JFRAME(this,false); GEHTS NET weill hier keine this,false raus muss sonst motzt er !!!!!



code

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Point;






public class GetMagnified extends JFrame {


//public static JFrame Frame1;
//public static JFrame Frame2;

// später möchte ich mit auf diese Klasse zugreifen und von meinen Programm JFrame Audioplayer und //Jframe PlaylistManager übergeben.

// mit



public GetMagnified() {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);





dialog = new JFrame(); // hier geht net (this,false) !!!!!!!!!!!!!!!!!! das macht den unterschied !!!
setSize(250, 300);
setLocationRelativeTo(null);
setVisible(true);



dialog.setSize(400, 200);
dialog.setLocation(200, 200);

dialog.setVisible(true);
new GleichBewegen(this, dialog);
}


private JFrame dialog;
}

class GleichBewegen extends ComponentAdapter {
public GleichBewegen(JFrame winA, JFrame winB) {
this.winA = winA;
this.winB = winB;
winA.addComponentListener(this);
winB.addComponentListener(this);
}

public void componentMoved(ComponentEvent e)
{
Point winBlocA = winA.getLocation();
int aX = (int)winBlocA.x;
int aY = (int)winBlocA.y;

if (e.getSource() == winB)
{
Point winBlocB = winB.getLocation();
int bX = (int)winBlocB.x;
int bY = (int)winBlocB.y;

winbRelativX = bX - aX;
winbRelativY = bY - aY;
}
else
{
winB.removeComponentListener(this);
winB.setLocation(winbRelativX + aX, winbRelativY + aY);
winB.addComponentListener(this);
// Frame2.removeComponentListener(this);
// Frame2.setLocation(winbRelativX + aX, winbRelativY + aY);
// Frame2.addComponentListener(this);


} }

private int winbRelativX;
private int winbRelativY;
private JFrame winA, winB;

/code


}
Code:
 
S

SlaterB

Gast
siehst du den Code, in welchem winBRelativX/Y gesetzt wird?
das soll eigentlich nur passieren wenn b alleine bewegt wird, nicht wenn beide bewegt werden,
deshalt ja das add/ removeListener,

gib dort System.out.println("b relativ a wird gesetzt"); aus,
kommt die Ausgabe auch wenn beide bewegt werden?
dann reicht hier add/ remove vielleicht nicht mehr, führe ein weiteres manuelles boolean-Flag ein oder so,

prüfe ansonsten ganz genau wann wo welche Position gesetzt wird, wie sich die Bewegung von der Dialog-Variante unterscheidet usw. alles mögliche,

ich kann über Weihnachten ohne Java nix selber testen
 

ChristianR1

Mitglied
Hi,

erstmal ich hatte vorher den code (drei zeilen) auskommentiert), so dass das man den PlaylistmanagerFenster 1 verschieben kann allleine.

Dieser modifizierte CODE mit JDIALOG hat auch dann 100% AUCH FUNKIONIERT !!!!!!!!!!!

Änder ich den Code ab zu JFRAME, kann ich wie beschrieben (this,....) nicht machen!!!

Und dann taucht das besagte Phenomen auf !
 
S

SlaterB

Gast
?

dein vorheriges Posting oder zumindest dessen Aussage zu wiederholen bringt keinem die Lösung näher ;)
 

ChristianR1

Mitglied
Hallo,

ich habe jetzt noch einfacher gelöst, So einfach aber Abstrakt!

mann kann Fenster RELATIVETOLOCATION.... ()...


ich habe ein virtuelles JLABEL der größe 1,1 gemacht!!

Erstmal nix besonders.. Und jetzt kommts abstrakt.

Das JLABEL habe Außerhalb des Playerfensters gesetzt, und zwar unter dem Hauptfenster zentiert !

mit der add component methode. setzt der das 2.Fenster relativetolocation(JLABEL).....

Funkt 1A 95% Code weniger !!! aber da mussmer erstmal drauf komm!!! :bae: :applaus:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
G JToolbar gleich als eigenes Fenster öffnen AWT, Swing, JavaFX & SWT 2
B 2 fenster gleich verschieben AWT, Swing, JavaFX & SWT 3
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
G Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
Tort-E JavaFX Fenster nachladen AWT, Swing, JavaFX & SWT 1
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
U Fenster beim Vergörßern immer quadratsich AWT, Swing, JavaFX & SWT 7
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
A Fenster erstellen AWT, Swing, JavaFX & SWT 2
I Swing Beim Fenster das kleine Symbol(ICS) ändern AWT, Swing, JavaFX & SWT 3
K JavaFX Vorschau Bereich/Fenster einer bestehenden Group AWT, Swing, JavaFX & SWT 3
G Scrollbar für das Fenster einfügen AWT, Swing, JavaFX & SWT 3
X Fenster von außen ansprechen AWT, Swing, JavaFX & SWT 7
brunothg Swing JTable -> AUTO_RESIZE_OFF aber das Fenster ausfüllen AWT, Swing, JavaFX & SWT 0

Ähnliche Java Themen

Neue Themen


Oben