나는 FXML 응용 프로그램을 사용하여 궁극적으로 거기에 사용될 다른 응용 프로그램에 텍스트 파일을 보내는 간단한 UI를 만들려고합니다. 이 탭 창에서 첫 번째 탭을 사용하는 나의 목표는 사용자가 자신의 그룹 이름을 입력하고 기본적으로 입력 한 모든 그룹 이름 목록에 추가 할 수있게하는 것입니다. 사용자가 textField에 그룹 이름을 입력하게하고 추가 버튼을 클릭하면 그룹 이름이 textArea로 이동 한 다음 새 행으로 이동합니다. 나는 액션 핸들러를 제대로 잡은 것 같지만 프로그램을 실행할 때 아무 것도 나타나지 않기 때문에 테스트 할 수 없다! 어떤 도움을 주시면 감사하겠습니다.JavaFX 탭 창이 나타나지 않습니다.
자바 코드 :
package pipeline.ui;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author Pat
*/
public class PipelineUI extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("PipelineUI.fxml"));
Scene scene = new Scene(root, 1000, 1000);
stage.setTitle("Pipeline Welcome");
stage.setScene(scene);
stage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
컨트롤러 코드 :
package pipeline.ui;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
/**
*
* @author Pat
*/
public class PipelineUIController implements Initializable {
private Label label;
@FXML
private Tab groupsTab;
@FXML
private Button addGroup;
@FXML
private Button removeGroup;
@FXML
private Button proceedButton1;
@FXML
public TextArea groupsList;
@FXML
private TextField groupName;
private static final String newline = "\n";
public void handleButtonAction(ActionEvent event) {
if (groupName.getText() != "")
{
String name = groupName.getText();
groupsList.appendText(name);
groupsList.appendText(newline);
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
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.*?>
<TabPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1000.0" prefWidth="1000.0" tabClosingPolicy="UNAVAILABLE" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="pipeline.ui.PipelineUIController">
<tabs>
<Tab fx:id="groupsTab" text="Experimental Groups">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<Button fx:id="addGroup" layoutX="253.0" layoutY="100.0" mnemonicParsing="false" onMouseClicked="handleButtonAction" text="Add Group >>" />
<Button fx:id="removeGroup" layoutX="242.0" layoutY="173.0" mnemonicParsing="false" text="<< Remove Group" />
<Button fx:id="proceedButton1" layoutX="534.0" layoutY="332.0" mnemonicParsing="false" text="OK" />
<TextArea fx:id="groupsList" layoutX="367.0" layoutY="86.0" prefHeight="200.0" prefWidth="200.0" />
<TextField fx:id="groupName" layoutX="77.0" layoutY="100.0" />
<Text layoutX="77.0" layoutY="82.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Add experimental groups to be examined:" />
</children></AnchorPane>
</content>
</Tab>
<Tab text="Untitled Tab 2">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
확실하지 않음 나 여기 정말 고마워. 감사!
답변을 upvote 할 수는 없지만 도움이되었습니다. 감사합니다. –
반갑습니다. 질문에 답한 경우 대답을 수락 할 수 있습니다 (upvote 할 수없는 경우에도). 앞으로 코드를 실행할 때 예외가 발생한다면 그렇게 말하고 스택 추적을 질문의 일부로 게시해야합니다. –