Fxbefehle aus Main umwandeln in @FXML

Trjavnamen

Bekanntes Mitglied
Ich habe aus einem Tutorial diesesn Code
Code:
package ccc;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
/*from  w w  w. j a  va 2 s .  co m*/
public class Main extends Application {

  @Override
  public void start(Stage primaryStage) {
    BorderPane root = new BorderPane();
    Scene scene = new Scene(root, 400, 250, Color.WHITE);

    GridPane gridpane = new GridPane();
    gridpane.setPadding(new Insets(5));
    gridpane.setHgap(10);
    gridpane.setVgap(10);
    ColumnConstraints column1 = new ColumnConstraints(150, 150,
        Double.MAX_VALUE);
    ColumnConstraints column2 = new ColumnConstraints(50);
    ColumnConstraints column3 = new ColumnConstraints(150, 150,
        Double.MAX_VALUE);
    column1.setHgrow(Priority.ALWAYS);
    column3.setHgrow(Priority.ALWAYS);
    gridpane.getColumnConstraints().addAll(column1, column2, column3);

  
  //canditates
    final ObservableList<String> candidates = FXCollections
        .observableArrayList("Z", "A", "B", "C", "D");
    final ListView<String> candidatesListView = new ListView<>(candidates);
    gridpane.add(candidatesListView, 0, 1);

    final ObservableList<String> selected = FXCollections.observableArrayList();
    final ListView<String> heroListView = new ListView<>(selected);
    gridpane.add(heroListView, 2, 1);

    Button sendRightButton = new Button(" > ");
    sendRightButton.setOnAction((ActionEvent event) -> {
      String potential = candidatesListView.getSelectionModel()
          .getSelectedItem();
      if (potential != null) {
        candidatesListView.getSelectionModel().clearSelection();
        candidates.remove(potential);
        selected.add(potential);
      }
    });

    Button sendLeftButton = new Button(" < ");
    sendLeftButton.setOnAction((ActionEvent event) -> {
      String s = heroListView.getSelectionModel().getSelectedItem();
      if (s != null) {
        heroListView.getSelectionModel().clearSelection();
        selected.remove(s);
        candidates.add(s);
      }
    });
    VBox vbox = new VBox(5);
    vbox.getChildren().addAll(sendRightButton, sendLeftButton);

    gridpane.add(vbox, 1, 1);
    root.setCenter(gridpane);

    GridPane.setVgrow(root, Priority.ALWAYS);
    primaryStage.setScene(scene);
    primaryStage.show();
  }
  public static void main(String[] args) {
    launch(args);
  }
}
es laüft als Einzelanwendung. Ich fände es nun schick es in einem meiner Projekte einzufügen. Meine Projekte sind aber wohl der seltenen Sorte.
Java:
package application5;

import java.io.IOException;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;





public class Main extends Application {
    
private Stage primaryStage;

public void start(Stage primaryStage){
        this.primaryStage =primaryStage;
        mainWindow();
    }
    public void mainWindow(){
    
        try{
    
    FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml"));
    AnchorPane pane =loader.load();   
    primaryStage.setMinHeight(400.00);
    primaryStage.setMinWidth(400.00);
    
    MainWindowController mainWindowController = loader.getController();
    mainWindowController.setMain(this);
    Scene scene=new Scene(pane);
    primaryStage.setScene(scene);
    primaryStage.show();



  
 

    
    
    

       }
Java:
package application5;


import java.io.BufferedWriter;
             import java.io.FileWriter;
             import java.io.IOException;
             import java.io.PrintWriter;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;



public class MainWindowController {
    
    public Main main;
    public void setMain(Main main){
        this.main =main;}
    @FXML
    private GridPane gridpane;
      @FXML
        private Label selected;       
      
      @FXML
        private Label Canditates;


            
            @FXML
            private Button sendLeftButton;

            @FXML
            private Button sendRightButton;
            @FXML
            private ListView  heroListView;
            

            @FXML
            private ListView candidatesListView;

            @FXML
        private TextArea lesenText;

        @FXML
        private TextArea schreibenText;

        @FXML
        private Button lesebut;

        @FXML
        private Button schreibbut;


        @FXML
        private Label label;

        @FXML
        private Button speichbut;   
      
      
        @FXML
        private ListView myliste;
        
        
      
        @FXML
        void actButLeft(ActionEvent event){
      
   }

        @FXML
        void actButRight(ActionEvent event) {
                
        }
          
        @FXML
        void kk1(ActionEvent event) {
            
        }

        @FXML
        void kk2(ActionEvent event) {

        }


        @FXML
        void LeseBut(ActionEvent event) {
       }
        @FXML
        void OnMouseclicketlist(ActionEvent  event ){
            myliste.getOnMouseClicked();
            System.out.println(schreibenText);
            
        
        }
        @FXML
        void SpeichBut(ActionEvent event) throws java.io.FileNotFoundException {
     String dateiText =schreibenText.getText();//die TextArea id für die Eingabe nennt sich schreibenText
             lesenText.appendText(dateiText);//derButton Speicherbut löst das lesed aus schreibtext aus und überträgt nach Textarea LesenText
             PrintWriter pWriter = null;
             try {System.out.println ("geklickt");
                    pWriter = new PrintWriter(new BufferedWriter(new FileWriter("\\C:\\test.txt")));
                    pWriter.println(dateiText);// das zuletzt ausgelesene dateiText wird in die Datei test.txt geschrieben
                } catch (IOException ioe) {
                    ioe.printStackTrace();
                } finally {
                    if (pWriter != null){
                        pWriter.flush();
                        pWriter.close();
                    }
                }
            }
      
@FXML
        void SchreiBut(ActionEvent event) {
            
            
            System.out.print("bot gedrückt");
            
            String leo = lesenText.getText();
            schreibenText.appendText(leo);
            
    
    }}
Code:
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane cache="true" cacheHint="QUALITY" prefHeight="617.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application5.MainWindowController">
  <!-- TODO Add Nodes -->
  <children>
      <HBox prefHeight="584.0" prefWidth="692.0">
         <children>
            <VBox prefHeight="584.0" prefWidth="398.0">
               <children>
                  <GridPane fx:id="gridpane" prefHeight="584.0" prefWidth="5.0" VBox.vgrow="ALWAYS">
                    <columnConstraints>
                      <ColumnConstraints hgrow="SOMETIMES" maxWidth="198.0" minWidth="10.0" prefWidth="183.0" />
                      <ColumnConstraints hgrow="SOMETIMES" maxWidth="140.0" minWidth="10.0" prefWidth="36.0" />
                        <ColumnConstraints hgrow="SOMETIMES" maxWidth="196.0" minWidth="10.0" prefWidth="179.0" />
                    </columnConstraints>
                    <rowConstraints>
                      <RowConstraints maxHeight="190.0" minHeight="0.0" prefHeight="0.0" vgrow="SOMETIMES" />
                      <RowConstraints maxHeight="390.0" minHeight="10.0" prefHeight="390.0" vgrow="SOMETIMES" />
                      <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
                    </rowConstraints>
                     <children>
                        <VBox prefHeight="200.0" prefWidth="100.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
                           <children>
                              <Button fx:id="sendLeftButton" mnemonicParsing="false" onAction="#actButLeft" text="&lt;" />
                              <Button fx:id="sendRightButton" mnemonicParsing="false" onAction="#actButRight" text="&gt;">
                                 <VBox.margin>
                                    <Insets top="20.0" />
                                 </VBox.margin>
                              </Button>
                           </children>
                        </VBox>
                        <Label fx:id="canditates" text="Canditates" />
                        <Label fx:id="selected" text="selected" GridPane.columnIndex="2" />
                        <ListView fx:id="candidatesListView" onEditStart="#kk1" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1" />
                        <ListView fx:id="heroListView" onEditStart="#kk2" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="1" />
                     </children>
                     <VBox.margin>
                        <Insets />
                     </VBox.margin>
                  </GridPane>
               </children>
            </VBox>
          <VBox id="VBox" alignment="CENTER" prefHeight="584.0" prefWidth="256.0" spacing="5.0">
            <children>
                  <ListView fx:id="myliste" onMouseClicked="#OnMouseclicketlist" prefHeight="200.0" prefWidth="200.0" />
                  <TextArea fx:id="lesenText" prefHeight="115.0" prefWidth="500.0" />
                  <TextArea fx:id="schreibenText" prefHeight="124.0" prefWidth="500.0" />
              <Label fx:id="label" alignment="CENTER" prefHeight="15.0" prefWidth="99.0" text="Label" />
              <Button fx:id="lesebut" blendMode="GREEN" cache="true" cacheHint="QUALITY" mnemonicParsing="false" onAction="#LeseBut" text="lesen" textOverrun="WORD_ELLIPSIS" />
              <Button fx:id="speichbut" blendMode="GREEN" cache="true" cacheHint="QUALITY" mnemonicParsing="false" onAction="#SpeichBut" text="speichern" />
                  <Button fx:id="schreibbut" mnemonicParsingich die Befehle="false" onAction="#SchreiBut" text="schreiben" />
            </children>
          </VBox>
         </children>
      </HBox>
  </children>
</AnchorPane>
Um das in mein Fenster einzubauen habe ich die Komponenten mit scenebuilder eingerichtet. Deshalb gehe ich davon aus das ich die Befehle zum einrichten weg lassen kann. und den Rest in die Aktion Events verlageren kann. Aber leider funktionirt das nicht. Weder in der Main als auch im mainWindowController ergibt das etwas Sinnvolles. Ich bekomme die Listview aber keinen Inhalt.
 

Trjavnamen

Bekanntes Mitglied
Java:
package ccc;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
/*from  w w  w. j a  va 2 s .  co m*/
public class Main extends Application {

  @Override
  public void start(Stage primaryStage) //wird in Main ausgeführt nicht verwendet
    BorderPane root = new BorderPane();//stattdessen Anchorpane
    Scene scene = new Scene(root, 400, 250, Color.WHITE);

    GridPane gridpane = new GridPane();//nicht verwendet
    gridpane.setPadding(new Insets(5));//nicht verwendet
    gridpane.setHgap(10);//nicht verwendet
    gridpane.setVgap(10);//nicht verwendet
    ColumnConstraints column1 = new ColumnConstraints(150, 150,//nicht verwendet
        Double.MAX_VALUE);
    ColumnConstraints column2 = new ColumnConstraints(50);//nicht verwendet
    ColumnConstraints column3 = new ColumnConstraints(150, 150,//nicht verwendet
        Double.MAX_VALUE);//nicht verwendet
    column1.setHgrow(Priority.ALWAYS);//nicht verwendet
    column3.setHgrow(Priority.ALWAYS);//nicht verwendet//nicht verwendet
    gridpane.getColumnConstraints().addAll(column1, column2, column3);//nicht verwendet

  
  //candidates das ist  mein Problem ich dachte als Variable einfach zuerst
    final ObservableList<String> candidates = FXCollections
        .observableArrayList("Z", "A", "B", "C", "D");
    final ListView<String> candidatesListView = new ListView<>(candidates);
    gridpane.add(candidatesListView, 0, 1);

    final ObservableList<String> selected = FXCollections.observableArrayList();
    final ListView<String> heroListView = new ListView<>(selected);
    gridpane.add(heroListView, 2, 1);

    Button sendRightButton = new Button(" > ");//nicht verwendet
    sendRightButton.setOnAction((ActionEvent event) -> {//nicht verwendet
      String potential = candidatesListView.getSelectionModel()//eingefügt beim Button"actButRight"
          .getSelectedItem();//eingefügt beim Button"actButRight"
      if (potential != null) {//eingefügt beim Button"actButRight"
        candidatesListView.getSelectionModel().clearSelection();//eingefügt beim Button"actButRight"
        candidates.remove(potential);//eingefügt beim Button"actButRight"
        selected.add(potential);//eingefügt beim Button"actButRight"
      }
    });

    Button sendLeftButton = new Button(" < ");//nicht verwendet
    sendLeftButton.setOnAction((ActionEvent event) -> {//nicht verwendet
      String s = heroListView.getSelectionModel().getSelectedItem();//eingefügt beim Button"actBuLeft"
      if (s != null) {                                              //eingefügt beim Button"actBuLeft"
        heroListView.getSelectionModel().clearSelection();         //eingefügt beim Button"actBuLeft"
        selected.remove(s);                                            //eingefügt beim Button"actBuLeft"
        candidates.add(s);                                            //eingefügt beim Button"actBuLeft"
      }
    });
    VBox vbox = new VBox(5);//nicht verwendet
    vbox.getChildren().addAll(sendRightButton, sendLeftButton);//nicht verwendet

    gridpane.add(vbox, 1, 1);//nicht verwendet
    root.setCenter(gridpane);//nicht verwendet

    GridPane.setVgrow(root, Priority.ALWAYS);//nicht verwendet
    primaryStage.setScene(scene);//wird in Main ausgeführt nicht verwendet
    primaryStage.show();//wird in Main ausgeführt nicht verwendet
  }
  public static void main(String[] args) {//wird in Main ausgeführt nicht verwendet
    launch(args);
  }
}
Das problem sind die Zeilen Canditates
 

Trjavnamen

Bekanntes Mitglied
Das auslassen desGridpane anweisung ergibt eine leere Liste
Code:
public void AusgangsLiwst() {
             ObservableList<String> candidates = FXCollections
                    .observableArrayList("Z", "A", "B", "C", "D");
                 ListView<String> candidatesListView = new ListView<>(candidates);
                gridpane.add(candidatesListView, 0, 1);

                 ObservableList<String> selected = FXCollections.observableArrayList();
                ListView<String> heroListView = new ListView<>(selected);
                gridpane.add(heroListView, 2, 1);

die Übernahme der Buttonanweisungen ergeben nicht und add bzw remov sind mit error unterstrichen. Versuche mit diesem Teil als Button Aktion Event führt nicht zum Ergebnis
Code:
  ObservableList<String> candidates = FXCollections.observableArrayList();
        ObservableList<String> S1 = FXCollections.observableArrayList();
        ObservableList<String> selected = FXCollections.observableArrayList();

        String potential = candidatesListView.getSelectionModel().getSelectedItem();
            if (potential != null) {
              candidatesListView.getSelectionModel().clearSelection();//eingefügt beim Button"actButRight"
              candidates.remove(potential);//eingefügt beim Button"actButRight"
              selected.add(potential);//eingefügt beim Button"actButRight"
              S1.add(potential);
              ListView<String> candidatesListView = new ListView<>(candidates);
              gridpane.add(candidatesListView, 0, 1);
              ListView<String> potentialListView2 = new ListView<> (S1);
              gridpane.add(heroListView, 1, 2);
              ListView<String> heroListView = new ListView<>(selected);
              gridpane.add(heroListView, 2, 1);
 

mrBrown

Super-Moderator
Mitarbeiter
Wenn ich dein Problem richtig verstehe, möchtest du den Code, den du ganz oben gepostet hast, umstellen auf FXML?

Allerdings passt der Code nicht wirklich zusammen, also möchtest du vermutlich irgendwas anderes machen?
 

mrBrown

Super-Moderator
Mitarbeiter
Button on Aktion Event Eintrag!!
Äh?


Es wird kein Fehler angezeigt aber die Liste wird nicht aktualisiert..
Und das bezieht sich auf welchen dieser X Codeschnipsel?

Auf das fertige Tutorial?
Auf deinen Code aus #1, wo die Liste halt auch nicht angefasst wird?
Auf deinen Code aus #3, der keinen Kontext hat?

ja gern dieses in mein Fenster(listing 2-4)einbauen.
Was
 

Trjavnamen

Bekanntes Mitglied
erst habe ich gedacht es liegt an dem Final aus dem ersten listing. Dann an den ObservableList<String> die ich in verschiedenen Positionen verlagert habe. Dann habe ich gedacht die Listen werden jeweils neu erzeugt mit
Code:
 ListView<String> candidatesListView = new ListView<>(candidates);
              gridpane.add(candidatesListView, 0, 1);
aber es tut sich nichts. Die erste Zeile sollte die Liste ausgeben und obwohl ich das Final ausgelassen habe und keine Modifikation (das müßte eigendlich ohne probleme in der Klasse erkennbar sein) geschrieben aber trotzdem wird die souce nicht erkannt.
 

Robat

Top Contributor
Es würde vielleicht helfen wenn du einfach noch mal strukturiert versuchst zu erklären, was genau du eigentlich vor hast. Du postest hier (fast willkürlich) irgendwelche Codeschnipsel ohne jeglichen Zusammenhang und schreibst - meiner Meinung nach - wirres Zeug.
Also:
- Was ist die Ausgangssiutation
- Was willst du erreichen
- Was geht nicht
 

Trjavnamen

Bekanntes Mitglied
wenn die candidatesListView einmal gefüllt ist sollte ohne Modifikation diese Liste in der Klasse und Pakage sichtbar bzw. wiederholbar und editierbar sein. Das ist sie aber wohl nicht. Die liste jeweils unter der Button aktion anweisung einzufügen erzeugt keinen Fehler aber kein tausch!!
 

Robat

Top Contributor
ohne Modifikation diese Liste in der Klasse und Pakage sichtbar bzw. wiederholbar und editierbar sein.
Auch wenn ich keine Ahnung hab was du mit "wiederholbar" meinst .. ein Hinweis: Die ListView ist eine GUI Komponente und braucht in den seltensten Fällen irgendwo von außen sichtbar sein. Wenn schon gibt es ein Model, die die Inhalt der Liste in einer Collection/ObservableList abbildet.
Die liste jeweils unter der Button aktion anweisung einzufügen erzeugt keinen Fehler aber kein tausch!!
Die Fehlerbeschreibung ist mehr als Mager. Vielleicht lässt du einfach mal deine bisherigen Versuche außer acht und schilderst noch mal was du eigentlich machen willst ..
 

Trjavnamen

Bekanntes Mitglied
Die Ausgangssituation ist das erste Listing. Es ist ein eigenständiges Programm mit Main. In meinen nächsten Listings die meine andere Main.java mit anhängenden WindowController.Java und dem mainWindow.fxml unter der selben Package auch ein eigenständiges Programm ergeben wird eine andere Scene gezeigt und gesteuert.In dieser Umgebung will ich gerne das erste Listing einbauen. Das f xml Dokument wird mit Scenebuilder für das erste Listing angepasst. mit
public void AusgangsLiwst() { das ich unter einem Extra ButtonAktion Event auslöse ergibt die Liste im der Java Applikation und sollte eigendlich dann innerhalb der Klasse sichtbar sein. Es sollte dann auch editierbar sein.Aber die source wird trotzdem nicht in den anderen FXML anweisungen zu Verfügung angezeigt. Die Teile in der Main unterzubringen löst nicht das Problem. ich probiere schon den dritten Tag . Habe auch verschiedene Tutorials durchgeschaut. Meine Suche auf euren Sêiten enden nach dem zweiten Beitrag bei anderen Themen.
 

Trjavnamen

Bekanntes Mitglied
Im fünten Listing ist das erste Listing mit meinen Ideen es in mein drittes Listing einzufügen. Der Knackpunkt ist der Teil unter dem Kommentar //Candidates.
 

Trjavnamen

Bekanntes Mitglied
Die Main aus dem erten Listing mit Befehlen aus der Main des zweiten Listing zu erweitern und dann den MainWindowController:java und MainWin.dow.fxml dokument zu erweitern funktioniert auch nicht.
 

Trjavnamen

Bekanntes Mitglied
Das Kryptische der listing 2 bis 4 ist; die Main ist das Startfenster; das MainWindowController kontrolliert das fxml Dokument und ist die Auslöser- und Auswertersteuerung. Beim ersten ist das alles vereint ohne fxml Dokument (durch Befehle erzeugt und nicht mit SceneBuilder editierbar. (auch probiert))
 
K

kneitzel

Gast
Also ich kann Dir weiterhin nicht wirklich folgen....

Paar Hinweise, was mir aufgefallen ist:
a) if ist keine Schleife.
b) Du solltest dir klar überlegen, welche Daten Du in einem Fenster speichern / bearbeiten willst um dafür die dann entsprechenden Variablen zu erstellen. In einer Methode (z.B. in einer Methode, die ein Action Event bearbeitet) irgend welche neue Strukturen in lokalen Variablen anzulegen sieht dubios aus. Sprich Code aus #17 in einer Methode ist schon seltsam. Candidates sollte evtl. Eine Instanzvariable sein, die dann nur gesetzt wird oder so.
 

Robat

Top Contributor
@FXML private ListView heroListView; @FXML private ListView candidatesListView;
Bei einer ListView solltest du immer den generischen Typ mit angeben... In deinem Fall also sicherlich Strings.
ObservableList<String> candidates = FXCollections.observableArrayList();
ist eine Buttonaktion Versuch
Nein du erstellst hier einfach nur eine leere ObservableList. Mit einem Button hat das herzlich wenig zu tun
mit
public void AusgangsLiwst() {
Die Methode sehe ich in keinem deiner "Listings"

Gib dir bitte einfach mal ein bisschen mehr Mühe mit deinen Posts. Dann kann man dich unter Umständen auch verstehen
 

mihe7

Top Contributor
Ich denke, es geht ihm um folgendes:

Java:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;



public class MainWindowController {
   
    @FXML
    private GridPane gridpane;
    @FXML
    private Label selected;      
    @FXML
    private Label Canditates;
    @FXML
    private Button sendLeftButton;
    @FXML
    private Button sendRightButton;
    @FXML
    private ListView<String> heroListView;
    @FXML
    private ListView<String> candidatesListView;
    @FXML
    private TextArea lesenText;

    @FXML
    private TextArea schreibenText;

    @FXML
    private Button lesebut;

    @FXML
    private Button schreibbut;


    @FXML
    private Label label;

    @FXML
    private Button speichbut;  
 
 
    @FXML
    private ListView myliste;
       

    public Main main;

    public void setMain(Main main){
        this.main =main;
    }
       
    @FXML
    void actButLeft(ActionEvent event){
        String s = heroListView.getSelectionModel().getSelectedItem();
        if (s != null) {
            heroListView.getSelectionModel().clearSelection();
            heroListView.getItems().remove(s);
            candidatesListView.getItems().add(s);
        } 
    }

    @FXML
    void actButRight(ActionEvent event) {
        String potential = candidatesListView.getSelectionModel()
              .getSelectedItem();
        if (potential != null) {
            candidatesListView.getSelectionModel().clearSelection();
            candidatesListView.getItems().remove(potential);
            heroListView.getItems().add(potential);
        }           
    }
         
    @FXML
    void kk1(ActionEvent event) {
       
    }

    @FXML
    void kk2(ActionEvent event) {

    }


    @FXML
    void LeseBut(ActionEvent event) {
    }
    @FXML
    void OnMouseclicketlist(ActionEvent  event ){
        myliste.getOnMouseClicked();
        System.out.println(schreibenText);
    }
    @FXML
    void SpeichBut(ActionEvent event) throws java.io.FileNotFoundException {
        String dateiText =schreibenText.getText();//die TextArea id für die Eingabe nennt sich schreibenText
        lesenText.appendText(dateiText);//derButton Speicherbut löst das lesed aus schreibtext aus und überträgt nach Textarea LesenText
        PrintWriter pWriter = null;
        try {
            System.out.println ("geklickt");
            pWriter = new PrintWriter(new BufferedWriter(new FileWriter("test.txt")));
            pWriter.println(dateiText);// das zuletzt ausgelesene dateiText wird in die Datei test.txt geschrieben
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } finally {
            if (pWriter != null){
                pWriter.flush();
                pWriter.close();
            }
        }
    }

    @FXML
    void SchreiBut(ActionEvent event) {
        System.out.print("bot gedrückt");
        String leo = lesenText.getText();
        schreibenText.appendText(leo);
    }       

    public void initialize() {
        ObservableList<String> candidates = FXCollections
                    .observableArrayList("Z", "A", "B", "C", "D");
        candidatesListView.setItems(candidates);
    }
}
 

Trjavnamen

Bekanntes Mitglied
danke mihe7 das funktioniert.Das Direkte laden in die ObservableList (alle Items in die letzte Klammer der ArrayList funktioniert besser als das externe Laden ( add All() ) und " .set Item(candidates)" wird ohne meckern umgesetzt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
T Szene wechselen JavaFX mit If in Main Class AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
S Fehler: Hauptklasse neon.Main konnte nicht gefunden oder geladen werden AWT, Swing, JavaFX & SWT 5
L Editor does not contain a main type AWT, Swing, JavaFX & SWT 1
zhermann JavaFX Main App wird nicht geöffnet AWT, Swing, JavaFX & SWT 6
K JavaFX Titel und Fenstergröße aus Main.java übergeben AWT, Swing, JavaFX & SWT 0
F main-Funktion bei Swing AWT, Swing, JavaFX & SWT 4
Paul15 ActionListen auf Object in main AWT, Swing, JavaFX & SWT 7
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
V JavaFX, Pane construktor von einer Klasse in der Main verwenden. AWT, Swing, JavaFX & SWT 4
T Java Swing Main GUI Thread AWT, Swing, JavaFX & SWT 3
H Could not find main class: ... AWT, Swing, JavaFX & SWT 10
F Applet JApplet per html einbinden - Main class kann nicht gefunden werden AWT, Swing, JavaFX & SWT 15
lumo SWT Exception in thread "main" org.eclipse.swt.SWTError: No more handles AWT, Swing, JavaFX & SWT 3
A Applet main class aus anderer main class aufrufen AWT, Swing, JavaFX & SWT 15
C Grafik von main aus aufrufen AWT, Swing, JavaFX & SWT 13
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
Y Swing Problem mit Main Methode AWT, Swing, JavaFX & SWT 8
D LayoutManager Main layout auf andere Class Dateien verweisen? AWT, Swing, JavaFX & SWT 17
T Frame in Main Starten AWT, Swing, JavaFX & SWT 5
M Main Frame schließen und neue Klasse aufrufen? AWT, Swing, JavaFX & SWT 2
Semox Warum baut man eine GUI nicht in der main-Methode? AWT, Swing, JavaFX & SWT 16
A Event von Login zu Main klasse AWT, Swing, JavaFX & SWT 2
R problem mit bildanzeige in applet und main AWT, Swing, JavaFX & SWT 2
A JFrame + JTable + main-Methode + Programmsteuerung AWT, Swing, JavaFX & SWT 18
H Es wird nach "main" verlangt AWT, Swing, JavaFX & SWT 9
A Paint und Main AWT, Swing, JavaFX & SWT 4
L invokeLater in der main-Methode AWT, Swing, JavaFX & SWT 6
N Swing startet nicht - java.lang.NoSuchMethodError: main AWT, Swing, JavaFX & SWT 8
M Grafikdatei umwandeln in S/W 400 dpi AWT, Swing, JavaFX & SWT 2
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
3 JComboBox - Action - Auslesen & Umwandeln AWT, Swing, JavaFX & SWT 9
A JavaFX HTMLEditor in Text umwandeln AWT, Swing, JavaFX & SWT 2
S GeneralPath in Polygon umwandeln..? AWT, Swing, JavaFX & SWT 5
F Panelfensterposition in Displayposition umwandeln. AWT, Swing, JavaFX & SWT 3
A Swing zwei JComboBoxen miteinander vergleichen und anschließend Button umwandeln AWT, Swing, JavaFX & SWT 7
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
Furtano AWT setRGB() RGB-Parameter umwandeln? AWT, Swing, JavaFX & SWT 10
B Color.BLUE in String umwandeln AWT, Swing, JavaFX & SWT 4
G 3d in 2d umwandeln? AWT, Swing, JavaFX & SWT 19
T Zeichen/char in Bild umwandeln und darstellen AWT, Swing, JavaFX & SWT 10
T Swing Wie kann ich einen String in ein TreePath umwandeln? AWT, Swing, JavaFX & SWT 5
M List in JTree umwandeln AWT, Swing, JavaFX & SWT 10
T JComboBox Komma in Punkt umwandeln AWT, Swing, JavaFX & SWT 2
C Graustufenbild in Binärbild umwandeln AWT, Swing, JavaFX & SWT 14
G Date in einen String umwandeln AWT, Swing, JavaFX & SWT 4
L JTextField Umwandeln in double-Werte AWT, Swing, JavaFX & SWT 5
T String in String [] umwandeln?? AWT, Swing, JavaFX & SWT 4
I Grafik in Text umwandeln AWT, Swing, JavaFX & SWT 11
G jButton Text zu Integer umwandeln // jLabel mit Counter auf AWT, Swing, JavaFX & SWT 16
S Millisekunden umwandeln in int AWT, Swing, JavaFX & SWT 3
G Image Object speichern oder in ein BufferedImage umwandeln AWT, Swing, JavaFX & SWT 2
B JButton während der Laufzeit in JLabel umwandeln AWT, Swing, JavaFX & SWT 3
S double in String umwandeln AWT, Swing, JavaFX & SWT 6
S Object in Color umwandeln AWT, Swing, JavaFX & SWT 2
O Problem beim Umwandeln eines Applets in eine Applikation AWT, Swing, JavaFX & SWT 15
F JFrame in eine Image umwandeln AWT, Swing, JavaFX & SWT 4
S JTextField in JPasswortField umwandeln?! AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben