ورود

View Full Version : سوال: خواندن مقدار textfiled در جاوا اف ایکس



M0TR!X
یک شنبه 16 آذر 1393, 21:14 عصر
سلام.

خوبین؟

چند تا تکس فیلد دارم که باید مقدارشون رو با باتن بخونم.

دوتا فایل دارم

bookfxml.fxml


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

<?import javafx.scene.text.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>


<AnchorPane id="AnchorPane" prefHeight="512.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="javafxtest.FXMLBookController">
<children>
<Button layoutX="191.0" layoutY="446.0" mnemonicParsing="false" prefHeight="31.0" prefWidth="133.0" text="ثبت">
<font>
<Font name="2 Elham" size="24.0" />
</font>
</Button>
<TextField layoutX="146.0" layoutY="49.0" />
<Label layoutX="458.0" layoutY="51.0" prefHeight="21.0" prefWidth="110.0" text=": کد بین المللی">
<font>
<Font name="2 Elham" size="21.0" />
</font>
</Label>
<Label layoutX="513.0" layoutY="135.0" text=": عنوان">
<font>
<Font name="2 Elham" size="21.0" />
</font>
</Label>
<Label layoutX="495.0" layoutY="209.0" text=": نویسنده">
<font>
<Font name="2 Elham" size="21.0" />
</font>
</Label>
<Label layoutX="513.0" layoutY="285.0" text=": قیمت">
<font>
<Font name="2 Elham" size="21.0" />
</font>
</Label>
<Label layoutX="515.0" layoutY="356.0" text=": گروه">
<font>
<Font name="2 Elham" size="21.0" />
</font>
</Label>
<TextField fx:id="txtfiled" layoutX="146.0" layoutY="131.0" />
<TextField layoutX="146.0" layoutY="207.0" />
<TextField layoutX="146.0" layoutY="281.0" />
<TextField layoutX="146.0" layoutY="354.0" />
</children>
</AnchorPane>



کد بالا مربوط به فرم و باتن و چندتا تکس فیلد هستش که با sence builder ساختم.

فایل : bookController.java


package javafxtest;

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;

/**
* FXML Controller class
*
* @author M0TRIX
*/
public class FXMLBookController implements Initializable {



@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}

}



فایل بالا هم خالیه.

خب الان من باید توی فایل fxml به تکس فیلدم ایدی بدم بعد بیام تو controller یه متد بنویسم که مقدارش رو بگیره؟؟

اینکارو میکنم ولی ایدی رو نمیشناسه؟دلیلش چیه

ahmad.mo74
دوشنبه 17 آذر 1393, 10:44 صبح
سلام

book.fxml :


<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.*?>
<AnchorPane id="AnchorPane" prefHeight="512.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1"
xmlns="http://javafx.com/javafx/8" fx:controller="javafxtest.FXMLBookController">
<Button fx:id="register" layoutX="191.0" layoutY="446.0" mnemonicParsing="false" prefHeight="31.0" prefWidth="133.0"
text="ثبت">
<font>
<Font name="2 Elham" size="24.0"/>
</font>
</Button>
<Label layoutX="458.0" layoutY="51.0" prefHeight="21.0" prefWidth="110.0" text=": کد بین المللی">
<font>
<Font name="2 Elham" size="21.0"/>
</font>
</Label>
<Label layoutX="513.0" layoutY="135.0" text=": عنوان">
<font>
<Font name="2 Elham" size="21.0"/>
</font>
</Label>
<Label layoutX="495.0" layoutY="209.0" text=": نویسنده">
<font>
<Font name="2 Elham" size="21.0"/>
</font>
</Label>
<Label layoutX="513.0" layoutY="285.0" text=": قیمت">
<font>
<Font name="2 Elham" size="21.0"/>
</font>
</Label>
<Label layoutX="515.0" layoutY="356.0" text=": گروه">
<font>
<Font name="2 Elham" size="21.0"/>
</font>
</Label>
<TextField fx:id="id" layoutX="146.0" layoutY="49.0"/>
<TextField fx:id="title" layoutX="146.0" layoutY="131.0"/>
<TextField fx:id="author" layoutX="146.0" layoutY="207.0"/>
<TextField fx:id="price" layoutX="146.0" layoutY="281.0"/>
<TextField fx:id="group" layoutX="146.0" layoutY="354.0"/>
</AnchorPane>



FXMLBookController :


import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;


import java.net.URL;
import java.util.ResourceBundle;


public class FXMLBookController implements Initializable {


@FXML
public Button register;
@FXML
public TextField id;
@FXML
public TextField title;
@FXML
public TextField author;
@FXML
public TextField price;
@FXML
public TextField group;


@Override
public void initialize(URL location, ResourceBundle resources) {
register.setOnAction(event -> {
System.out.println("id : " + id.getText());
System.out.println("title : " + title.getText());
System.out.println("author : " + author.getText());
System.out.println("price : " + price.getText());
System.out.println("group : " + group.getText());
});
}


}