我想制作一个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>