JavaFX CheckBoxen in GUI verschieben

User089

Mitglied
Hallo,

ich habe vier CheckBoxen in einem Array erstellt und möchte gerne, dass die CheckBoxen nach dem anklicken automatisch ganz nach unten in der GUI verschoben werden. Hier mein Code.
Danke schon mal!

package application;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.layout.VBox;


public class Main extends Application {

int i;

@Override
public void start(Stage primaryStage) {
try {
VBox root = new VBox();
String[] name = {"1", "2", "3", "4"};
CheckBox[] cb = new CheckBox[name.length];
for(i = 0; i < name.length; i++) {
cb = new CheckBox(name);
}

cb[i-1].setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent event) {
if(cb.isSelected()) {
cb[cb.length] = cb;
}
}
});
root.getChildren().addAll(cb);

Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();

} catch(Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
launch(args);
}
}
 
G

Gelöschtes Mitglied 65838

Gast
ich versteh nicht wo die hin wandern sollten mach vllt ne zeichnung und poste code im chat wenn du beim chat </> symbol anklickst
 

User089

Mitglied
Die CheckBox 1 die ganz oben in der GUI ist soll wenn sie angeklickt wird an Position 4 und die anderen nach oben rutschen.
Ursprünglich:
1
2
3
4

Danach:
4
1
2
3
 

User089

Mitglied
Hier nochmal der Code.


Java:
package application;
    
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.layout.VBox;


public class Main extends Application {
    
    int i;
    
    @Override
    public void start(Stage primaryStage) {
        try {
            VBox root = new VBox();
            String[] name = {"1", "2", "3", "4"};
            CheckBox[] cb = new CheckBox[name.length];
            for(i = 0; i < name.length; i++) {
                cb[i] = new CheckBox(name[i]);
            }
            
            cb[i-1].setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent event) {
                    if(cb[i].isSelected()) {
                        cb[cb.length] = cb[i];
                    }
                }
            });
            root.getChildren().addAll(cb);
            
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
            
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
 
G

Gelöschtes Mitglied 65838

Gast
Java:
if(isSelected())vbox.getChildren.remove(selected);
vbox.getChildren.add(selectedBox())
 

User089

Mitglied
Irgendwie funktioniert das mit diesem Code nicht. Hat jemand eine andere Idee?
Kann ich eigentlich mit dieser Zeile in meinem Code "cb[i-1].setOnAction(new EventHandler<ActionEvent>()" auf alle CheckBoxen zugreifen, wenn sie angeklickt werden?
 

mihe7

Top Contributor
Java:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.layout.VBox;


public class Main extends Application {
    
    int i;
    
    @Override
    public void start(Stage primaryStage) {
        try {
            VBox root = new VBox();
            String[] name = {"1", "2", "3", "4"};
            CheckBox[] cb = new CheckBox[name.length];
            for(i = 0; i < name.length; i++) {
                cb[i] = new CheckBox(name[i]);
                root.getChildren().add(cb[i]);
            
                cb[i].setOnAction(new EventHandler<ActionEvent>() {

                    @Override
                    public void handle(ActionEvent event) {
                        CheckBox cb = (CheckBox) event.getSource();
                        if(cb.isSelected()) {
                            root.getChildren().remove(cb);
                            root.getChildren().add(cb);
                        }
                    }
                });

            }
            
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
            
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
 
G

Gelöschtes Mitglied 65838

Gast
warum diskutiert immer jeder.. wenn ich keine Ahnung hätte würde ich es ja nicht schreiben ... dann kommt ein "dein ding geht nicht" ... ich werd wohl kaum mit absicht was falsches sagen

dass man noch ein fünferl selbst einbringen muss und vllt mal ausprobiert und vllt der fremde im internet doch recht hat ...
 

Neumi5694

Top Contributor
Ich würde nie für mich in Anspruch nehmen, dass der Code, den ich hier poste, immer das macht, was er soll, ich mache schließlich auch Fehler.
Aber ich erwarte mir als Rückmeldung mehr als "geht nicht". Das erweckt den Eindruck, als hätte sich derjenige überhaupt nicht damit beschäftigt, sondern einfach nur copy/paste angewendet.
 

uuu3uuu

Aktives Mitglied
@Neumi5694 was willst du denn großartiges erwarten, wenn Code einfach so mühelos hin geklatscht wird ohne mal Code-Tags zu benutzen? Das zeigt doch schon, dass sich der TE in keinster Weise Mühe gibt.
 

User089

Mitglied
Sorry, ich wollte niemanden kritisieren. Ich habe durchaus einiges versucht aber da ich Anfänger bin, bin ich nicht auf diese Zeile Code gekommen "CheckBox cb = (CheckBox) event.getSource();". Danke trotzdem.
 

Neumi5694

Top Contributor
Sorry, ich wollte niemanden kritisieren. Ich habe durchaus einiges versucht aber da ich Anfänger bin, bin ich nicht auf diese Zeile Code gekommen "CheckBox cb = (CheckBox) event.getSource();". Danke trotzdem.
Alles gut, solche Diskussionen passieren hier immer wieder. Wir schweifen gern vom Thema ab.
Es ist aber immer gut, wenn du sagst, was nicht funktioniert und eventuell dann auch zeigst, was du probiert hast.

Bei "Es gab einen Fehler/eine Exception" fällt mir immer wieder die Begründung für gewisse Plots in Filmen ein: "This happens because of reasons".
 
G

Gelöschtes Mitglied 65838

Gast
was man vllt noch anmerken kann ist dass dieses vorgehen vllt zu motion sickness führen kann

motion sickness ist ansich am computer oder bildschirm wird was dargestellt wovon unser gehirn nicht davon ausgeht

zb du machst ein VR game und du bist auf dem kopf aber der raum nicht => du wirst im strahl kotzen weils dein gehirn nicht verträgt

die liste wird sich sofort veärndern weil javafx schnell ist => könnte sein dass das der kopf nicht verträgt

würdest du 2 vboxen haben und diese in einen kasten tun und je nach selektion in die kasten platzieren wäre es für den kopf verständlicher => Benutzer sind wichtig bei anwendungen


nur so nebenbei erwähnt
 

User089

Mitglied
Danke für die Info 👍. Ich versuche eine Einkaufslisten-Anwendung nachzubauen, in der die ausgewählten Artikel in der Liste nach unten rutschen.
 
G

Gelöschtes Mitglied 65838

Gast
dann mach 2 boxen mit drag and dropp vllt.. das tauschen verwirrt => verwirrung macht kopfweh
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JavaFX Dynamisch erzeugte Checkboxen aus VBox auslesen AWT, Swing, JavaFX & SWT 3
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
D Seltsames Verhalten meiner CheckBoxen AWT, Swing, JavaFX & SWT 7
S Swing Checkboxen in Einträgen des Typs DefaultMutableTreeNode AWT, Swing, JavaFX & SWT 23
M Swing CheckBoxen werden nicht in jTable angezeigt AWT, Swing, JavaFX & SWT 3
S AWT Erstellen von Checkboxen AWT, Swing, JavaFX & SWT 33
M Checkboxen Namen setzten über Parameter => Abfragen? AWT, Swing, JavaFX & SWT 2
F checkboxen auslesen/ansprechen AWT, Swing, JavaFX & SWT 1
X Checkboxen erstellt mit MouseClicked event AWT, Swing, JavaFX & SWT 10
J Hintergrundfarbe von CheckBoxen in einer JTable AWT, Swing, JavaFX & SWT 4
T JTree mit Checkboxen anpassen AWT, Swing, JavaFX & SWT 7
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
S swt table mit checkboxen: wie nachträglich im code setzen? AWT, Swing, JavaFX & SWT 6
D Mehrere CheckBoxen im TableModel wechselseitig ausschließen AWT, Swing, JavaFX & SWT 5
G Namen mehrer Checkboxen abfragen AWT, Swing, JavaFX & SWT 7
F Checkboxen in JTable abfragen AWT, Swing, JavaFX & SWT 2
M@rk Jtree Checkboxen AWT, Swing, JavaFX & SWT 2
G JTree mit Checkboxen und Problem mit isSelected() AWT, Swing, JavaFX & SWT 2
G Aktionen bei Checkboxen AWT, Swing, JavaFX & SWT 2
R Checkboxen plazieren AWT, Swing, JavaFX & SWT 3
M JList mit checkboxen AWT, Swing, JavaFX & SWT 2
O Dynamische Checkboxen AWT, Swing, JavaFX & SWT 21
TheJavaKid .isSelected() bei AWT Checkboxen? AWT, Swing, JavaFX & SWT 2
F Checkboxen eines anderen Panels ansprechen AWT, Swing, JavaFX & SWT 3
C Checkboxen bzw. CheckboxGroup AWT, Swing, JavaFX & SWT 3
T Checkboxen layouten AWT, Swing, JavaFX & SWT 20
A JavaFX JavaFX images per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 1
O Swing Icon verschwindet beim Verschieben eines JLabels AWT, Swing, JavaFX & SWT 8
Redeason Objekte in meiner GUI verschieben AWT, Swing, JavaFX & SWT 1
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
frager2345 JTextLabel im Flowlayout verschieben AWT, Swing, JavaFX & SWT 4
M Polygon per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 26
F Popup Menu etwas verschieben AWT, Swing, JavaFX & SWT 2
K JavaFX Element in HBOX nach rechts verschieben AWT, Swing, JavaFX & SWT 2
J Button lässt sich nicht auf dem JPanel verschieben AWT, Swing, JavaFX & SWT 5
M Swing JPanel flüssig verschieben AWT, Swing, JavaFX & SWT 5
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
B JavaFX Viewport verschieben AWT, Swing, JavaFX & SWT 3
C LayoutManager Bei verkleinern des Fensters, verschieben sich JPanels übereinander. AWT, Swing, JavaFX & SWT 7
C Swing Geschachteltes GUI mit BorderLayout - Vertikal & horizontal Verschieben AWT, Swing, JavaFX & SWT 1
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
Y Titel Verschieben AWT, Swing, JavaFX & SWT 11
Z Bildervorschau, MouseDragged das Bild verschieben AWT, Swing, JavaFX & SWT 1
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
R Swing Elemente verschieben sich im GBL beim Ein/Ausblenden AWT, Swing, JavaFX & SWT 0
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
Z Plot nach links verschieben!! AWT, Swing, JavaFX & SWT 1
M 3D-Grafik Denkfehler bei Verschieben von Shapes AWT, Swing, JavaFX & SWT 0
T JLabel Nullpunkt verschieben AWT, Swing, JavaFX & SWT 6
K JavaFX Spalten der Tabellen verschieben AWT, Swing, JavaFX & SWT 2
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
L JFrame von der Taskleiste zu den ausgeblendeten Symbolen verschieben AWT, Swing, JavaFX & SWT 2
O Swing Spalten-Position nach verschieben AWT, Swing, JavaFX & SWT 6
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
L Componenten im JFrame an genaue stelle verschieben. AWT, Swing, JavaFX & SWT 2
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
A JLabel verschieben AWT, Swing, JavaFX & SWT 9
bluerob JComponenten verschieben sich bei Fenster wechseln AWT, Swing, JavaFX & SWT 3
J jFrame verschieben verhindern AWT, Swing, JavaFX & SWT 4
H Bild mit KeyListener verschieben AWT, Swing, JavaFX & SWT 2
R JTextField Eingabefeld innerhalb verschieben AWT, Swing, JavaFX & SWT 2
P Rectangle verschieben AWT, Swing, JavaFX & SWT 11
C Bild auf Panel vergrößern und verschieben AWT, Swing, JavaFX & SWT 4
P Objekte anzeigen und verschieben - wie? AWT, Swing, JavaFX & SWT 6
H LayoutManager Panel verschieben sich AWT, Swing, JavaFX & SWT 5
B Element schrittweise verschieben AWT, Swing, JavaFX & SWT 2
G Swing JPanel per Maus verschieben AWT, Swing, JavaFX & SWT 5
K Button verschieben AWT, Swing, JavaFX & SWT 4
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
V Swing JScrollPane Viewport verschieben AWT, Swing, JavaFX & SWT 2
propra Objekte auf Zeichenfläche verschieben AWT, Swing, JavaFX & SWT 2
P Swing JTable null values an das Ende verschieben AWT, Swing, JavaFX & SWT 2
M verschieben der Objekte in JPanel nur stückchenweise möglich AWT, Swing, JavaFX & SWT 14
B FlowLayout Buttons verschieben? AWT, Swing, JavaFX & SWT 13
K JButtons innerhalb eines JPanels verschieben (DRAG&DROP) AWT, Swing, JavaFX & SWT 5
R Swing Verschieben eines jButtons mittels MouseDragged AWT, Swing, JavaFX & SWT 4
Z 2D-Grafik Bild auf JPanel verschieben AWT, Swing, JavaFX & SWT 4
D Grafik über JPanels hinweg verschieben AWT, Swing, JavaFX & SWT 2
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Swing AbstractTableModel rows verschieben AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Shapes auf Zeichenfläche gleichmäßig verschieben AWT, Swing, JavaFX & SWT 5
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
E Swing Rechteck und Kreise verschieben AWT, Swing, JavaFX & SWT 3
N verschieben von Dateien auf der Festplatte über TreePaths funktioniert nicht AWT, Swing, JavaFX & SWT 10
F Swing Objekte mit Maus verschieben AWT, Swing, JavaFX & SWT 8
E Swing Drag n Drop Verschieben von Labels o.ä. AWT, Swing, JavaFX & SWT 10
K Swing Elemente auf Zeichenfeld verschieben AWT, Swing, JavaFX & SWT 8
C Drag and Drop JPanel auf JPanel nach drop erneut verschieben? AWT, Swing, JavaFX & SWT 3
B JLabel mittels Timer und setLocation verschieben AWT, Swing, JavaFX & SWT 3
M Buttons per Drag & Drop im GridBagLayout verschieben AWT, Swing, JavaFX & SWT 6
C paintComponent mit Maus verschieben - wie? AWT, Swing, JavaFX & SWT 2
T Swing JComboBox: Listeneinträge mit der Maus verschieben AWT, Swing, JavaFX & SWT 5
J showMessageDialog nicht über frame verschieben AWT, Swing, JavaFX & SWT 6
R Bereiche auf Panel verschieben AWT, Swing, JavaFX & SWT 2
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
D Swing Spaltenköpfe verschieben sich nicht mit, wenn man an horizontaler Scrollbar zieht AWT, Swing, JavaFX & SWT 9
R Swing Frame verschieben AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben