Componente immer in Front halten, wie?

Jeykay

Mitglied
Ich schon wieder :-/

Nun wird es haarig. Ich habe folgenden Aufbau einer GUI:

1671714971846.png

Da ist also das S_Panel in das ich per add(Component c) die Panels M und D eingefügt habe. Früh, Mittel und Spät sind Componenten (zur Zeit auch Panels) die ich per add in das M-Panel eingefügt habe. Diese Componenten möchte ich gerne per DragDrop in den Panels M und D hin und her schieben können. Nun bin ich so weit, dass ich zB. Früh anklicken und ziehen kann. Ich lösche es dann einfach aus dem M-Panel und adde es zum S_Panel. Dort kann ich es dann hin und her ziehen. Nur leider habe ich nun das Problem, dass es natürlich hinter den Panels S und D liegt und deswegen beim Ziehen dahinter verschwindet.

Jetzt suche ich eine Funktion die dafür sorgt, dass die Componente "an der Maus" immer im Vordergrund bleibt. Ich habe schon an ein durchsichtiges Panel gedacht, das ich ganz nach oben lege und dann die Componente "an der Maus" dort adde. Aber ich bekomme iwie das Panel nicht durchsichtig. Drag'n'Drop, geht das mit ganzen Componenten oder nur mit dem Inhalt dieser? Jetzt mache ich mich mal auf die Suche nach einer Funktion die anzeigt welche Componenten vor einer Componente liegen. Aber vielleicht gibt es da ja eine einfach Lösung, die ich einfach nur nicht finde.

Danke
Jan
 

KonradN

Super-Moderator
Mitarbeiter
Vermutlich suchst Du nach:
Moves the specified component to the specified z-order index in the container. The z-order determines the order that components are painted; the component with the highest z-order paints first and the component with the lowest z-order paints last. Where components overlap, the component with the lower z-order paints over the component with the higher z-order.
Über die Z-Order kannst Du festlegen, was sozusagen vorne ist.
 

Jeykay

Mitglied
Mit der z-order habe ich immer einen Fehler mit illegaler Position bekommen.

Aber kurz nach dem ich das gepostet habe bin ich über das JLayeredPane() gestolpert und habe jetzt damit gelöst, dass die Component über allem gezeichnet wird. Nun muss ich nur noch schauen über welcher Component die Maustaste losgelassen wurde damit ich weiss über welchem Panel ich die Component "abgeworfen" habe.
 

Neumi5694

Top Contributor
Du realisierst Drag & Drop über das Neupositionieren der Komponente???
Nutz doch den nativen Drag & Drop support.

ps: Du kannst dir die Abbildung der Komponente in eine Image kopieren und dieses als Mauszeiger nutzen, falls dir das gefällt.
 

Jeykay

Mitglied
Du realisierst Drag & Drop über das Neupositionieren der Komponente???
Nutz doch den nativen Drag & Drop support.

Ja. Wobei es mich nicht wundert, dass es Dich wundert :) Dazu muss man meine Geschicht kennen. Ich habe 1987 mal in Basic angefangen zu Programieren. Damals gab es ein paar Variablentypen und ein paar Hände voll an Befehlen. Da hatte man das Problem sich alles selber zusammenprogrammieren zu müssen. Dann habe ich sehr lange nichts gemacht. 2010 habe ich dann mal in C# ein umfangreicheres Spiel angefangen. Das musste ich dann aber leider, aus zeitmangel, abbrechen. Nun bin ich eben dabei Java zu lernen und habe oft noch den Ansatz von Früher alles iwie selber zu programmieren. Aber nicht weil ich das gut finde sondern eher weil ich nicht weiß, dass es dafür schon eine Bibliotheken etc. gibt. Das stelle ich dann immer später fest. Ich habe das Gefühl, dass man mehr auf der Suche danach ist, was es schon gibt, als man dann nachher wirklich programmiert.

Über den Drag & Drop Support bin ich dann auch gestolpert und fange nun an diesen umzusetzen. Leider habe ich viel zu wenig Zeit zum Programmieren.
 

Neumi5694

Top Contributor
Ja. Wobei es mich nicht wundert, dass es Dich wundert :) Dazu muss man meine Geschicht kennen. Ich habe 1987 mal in Basic angefangen
Hab auch mit Basic angefangen (Frael BASIC), 1983. Das ist keine Ausrede!!! :)

Fang bei diesem Projekt vor allem an, gedanklich die angezeigte Darstellung des Fensters und das Fenster selbst (Inhalt mit Funktionalitäten) zu trennen. Klar kann man D&D auch manuell umsetzen, aber dann könntest du z.B. das zu ziehende Element als Mauszeiger nutzen oder eben mit Grafiklayern arbeiten. Das Fenster selbst wird ausschließlich nach erfolgreichem Beenden des Vorgangs geändert.

Der D&D Support wirkt anfangs etwas sehr komisch formuliert, da gibt's so was wie "Flavours". Die Programmierer hatten wohl Sinn für Humor.
Es ist am Ende aber weniger kompliziert als man glaubt, das Ding kann halt nur so viel mehr als man braucht, dass man erst mal filtern muss.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Developer_X Componente werden nicht angezeigt, Java Basics - Anfänger-Themen 10
Developer_X Componente werden manchmal nicht angezeigt. Java Basics - Anfänger-Themen 8
G Herausfinden, welche Componente als LETZTES focus hatte Java Basics - Anfänger-Themen 2
G Alle Componente eines JFrame durchlaufen Java Basics - Anfänger-Themen 3
S Rahmen zeichnen, wie heisst diese Componente Java Basics - Anfänger-Themen 6
R Welche Componente (Name)? Java Basics - Anfänger-Themen 2
krgewb Immer dieselbe Zufallszahl Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
F Warum muss ich ein SSL cert immer manuell hinzufügen? Java Basics - Anfänger-Themen 46
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
I Array übernimmt immer den letzten Input. Java Basics - Anfänger-Themen 14
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J Zweck von Interfaces immer noch nicht klar Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
IMain23 2d Array variabler Spaltenwert, Spaltenwert immer um eins erhöhen Java Basics - Anfänger-Themen 3
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
N Arbeitsspeicher nach kompilieren immer voller Java Basics - Anfänger-Themen 6
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
H OOP eine Zahl immer weiter durch 2 teilen Java Basics - Anfänger-Themen 15
B Operatoren Java berechnet immer 0? Java Basics - Anfänger-Themen 3
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
S Variable in JTextField soll immer um 5 zunehmen Java Basics - Anfänger-Themen 8
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
N Immer Aktiv sein. Java Basics - Anfänger-Themen 8
D Array wird immer mir 100 für jeden Wert initialisiert? Java Basics - Anfänger-Themen 2
J Ergebnis immer 0 Java Basics - Anfänger-Themen 8
S If-Anweisunng ist IMMER true Java Basics - Anfänger-Themen 2
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
S UserPref und Java Application klappt immer nicht. Java Basics - Anfänger-Themen 2
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
F String immer weiter nach Bedarf vergrößern Java Basics - Anfänger-Themen 3
X Muss man das immer so schreiben o.O Java Basics - Anfänger-Themen 3
F Timer beendet nicht immer Java Basics - Anfänger-Themen 2
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
P JavaFX Textfelder geben immer null zurück Java Basics - Anfänger-Themen 8
M zufälliges Setzen von Schiffen in while klappt nicht immer Java Basics - Anfänger-Themen 3
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
B Klassen Objekte werden immer überschrieben Java Basics - Anfänger-Themen 10
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
C JavaMail funktioniert nicht immer Java Basics - Anfänger-Themen 8
J .txt Datei "einlesen "und in String speichern ergibt immer NULL Java Basics - Anfänger-Themen 17
M Noch immer Probleme mit exec Java Basics - Anfänger-Themen 15
A Java Arrays immer um eins "vergrößern" Java Basics - Anfänger-Themen 4
E Input/Output Drucken am Mac immer gleiche Schriftgröße?!? Java Basics - Anfänger-Themen 2
R Hashset.add(Array) liefert immer true? Java Basics - Anfänger-Themen 23
I immer die gleiche Zufallszahl Java Basics - Anfänger-Themen 9
F Funktion immer zur vollen Stunde? Java Basics - Anfänger-Themen 3
A Warum immer das "J" im Klassennamen? Java Basics - Anfänger-Themen 10
M Erste Schritte Eclipse führt immer das gleiche Programm aus Java Basics - Anfänger-Themen 6
B Schlüsselworte this - immer oder nur wenn wirklich notwendig? Java Basics - Anfänger-Themen 9
A Wieso wird immer 0 ausgegeben? Java Basics - Anfänger-Themen 4
C 2 Objekte, 1 immer Null? Java Basics - Anfänger-Themen 8
P Classpath falscher Classpath, aber nicht immer Java Basics - Anfänger-Themen 19
E JButtons auf JFrame nicht immer sichtbar Java Basics - Anfänger-Themen 4
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
L Immer diese Arrays Java Basics - Anfänger-Themen 11
M OOP Graphics immer selbstbezihend Java Basics - Anfänger-Themen 12
D . ist nicht immer .!? Java Basics - Anfänger-Themen 18
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
L JTextField getText() gibt immer null zurück Java Basics - Anfänger-Themen 10
J \n funktioniert nicht immer Java Basics - Anfänger-Themen 10
L Woerterbuch liefert immer "null" Java Basics - Anfänger-Themen 41
J Datentypen Math.sqrt() immer NaN Java Basics - Anfänger-Themen 8
T Datei so speichern das sie immer erreichbar ist Java Basics - Anfänger-Themen 2
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
ruutaiokwu final wenn immer möglich verwenden? Java Basics - Anfänger-Themen 30
E Input/Output Datei immer weiter erweitern Java Basics - Anfänger-Themen 4
D Muss ich eigentlich immer auf die Verwendung des richtigen Datentyps achten? Java Basics - Anfänger-Themen 7
B if erzeugt nur immer ein FALSE Java Basics - Anfänger-Themen 2
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
F Midi-Sequenzer gibt immer denselben, schrägen Ton aus? Java Basics - Anfänger-Themen 2
M isHidden() von java.io.File liefert immer true in Windows Java Basics - Anfänger-Themen 3
A Immer wird "gut" ausgegeben Java Basics - Anfänger-Themen 14
G Immer mehr Threads beim Selbstaufruf der main-Methode Java Basics - Anfänger-Themen 3
N immer Setter-Methoden verwenden? Java Basics - Anfänger-Themen 54
M immer noch usedelimiter Java Basics - Anfänger-Themen 4
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
Y JFrame immer im Focus ? Java Basics - Anfänger-Themen 7
N ArrayList wird immer um zwei Elemente erweitert Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben