Buttons per Drag & Drop im GridBagLayout verschieben

marting.

Mitglied
Hi
ich möchte gerne erzeugte Buttons innerhalb eines GridBagLayout verschieben können. Diese sollen also vom GridBagLayout automatisch angeordnet werden.
Da ich noch kaum Erfahrung mit GUI's habe und nahezu alle Tutorials mit Drap&Drop und den Layouts/Layout-Managern durchgelesen habe, jedoch sich keins um das verschieben von Buttons beschäftig, stehe ich leider auf dem Schlauch.

Ich hoffe ich finde hier kompetente Hilfe und Antworten zu diesem Thema.

gruß

Martin
 

Michael...

Top Contributor
1. Denke, dass das GridBagLayout (und alle anderen LayoutManager) eher ungeeignet ist.
--> eigenen LayoutMangager schreiben
2. DnD ist ja eigentlich dazu gedacht Elemente aus einer Komponente in eine andere zu verschieben (Zugehörigkeit) und nicht um Kompnonenten innerhalb einer zu verschieben (Position)
--> mit MouseListener selbst implementieren
 
G

Gast2

Gast
2. DnD ist ja eigentlich dazu gedacht Elemente aus einer Komponente in eine andere zu verschieben (Zugehörigkeit) und nicht um Kompnonenten innerhalb einer zu verschieben (Position)
--> mit MouseListener selbst implementieren

Wie kommst du zu Annahme 2? Ich hab auch ein JPanel und darin kann man JComponent(Buchseiten) anordnen und per drag and Drop verschieben, damit man die Seiten anordnen kann wie man will.

Also ich würde ein TransferObjekt machen, dann DragListener und DropListener

Lesson: Drag and Drop and Data Transfer (The Java™ Tutorials > Creating a GUI With JFC/Swing)
Würde erstmal ein einfaches Beispiel zum Einarbeiten nehmen und dann dich deinem Problem nähern...
Komponenten verschieben mit nem LayoutManager ist nicht ganz so einfach, wie oben bereits erwähnt musst du auch eventuell einen eigenen machen.
 

marting.

Mitglied
Wieso meint ihr, dass der GridBagLayout Manager dafür ungeeignet wäre?

Was ist der Grundsätzliche unterschied zwischen MouseListener und DragListener/DropListener?
Gibt es für diese Listener evtl. Vorlagen oder ein gutes Tutorial an das ich mich halten kann?

Bzgl. der weiteren Vorgehensweise würde ich mit Hilfe des MouseListeners bzw. DragListener/DropListener je nach Aktion die Position des jeweiligen Buttons im GridBagLayout übertragen. Ich möchte somit später eine Möglichkeit implementieren diese anordnung der Buttons an den entsprechenden Positionen zu speichern und zu laden. Also eine art Editor um die Position von Buttons fest zu legen und das ganze mit Hilfe von GridBagLayout zu verwalten.
 

Michael...

Top Contributor
Wollte damit eigentlich zum Ausdruck bringen, dass ich DnD zu aufwendig finde (kann mich aber auch täuschen), da die Komponente das Element bereits kennt/besitzt und ich eigentlich nur die Position ändern muss.
 
G

Gast2

Gast
Wollte damit eigentlich zum Ausdruck bringen, dass ich DnD zu aufwendig finde (kann mich aber auch täuschen), da die Komponente das Element bereits kennt/besitzt und ich eigentlich nur die Position ändern muss.

Aso ok =)... Ja aber das schöne an DnD ist halt man die ganzen Actions und die dazugehörigen Icons hat z.B. wenn man etwas in einen "verbotenen" bereich dropen will. Und wie gesagt das 1. mal ist es bestimmt nicht ganz einfach aber wenn man es ein paar mal macht und die Klassen kennt ist es gar nicht so schwer. Und außerdem geht es dann auch recht einfach ein Drag Image zu erstellen, was man bei einem MouselIstener alles selber machen muss.

Bevor du dir über laden und speichern Gedanken machst, mach oben das Tutorial durch und versuch mal einfach ein paar Komponenten hin und her zu schieben und dann kommt der nächste Schritt. Also ich würde mir ein JFrame mit JPanel anlegen und darin mal ein paar Komponenten verschieben und das dann in deinem Projekt umsetzen.

Der grundsätzliche Unterschied ist dass der MouseListener eben MouseEvents handelt und der DragListener drag events und der DropListener drop events ;)... d.h. Bei Drag and Drop Listener kannst du regeln was gedraggt werden kann und wo es gedroppt werden darf usw. Bei MouseListener müsstes du sowas alles selber erarbeiten.
 
Zuletzt bearbeitet von einem Moderator:

marting.

Mitglied
Hi nochmal.
So ich möchte schonmal mitteilen was ich schon geschaft habe und wo ich mir sicherlich noch gedanken machen muss.
Zunächst einmal was ich bis jetzt gemacht habe:

Layout: GridbagLayout
Komponenten: JButtons
Funktionen die ich auf Buttons ausüben kann:
-Button markieren
-Markierte Buttons löschen
- Button mit entsprechender x, y - Koordinate des Gridbaglayouts verschieben (Falls x,y - Koordinate durch einen anderen Button belegt, verschiebe ab dieser Position gesamte Spalte bzw. gesamte Zeile nach unten bzw. rechts um den Button dort zu plazieren)


Was ich noch implementieren möchte:
-graphisches Drag and Drop auf die Buttons

So und da stellt sich jetzt meine Frage. Ich habe mir gedacht ein GlassPaneLayout zu erstellen, welches mein GridBagLayout nutzt um dann darauf graphisch annimiert drag&drop auszuüben.
Sprich:
Button markieren und zb. rechts neben einen Butten ziehen und loslassen (Button wird rechts neben den anderen Button plaziert)

Das Problem was sich jedoch für mich ergibt ist, ich muss irgendwie beim droppen an die x,y - Koordinate aus dem GridBagLayouts dran kommen. Wie mache ich das am sinnvollsten?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
volcanos SpringLayout mit zusätzlichen Buttons außerhalb des SpringLayout AWT, Swing, JavaFX & SWT 33
K Swing Buttons erst blinken lassen und dann abfragen, ob sie gedrückt worden sind AWT, Swing, JavaFX & SWT 2
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
B JavaFX DropDown Menu mit ausführbaren Buttons AWT, Swing, JavaFX & SWT 1
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J TicTacToe Buttons AWT, Swing, JavaFX & SWT 14
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Buttons funtionieren nicht AWT, Swing, JavaFX & SWT 10
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
Neumi5694 Sprache der Standard-Buttons AWT, Swing, JavaFX & SWT 7
Timo_neu_in_java Buttons Erstellen AWT, Swing, JavaFX & SWT 6
H JavaFX TableCell mit Buttons AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
T Buttons auf Tablet viel kleiner als am PC AWT, Swing, JavaFX & SWT 0
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
R 2D-Grafik Buttons mit Slick2D und LWJGL AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
JG12111989 Buttons funktionieren nicht AWT, Swing, JavaFX & SWT 4
A Swing Buttons werden trotz setVisible nicht dargestellt AWT, Swing, JavaFX & SWT 14
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
I JavaFX Buttons und TableView AWT, Swing, JavaFX & SWT 2
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
D Buttons werden nebeneinander angeordnet AWT, Swing, JavaFX & SWT 9
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
D JavaFX Dynamisch erzeugte Buttons sollen Code ausführen. AWT, Swing, JavaFX & SWT 2
D Buttons erscheinen nicht auf Frame AWT, Swing, JavaFX & SWT 2
M 4-Gewinnt mit Buttons AWT, Swing, JavaFX & SWT 1
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
wolfgang63 JavaFX Transparenter Hintergrund aber sichtbare Buttons AWT, Swing, JavaFX & SWT 6
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
R Swing Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
P Buttons/Labels auf GUI positionieren AWT, Swing, JavaFX & SWT 2
X Swing setContentPane verdeckt mir alle Buttons Labels etc... AWT, Swing, JavaFX & SWT 14
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
U Buttons schräg implementieren AWT, Swing, JavaFX & SWT 4
X buttons aus externe klasse lesen? AWT, Swing, JavaFX & SWT 3
V Buttons sehen immer "active" aus AWT, Swing, JavaFX & SWT 6
K Event Handling 2 Buttons und Thread stop AWT, Swing, JavaFX & SWT 3
D Buttons erscheinen nicht auf dem zweiten Frame AWT, Swing, JavaFX & SWT 4
D Wie kann ich Buttons und Labels besser anordnen AWT, Swing, JavaFX & SWT 4
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
M Menü mit Buttons AWT, Swing, JavaFX & SWT 8
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
U Swing Buttons generieren AWT, Swing, JavaFX & SWT 19
G Swing Buttons in Layouts frei platzieren AWT, Swing, JavaFX & SWT 7
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
B Buttons auf JLabel? AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Verschiebbare "Buttons" in einer Tabelle AWT, Swing, JavaFX & SWT 3
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
dzim Toolbar - Problem bei enable/disable von Buttons AWT, Swing, JavaFX & SWT 6
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
F Grafik mit Buttons versehen AWT, Swing, JavaFX & SWT 8
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
K Schachbrett mit buttons AWT, Swing, JavaFX & SWT 2
B Buttons entfernen / hinzufügen AWT, Swing, JavaFX & SWT 5
TheWhiteShadow Swing Buttons in Liste AWT, Swing, JavaFX & SWT 7
C AWT Buttons verschwinden, wenn Fenster Vollbild gesetzt wird AWT, Swing, JavaFX & SWT 38
C AWT Verwendung von Buttons in Spielen AWT, Swing, JavaFX & SWT 8
M Swing Focus für Buttons deaktiviert --> keine Reaktion mehr auf Tastendrücke AWT, Swing, JavaFX & SWT 5
E Calendar GUI Buttons AWT, Swing, JavaFX & SWT 4
M 2 Buttons mit derselben Breite AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben