JavaFX RadioButton.setText()

Kenta1561

Bekanntes Mitglied
Hallo,

ich habe neulich angefangen, mit JavaFX zu arbeiten.

Hier mein kleines Testprogramm:
Java:
package main;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.RadioButton;
import javafx.stage.Stage;
import javax.swing.*;

public class Main extends Application {

    public RadioButton radioButton;

    @Override
    public void start(Stage primaryStage) {
        Parent root = null;
        try {
            root = FXMLLoader.load(getClass().getResource("Main.fxml"));
        } catch(Exception e) {
            e.printStackTrace();
        }

        String input = JOptionPane.showInputDialog("Enter something.");

        radioButton = new RadioButton();
        radioButton.setText(input);

        Scene scene = new Scene(root,300,200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

Und hier meine Main.fxml Datei:
XML:
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>


<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="248.0" prefWidth="366.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.Main"/>
   <children>
      <RadioButton layoutX="140.0" layoutY="116.0" mnemonicParsing="false" fx:id="radioButton"/>
   </children>
</Pane>

Mein Problem ist, dass der Text vom RadioButton mit setText() nicht verändert wird.
Kann mir jemand erklären wie ich den Text ändern kann?

LG
Kenta1561
 

Joose

Top Contributor
Im FXML hast du schon einen RadioButton erstellt. In der "start" Methode erstellst du einen komplett neuen, dieser wird aber nicht auf der Oberfläche angezeigt. Daher siehst du auch keine Änderung
 

Kenta1561

Bekanntes Mitglied
@Joose
Danke für die Antwort.
Wenn du mit
In der "start" Methode erstellst du einen komplett neuen
meinst, dass ich
Java:
radioButton = new RadioButton();
geschrieben habe:
Ich habe die Zeile entfernt und jetzt kommt das:
Java:
"C:\Program Files\Java\jdk1.8.0_91\bin\java" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;C:\Users\kenta\IdeaProjects\Other projects\Test\out\production\Test;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain main.Main
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at main.Main.start(Main.java:26)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    ... 1 more

LG
Kenta1561
 

Kenta1561

Bekanntes Mitglied
@thet1983
Klappt immer noch nicht:
Java:
package main;

import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.RadioButton;
import javafx.stage.Stage;
import java.io.IOException;

public class Main extends Application {

    @FXML
    private RadioButton rb;

    @Override
    public void start(Stage primaryStage) {

        Parent root = null;
        try {
            root = FXMLLoader.load(getClass().getResource("Main.fxml"));
        } catch (IOException e) {
            e.printStackTrace();
        }

        rb.setText("Hallo!");

        Scene scene = new Scene(root,300,200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

FXML:
XML:
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>


<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="248.0" prefWidth="366.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.Main">
   <children>
      <RadioButton layoutX="140.0" layoutY="116.0" mnemonicParsing="false" fx:id="rb"/>
   </children>
</Pane>

Fehlermeldung:
Java:
"C:\Program Files\Java\jdk1.8.0_91\bin\java" -Didea.launcher.port=7535 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;C:\Users\kenta\IdeaProjects\Other projects\Test\out\production\Test;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain main.Main
Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at main.Main.start(Main.java:27)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    ... 1 more

Process finished with exit code 1


LG
Kenta1561
 

thet1983

Top Contributor
wenn die fxml geladen wird ( FXMLLoader.load(...) dann wird automatisch der controller geladen...
also du benötigst einen controller.
--> bin mir aber nicht 100%ig sicher <--

oder du machst es ohne eine fxml datei.
Java:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.RadioButton;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
* SiCuSoft
* @author Thomas Etzelsdorfer
*/
public class Fenster extends Application {
  
    @Override
    public void start(Stage primaryStage) {
      
        RadioButton btn = new RadioButton();
        btn.setText("Hallo..");
      
        StackPane root = new StackPane();
        root.getChildren().add(btn);
      
        Scene scene = new Scene(root, 300, 250);
      
        primaryStage.setTitle("RadioButton");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    // MAIN
    public static void main(String[] args) {
        launch(Fenster.class);
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Zufallsgenerator starten bei Klick auf Radiobutton AWT, Swing, JavaFX & SWT 3
V RadioButton aktivieren/deaktivieren; Zustand abfragen und wechseln AWT, Swing, JavaFX & SWT 2
J RadioButton-Gruppe in Kombination mit einem Button AWT, Swing, JavaFX & SWT 6
N gewünschte ActionListener bei RadioButton mit isSelected geht nicht AWT, Swing, JavaFX & SWT 2
R JMenuItems mit Radiobutton/Haken AWT, Swing, JavaFX & SWT 2
U Radiobutton als nicht angeklickt makieren AWT, Swing, JavaFX & SWT 2
N JTable RadioButton statt Checkbox AWT, Swing, JavaFX & SWT 4
G Radiobutton checked ? AWT, Swing, JavaFX & SWT 4
G RadioButton AWT, Swing, JavaFX & SWT 1
N SWT: Frage zu Radiobutton setSelection() AWT, Swing, JavaFX & SWT 2
D RadioButton abstand entfernen AWT, Swing, JavaFX & SWT 2
C RadioButton nicht änderbar stellen, ohne das Sie grau wird AWT, Swing, JavaFX & SWT 9
D RadioButton in einer Tabelle einfügen AWT, Swing, JavaFX & SWT 3
A zurücksetzen Radiobutton AWT, Swing, JavaFX & SWT 3
M Über RadioButton öffnen? AWT, Swing, JavaFX & SWT 9
C Radiobutton-Bezeichnung mit Eingabefeld AWT, Swing, JavaFX & SWT 2
W JEditorPane textausrichtung nach settext funktioniert nicht mehr AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
C JavaFX mit .setText() befülltes Textfield liefert anschließend mit .getText() den ursprünglichen Wert? AWT, Swing, JavaFX & SWT 1
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
J Swing JTextpane aktuallisiert nicht den setText? AWT, Swing, JavaFX & SWT 9
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
Z Window Builder - Labels mit setText befüllen AWT, Swing, JavaFX & SWT 11
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
C JTextPane scrollt mit setText() immer nach oben AWT, Swing, JavaFX & SWT 2
A Textfeld.append/.setText ohne Funktion AWT, Swing, JavaFX & SWT 2
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
A editable JTextField & setText AWT, Swing, JavaFX & SWT 2
A Minimalestopuhr: JLabel.setText() durch eigenes Event ändern AWT, Swing, JavaFX & SWT 6
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
J Swing JTextField reagiert nicht auf .setText(); AWT, Swing, JavaFX & SWT 24
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
G Menü verschwindet durch .setText() AWT, Swing, JavaFX & SWT 4
C Swing TableCellRenderer: setText() vs. setIcon() AWT, Swing, JavaFX & SWT 5
T Swing setText()-Methode Funktioniert nicht AWT, Swing, JavaFX & SWT 7
L JLabel Methode setText funktioniert nicht AWT, Swing, JavaFX & SWT 5
E JTextPane setText ignoriert \n AWT, Swing, JavaFX & SWT 6
A Swing JFrame vergrößert sich immer bei setText() eines Labels AWT, Swing, JavaFX & SWT 3
S Swing JLabel.setText und Multithreads AWT, Swing, JavaFX & SWT 5
B AWT Problem bei setText() AWT, Swing, JavaFX & SWT 5
S [Button] setText("String") AWT, Swing, JavaFX & SWT 5
E Swing JLabel ändert seine Position nach setText AWT, Swing, JavaFX & SWT 2
S Swing jTextPaine kein Zeilenumbruch nach setText() AWT, Swing, JavaFX & SWT 9
L JLabel.setText() AWT, Swing, JavaFX & SWT 8
T Von JMenuItem setText auf JButton AWT, Swing, JavaFX & SWT 2
T JLabel.setText() funktioniert erst nach repaint() etc.? AWT, Swing, JavaFX & SWT 4
B setText() auf TextField mit Document AWT, Swing, JavaFX & SWT 2
X JTextArea Text ausgeben mit setText(a) aber wie? AWT, Swing, JavaFX & SWT 3
G Methode setText AWT, Swing, JavaFX & SWT 4
B Label mit setText geschriebener Text wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
Z Die ausgabe.setText(b.getisbn()); überschreibt sich jedesmal AWT, Swing, JavaFX & SWT 4
M JLabel und setText(); AWT, Swing, JavaFX & SWT 4
Z jLabel.setText("Name: " + x.getName()); --> AWT, Swing, JavaFX & SWT 6
P Fehlerhafte Darstellung bei JLabel.setText AWT, Swing, JavaFX & SWT 2
V Null Pointer Exception bei JTextField setText AWT, Swing, JavaFX & SWT 25
D setText? AWT, Swing, JavaFX & SWT 4
M x.setText("") auf JLabel AWT, Swing, JavaFX & SWT 18
S JEditorPane setText() Problem mit String übergeben AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben