2017-02-01 3 views
1

テキストエリアにテキストフィールドからユーザ入力を得るにはどうすればよいですか?どのように私はコントローラからこれらのボタンを制御し、テキストフィールドを編集するためにテキストエリアをクリックすると、ユーザーがそれを編集することができます私はテキストエリアとして機能する可能性のある方法は何ですか?javafxからノートアプリケーションを作成します

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

<?import javafx.geometry.*?> 
<?import java.lang.*?> 
<?import java.util.*?> 
<?import javafx.scene.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxnote.Note2Controller"> 
    <top> 
     <AnchorPane prefHeight="56.0" prefWidth="600.0" BorderPane.alignment="CENTER"> 
     <children> 
      <Button fx:id="btn2" layoutX="555.0" layoutY="10.0" mnemonicParsing="false" onMouseClicked="#test" text="x" /> 
     </children> 
     </AnchorPane> 
    </top> 
    <center> 
     <TextArea prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER"> 
     <BorderPane.margin> 
      <Insets left="10.0" right="10.0" /> 
     </BorderPane.margin></TextArea> 
    </center> 
    <padding> 
     <Insets bottom="20.0" /> 
    </padding> 
    <bottom> 
     <VBox prefHeight="149.0" prefWidth="600.0" BorderPane.alignment="CENTER"> 
     <children> 
      <TextField prefHeight="111.0" prefWidth="600.0"> 
       <VBox.margin> 
        <Insets /> 
       </VBox.margin> 
      </TextField> 
      <AnchorPane prefHeight="38.0" prefWidth="580.0"> 
       <children> 
        <Button fx:id="btsub" layoutX="434.0" layoutY="21.0" mnemonicParsing="false" text="submit" /> 
        <Button fx:id="btcl" layoutX="518.0" layoutY="21.0" mnemonicParsing="false" text="clear" /> 
       </children> 
      </AnchorPane> 
     </children> 
     <BorderPane.margin> 
      <Insets left="10.0" right="10.0" /> 
     </BorderPane.margin> 
     </VBox> 
    </bottom> 
</BorderPane> 

答えて

0

ボタン用コントローラにアクションを追加するには:

タブの下SceneBuilderの右側を確認し、コントローラのクラスを指定するにはSceneBuilder にコントローラクラスを追加します。「コントローラ」であり、 "コントローラクラス"という名前のテキストフィールド。また、 "fx-id"を持つすべてのノードのリストがあることにも注意してください。

FXを追加します。id:あなたは、コントローラで作業する必要がある任意のコンポーネント用のコントローラ に必要なすべてのノードへのidは、FXを追加します。アクションの場合は、コンポーネントの「コード」タブにメソッド名を追加してください。たとえば、あなたがボタンのアクションをしたい場合は、「アクションに」フィールドにそこメソッドの名前を追加し、「送信」という名前は、コントローラのクラスで

がFXを持つすべてのノードを追加し、「submitPushed」:ID fx:idを使用して帰属させたすべてのノードに対して、@ FXMLというアノテーションを付けたコントローラークラスのプロパティーとして追加する必要があります。 FXとTextFieldに:あなたは、コントローラクラスのコントローラで広告プロパティ

@FXML TextField textSubmit 

アクションで、「送信」というボタンのアクション ためのメソッドを定義しますtextSubmit ID「submitPushed」あなたがボタンを押すと送信したときのTextAreaにテキストフィールドのコンテンツを追加したい場合は、アクション

@FXML submitPushed(ActionEvent event){ 
    //add code here for what the button should do 
} 

のメソッドを宣言する必要が

@FXML submitPushed(ActionEvent event){ 
    String content=textField.getText(); 
    String contentTextArea = textArea.getText(); 
    textArea.setText(contentTextArea+"\n"+content); 
} 
関連する問題