如何从Java fxml GUI表单向表中添加信息?

我想制作一个GUI表单,将用户书面信息添加到我的fxml表单的表中,我对使用它和Java还是很陌生,我不知道如何使用当前程序来做到这一点有什么想法吗?

编辑:我认为错误的部分是:

@FXML
void paspaustas_add1(MouseEvent event) {
    data.add(new Skelbimas(addFirstName.getText(),addLastName.getText(),addEmail.getText()));
    addFirstName.clear();
    addLastName.clear();
    addEmail.clear();

    JOptionPane.showmessagedialog(null,"Skelbimas pridetas!");
}

如果有帮助,我还添加了整个代码

public class Controller implements Initializable {

    @FXML private TextField id,pavadinimas,miestas,kaina,salygos;

    final ObservableList<Skelbimas> data = FXCollections.observableArrayList(
        new Skelbimas("Tom","Smith","jacob.smith@example.com"),new Skelbimas("Jom","Johnson","isabella.johnson@example.com"),new Skelbimas("Dom","Williams","ethan.williams@example.com"),new Skelbimas("Rom","Jones","emma.jones@example.com"),new Skelbimas("Som","Brown","michael.brown@example.com"),new Skelbimas("Pom","Green","a@example.com")
    );

    @FXML private TableView<Skelbimas> tableview;
    @FXML private Button mygtukas1,mygtukas2,mygtukas3;
    @FXML private Button closeButton;

    @FXML
    void paspaustas_add1(MouseEvent event) {
        data.add(new Skelbimas(addFirstName.getText(),addEmail.getText()));
        addFirstName.clear();
        addLastName.clear();
        addEmail.clear();

        JOptionPane.showmessagedialog(null,"Skelbimas pridetas!");
    }

    @FXML
    void paspaustas_add2(MouseEvent event) {
        JOptionPane.showmessagedialog(null,"Skelbimas panaikintas!");
    }

    @FXML
    void paspaustas_add3(MouseEvent event) {
        JOptionPane.showmessagedialog(null,"Skelbimas pataisytas!");
    }

    public void closeButtonaction() {
        Stage stage = (Stage) closeButton.getScene().getWindow();
        stage.close();
    }

    @Override
    public void initialize(URL location,ResourceBundle resources) {
        TableColumn firstNameCol = new TableColumn("ID");
        firstNameCol.setMinWidth(100);
        firstNameCol.setCellValueFactory(new PropertyValueFactory<Skelbimas,String>("firstName"));

        TableColumn lastNameCol = new TableColumn("Last Name");
        lastNameCol.setMinWidth(100);
        lastNameCol.setCellValueFactory(new PropertyValueFactory<Skelbimas,String>("lastName"));

        TableColumn emailCol = new TableColumn("Email");
        emailCol.setMinWidth(200);
        emailCol.setCellValueFactory(new PropertyValueFactory<Skelbimas,String>("email"));

        tableview.setItems(data);
        tableview.getcolumns().addAll(firstNameCol,lastNameCol,emailCol);
    }

    public static class Skelbimas {
        private final SimpleStringProperty Id,lastName,email;

        private Skelbimas(String Id,String lName,String email) {
            this.Id = new SimpleStringProperty(Id);
            this.lastName = new SimpleStringProperty(lName);
            this.email = new SimpleStringProperty(email);
        }

        public String getFirstName() {
            return Id.get();
        }

        public void setfirstName(String fName) {
            Id.set(fName);
        }

        public String getLastName() {
            return lastName.get();
        }

        public void setLastName(String fName) {
            lastName.set(fName);
        }

        public String getEmail() {
            return email.get();
        }

        public void setEmail(String fName) {
            email.set(fName);
        }
    }
}

FXML代码:

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="495.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Controller">
   <top>
      <MenuBar prefWidth="603.0" BorderPane.alignment="CENTER">
         <menus>
            <Menu mnemonicParsing="false" text="File">
               <MenuItem mnemonicParsing="false" text="Close" />
            </Menu>

            <Menu mnemonicParsing="false" text="Edit">
               <MenuItem mnemonicParsing="false" text="Delete" />
            </Menu>

            <Menu mnemonicParsing="false" text="Help">
               <MenuItem mnemonicParsing="false" text="About" />
            </Menu>
         </menus>
      </MenuBar>
   </top>

   <center>
      <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE" BorderPane.alignment="CENTER">
         <Tab text="Skelbimai">
            <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
               <ComboBox layoutX="421.0" layoutY="330.0" prefWidth="150.0" />
               <TableView fx:id="tableview" layoutY="7.0" prefHeight="237.0" prefWidth="600.0" />
               <TextField fx:id="id" layoutX="31.0" layoutY="275.0" />
               <TextField fx:id="pavadinimas" layoutX="31.0" layoutY="330.0" />
               <TextField fx:id="miestas" layoutX="210.0" layoutY="275.0" />
               <TextField fx:id="kaina" layoutX="210.0" layoutY="330.0" />
               <Text layoutX="31.0" layoutY="264.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ID" />
               <Text layoutX="31.0" layoutY="320.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Pavadinimas" />
               <Text layoutX="210.0" layoutY="263.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Miestas" />
               <Text layoutX="421.0" layoutY="320.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Patalpos savininkas" />
               <Text layoutX="210.0" layoutY="320.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Kaina" />
               <TextField fx:id="salygos" layoutX="422.0" layoutY="275.0" />
               <Text layoutX="421.0" layoutY="264.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Nuomos salygos" />
               <Button fx:id="mygtukas1" layoutX="220.0" layoutY="371.0" mnemonicParsing="false" onmouseclicked="#paspaustas_add1" text="Add" />
               <Button fx:id="mygtukas2" layoutX="271.0" layoutY="371.0" mnemonicParsing="false" onmouseclicked="#paspaustas_add2" text="Remove" />
               <Button fx:id="mygtukas3" layoutX="341.0" layoutY="371.0" mnemonicParsing="false" onmouseclicked="#paspaustas_add3" text="Edit" />
            </AnchorPane>
         </Tab>

         <Tab text="Sutartys">
            <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
               <Button layoutX="483.0" layoutY="254.0" mnemonicParsing="false" text="Remove" />
               <Button layoutX="274.0" layoutY="254.0" mnemonicParsing="false" text="Add" />
               <Button layoutX="60.0" layoutY="254.0" mnemonicParsing="false" text="Edit" />

               <TreetableView layoutY="8.0" prefHeight="237.0" prefWidth="600.0">
                  <columns>
                     <TreetableColumn prefWidth="75.0" text="C1" />
                     <TreetableColumn prefWidth="75.0" text="C2" />
                  </columns>
               </TreetableView>

               <Text layoutX="31.0" layoutY="304.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ID" />
               <TextField layoutX="31.0" layoutY="308.0" prefHeight="25.0" prefWidth="74.0" />
               <Text layoutX="143.0" layoutY="304.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Pavadinimas" />
               <TextField layoutX="143.0" layoutY="308.0" prefHeight="25.0" prefWidth="74.0" />
               <Text layoutX="31.0" layoutY="357.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Kaina" />
               <TextField layoutX="31.0" layoutY="361.0" prefHeight="25.0" prefWidth="74.0" />
               <Text layoutX="143.0" layoutY="357.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Miestas" />
               <TextField layoutX="143.0" layoutY="361.0" prefHeight="25.0" prefWidth="74.0" />
               <Text layoutX="256.0" layoutY="304.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Nuomos salygos" />
               <TextArea layoutX="256.0" layoutY="307.0" prefHeight="75.0" prefWidth="143.0" />
               <ComboBox layoutX="422.0" layoutY="361.0" prefWidth="150.0" />
               <Text layoutX="422.0" layoutY="357.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Nuomininkas" />
               <ComboBox layoutX="422.0" layoutY="304.0" prefWidth="150.0" />
               <Text layoutX="422.0" layoutY="300.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Patalpos savininkas" />
            </AnchorPane>
         </Tab>

         <Tab text="Nuomininkas">
            <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
               <Button layoutX="281.0" layoutY="377.0" mnemonicParsing="false" text="Add" />
               <Button layoutX="356.0" layoutY="377.0" mnemonicParsing="false" text="Remove" />
               <Button layoutX="208.0" layoutY="377.0" mnemonicParsing="false" text="Edit" />

               <TreetableView prefHeight="228.0" prefWidth="600.0">
                  <columns>
                     <TreetableColumn prefWidth="75.0" text="C1" />
                     <TreetableColumn prefWidth="75.0" text="C2" />
                  </columns>
               </TreetableView>

               <Text layoutX="71.0" layoutY="260.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ID" />
               <TextField layoutX="71.0" layoutY="264.0" prefHeight="25.0" prefWidth="62.0" />
               <Text layoutX="71.0" layoutY="309.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Vardas" />
               <TextField layoutX="71.0" layoutY="313.0" prefHeight="25.0" prefWidth="75.0" />
               <Text layoutX="158.0" layoutY="260.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Pavarde" />
               <TextField layoutX="158.0" layoutY="264.0" prefHeight="25.0" prefWidth="90.0" />
               <Text layoutX="159.0" layoutY="309.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Miestas" />
               <TextField layoutX="158.0" layoutY="313.0" prefHeight="25.0" prefWidth="94.0" />
               <Text layoutX="288.0" layoutY="260.0" strokeType="OUTSIDE" strokeWidth="0.0" text="El.Pastas" />
               <TextField layoutX="288.0" layoutY="264.0" prefHeight="25.0" prefWidth="93.0" />
               <Text layoutX="284.0" layoutY="309.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Tel.Nr" />
               <TextField layoutX="292.0" layoutY="313.0" prefHeight="25.0" prefWidth="91.0" />
            </AnchorPane>
         </Tab>

         <Tab text="Patalpos Savininkas">
            <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
               <TreetableView layoutX="1.0" prefHeight="229.0" prefWidth="600.0">
                  <columns>
                     <TreetableColumn prefWidth="75.0" text="C1" />
                     <TreetableColumn prefWidth="75.0" text="C2" />
                  </columns>
               </TreetableView>

               <Button layoutX="469.0" layoutY="331.0" mnemonicParsing="false" text="Add" />
               <Button layoutX="458.0" layoutY="254.0" mnemonicParsing="false" text="Remove" />
               <Button layoutX="469.0" layoutY="290.0" mnemonicParsing="false" text="Edit" />
               <Text layoutX="31.0" layoutY="272.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ID" />
               <TextField layoutX="31.0" layoutY="275.0" prefHeight="25.0" prefWidth="102.0" />
               <Text layoutX="31.0" layoutY="321.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Vardas" />
               <TextField layoutX="31.0" layoutY="324.0" prefHeight="25.0" prefWidth="102.0" />
               <Text layoutX="155.0" layoutY="272.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Pavarde" />
               <TextField layoutX="156.0" layoutY="277.0" prefHeight="25.0" prefWidth="102.0" />
               <Text layoutX="156.0" layoutY="321.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Miestas" />
               <TextField layoutX="156.0" layoutY="324.0" prefHeight="25.0" prefWidth="102.0" />
               <Text layoutX="284.0" layoutY="271.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Tel.Nr" />
               <TextField layoutX="283.0" layoutY="277.0" prefHeight="25.0" prefWidth="102.0" />
               <Text layoutX="284.0" layoutY="319.0" strokeType="OUTSIDE" strokeWidth="0.0" text="El.Pastas" />
               <TextField layoutX="283.0" layoutY="324.0" prefHeight="25.0" prefWidth="102.0" />
            </AnchorPane>
         </Tab>

         <Tab text="Paslaugos">
            <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
         </Tab>
      </TabPane>
   </center>

   <bottom>
      <Button fx:id="closeButton" mnemonicParsing="false" onmouseclicked="#closeButtonaction" text="Exit" BorderPane.alignment="CENTER" />
   </bottom>
</BorderPane>

qq34589355 回答:如何从Java fxml GUI表单向表中添加信息?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2866800.html

大家都在问