2012-09-27 5 views
2

장면 빌더합니다자바 FX를 보여주는보기 내가이 컨트롤러가 컨트롤러

package cz.vutbr.feec.bmds.cv2; 

import java.awt.Button; 
import java.awt.TextField; 

import javafx.event.ActionEvent; 
import javafx.fxml.FXML; 
import javafx.scene.control.Slider; 

public class TestGuiController { 

    private int buttonPressed = 0; 
    @FXML 
    private Button tlacitko; 
    @FXML 
    private TextField textovePole; 
    @FXML 
    private Slider slider; 

    public void buttonPressed(ActionEvent e) { 
     buttonPressed++; 
     textovePole.setText(Integer.toString(buttonPressed)); 
    } 
} 

이 fxml :

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

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

    <AnchorPane prefHeight="200.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml" fx:controller="cz.vutbr.feec.bmds.cv2.TestGuiController"> 
     <children> 
     <Button fx:id="tlacitko" layoutX="30.0" layoutY="40.0" mnemonicParsing="false" onTouchPressed="#buttonPressed" text="Button" /> 
     <Slider fx:id="slider" layoutX="157.0" layoutY="17.0" orientation="VERTICAL" /> 
     <TextField fx:id="textovePole" layoutX="14.0" layoutY="89.0" prefWidth="134.0" /> 
     </children> 
    </AnchorPane> 

이 내 메인 클래스입니다 :

package cz.vutbr.feec.bmds.cv2; 

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

public class Main extends Application { 

    @Override 
    public void start(Stage primaryStage) throws Exception { 
     Parent root = FXMLLoader.load(getClass().getResource("TestGui.fxml")); 
     primaryStage.setTitle("Titulek"); 
     primaryStage.setScene(new Scene(root,300,275)); 
     primaryStage.show(); 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 

내가 개미를 통해이 프로그램을 실행하면 오류가있는 메시지 상자가 나타납니다 (응용 프로그램을 실행하는 동안 예외가 발생 함). 나는 컨트롤러없이 간단한 fxml을 시도해 보았고 컨트롤러가 잘못되어 있다고 추측하고있다. 작동하도록 바꾸려면 무엇을해야합니까?

답변

6

나는 내 자신의 질문에 대답해야합니다. 문제가 TestGuiController에 있었는데 javafx.scene.control.Buttonjavafx.scene.control.TextField 대신 java.awt.Buttonjava.awt.TextField을 사용했습니다.

+0

그래! 마침내 문제가 해결되었습니다! 여기에 솔루션을 게시 해 주셔서 감사합니다. – fuuman

0

나는 100 % 확실하지 않다하지만 시도 : FXML에서

  • : 버튼 :의 OnAction를 대신 onTouchPressed

정확한 예외 메시지를 제공하십시오.

+0

내가 쓴 오류 만 보았지만 오류 메시지를 표시하는 코드를 추가 할 때 분명했다. javafx 대신 awt 버튼과 awt TextField를 사용했습니다. 도움을 주셔서 감사합니다 –

관련 문제