mehrere JLabel sortieren

D

DanielXY

Gast
Hi,

habe da mal eine Frage. Ich hab in einem JPanel insgesamt 11 JLabel nebeneinander liegen. Möchte gerne die Anordnung der JLabels verändern. Schön wäre es auch wenn der Benutze per Drag&Drop die Anordnung verändern kann?
So erstelle ich die Labels:
Java:
JPanel ThePanel = new JPanel(new GridLayout(1,4));
ThePanel.setSize(985,125);
ThePanel.add(Label1);
ThePanel.add(Label2);
ThePanel.add(Label3);
// ...
ThePanel.add(Label11);
Es werden immer nur 11 JLabels angezeigt.

Hat jemand eine Idee wie ich das am einfachsten anstellen kann? Meine Idee ist es die JLabels mit setLocation zu setzen, aber da muss ich jede Position manuell setzen. Jetzt werden alle JLabels beim hinzufügen schön nebeneinander angezeigt.

Vielen dank für Hilfe :)

MfG Daniel
 

Marco13

Top Contributor
Wie du bei einem GridLayout mit 1x4 auf 11 kommst, ist mir gerade nicht klar, aber... eine Möglichkeit wäre, die Labels zu sortieren, und dann in sortierter Reihenfolge zu einem GridLayout(1,11) hinzuzufügen... Wenn sie nachträglich sortiert werden sollen, kann man sie mit panel.removeAll() entfernen und dann neu hinzufügen. Allerdings ist die Absicht, JLabels sortieren zu wollen, IMHO ziemlich :autsch: seltsam: Vermutlich sollte eher das sortiert werden, was in den Labels angezeigt wird.... Also die Reihenfolge der Labels könnte vermutlich gleich bleiben, und es sollten sich nur ihre Inhalte (Texte) ändern... ?!
 
D

DanielXY

Gast
Hi,

danke für deine Antwort, hat mir schon was geholfen :).
habe beim absenden gesehen dass dort 1,4 steht. Leider nicht beabsichtigt, habe natürlich 1,11. Hintergrund ist, in den JLabels ist eine Zahl enthalten. Die Inhalte werden zufällig erzeugt, d.h. es können solche Labels vorkommen: 2,2,4,4,8,1,12,11,0,9,3. Die Zahlen werden auch angezeigt. Aber halt durcheinander. Wenn der Benutzer nun dieses durcheinander nicht mag möchte ich dem die Möglichkeit geben die Labels zu sortieren. Die Möglichkeit alle aufsteigend zu sortieren kann ich nun lösen wenn ich alle entferne und neu aufsetze, denn nachdem erstellen weiß ich ja welche Labels mit welchen Werten vorhanden sind. Das klingt gut.
Gibts eine Möglichkeit das verschieben eines Labels per Drag&Drop zu machen? Z. B. möchte ein Benutzer das Label mit der 11 nach vorne hinter die 2 schieben?
 

Marco13

Top Contributor
Das mit dem "Drag&Drop" ist nicht so trivial... also, man kann mal schauen ob man den passenden Codeschnipsel dafür findet (müßte ich jetzt aber auch erst Websuchen). Eine Alternative wäre vielleicht(!), eine JList zu verwenden - damit könnte(!) das D&D etwas einfacher sein, weil die die "Grundfunktionalität" dafür schon mitbringt.
 

Michael...

Top Contributor
Die Möglichkeit alle aufsteigend zu sortieren kann ich nun lösen wenn ich alle entferne und neu aufsetze
Ich würde zunächst mal GUI und Daten trennen. Für die Werte würde ich ein Model - basierend auf einer einfachen Liste oder Array - erstellen. Und die Labels zeigen, dann die Werte der einzelnen Positionen der Liste. Die Liste im Model kann man dann relativ einfach sortieren und danach nur die Inhalte der Labels aktualisieren anstelle das ganze Layout umzuwurschtln. Zu D&D kann ich so spontan nichts beitragen.
 
D

DanielXY

Gast
Hi,

danke für eure Antworten.
Die Labels habe ich alle in einer Hashmap, nur diese die angezeigt werden. Der Benutzer kann auch ein Label entfernen/hinzufügen, wie er es gerne möchte. Ich glaube eine Liste ist einfacher zu sortieren las eine Hashmap oder? Außer ich würde die in eine Neue Liste sortiert aufnehmen??

Richtig, ich möchte den Inhalt der Labels sortieren. Allerdings hat jedes Label als Inhalt eine Zahl. Macht es da keinen Sinn die Labels zu sortieren? Oder meinst du mit Inhalt sortieren, dass ich am besten den Inhalt von Label 1-11 verändere und Labels so stehen bleiben wie sie stehen? Das würde funktionieren, aber mit dem D&D bin ich leider noch nicht weiter :(

MfG
Daniel
 

Marco13

Top Contributor
Naja nochmal: JLabels sind GUI-Komponenten. Die verwendet man, um Dinge anzuzeigen, aber nicht um Daten zu speichern. Wenn du diese Zahlen in einer Liste speichern und sortieren willst, dass speichere die Daten in einer List (ArrayList oder so) und sortiere die dann. (Um die dann anzuzeigen, kannst du sie in Labels oder sonstwohin packen, aber die haben nichts mit den Daten zu tun).

Zum DnD: Da wirst du erstmal ein bißchen dazu Lesen oder passende Beispiele suchen müssen (z.B. auf java2s.com), und ggf. konkreter nachfragen.
 
D

DanielXY

Gast
Das ist mir schon klar, dass die JLabels nur zur Anzeige gedacht sind. Es sind ja auch nur ausgaben, die dem Benutzer angezeigt werden. Ich möchte halt nur dem Benutzer ermöglichen selbst zu entscheiden ob er die Lables aufsteigend sortieren möchte, oder selbst eine Sortierreihenfolge wählt. Dazu habe ich die JLabels in einer Hashmap<String, JLabel>, wodurch die erstellt werden. Die Labels werden an einem JPanel angefügt. Dort ist nichts weiter drin als diese 11 Labels. Ich habe leider noch nie etwas mit DnD in JAVA gemacht, hätte gedacht man kann die JLabels innerhalb eines Panels versetzen. Habe natürlich schon im Netz gesucht bevor ich dieses Thema aufgemacht habe, aber ohne Erfolg. Ich such mal weiter. Vielleicht hat ja irgendwo irgendjemand anders schonmal solch ein Problem gehabt :D
 
G

Gelöschtes Mitglied 20545

Gast
Hallo,

ich hab grad nicht die Muße mich da nochmal reinzudenken, aber in folgendem "Projekt" hab ich sowas ähnliches schonmal benutzt. Es ist wohl ziemlich schlampig, aber vielleicht schaffst du es, dir da das entsprechende rauszusuchen.

Die Klassen DragBox.java und BildTH.java sollten für dich interessant sein.

Verlegenen Gruß vom N.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
M effizient mehrere BufferedImage in eines schreiben AWT, Swing, JavaFX & SWT 6
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
M Mehrere JPanel nacheinander?! AWT, Swing, JavaFX & SWT 11
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4
GianaSisters Swing jTable - Feldtext soll mehrere Zeilen haben AWT, Swing, JavaFX & SWT 3
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben