有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在从不同文件添加时缺少GUI元素

我正在尝试添加从单个文件创建的GUI,并将它们添加到我的主代码中

虽然它似乎在起作用,但它缺少了一些元素。例如,在我的GridPane中,有一个标签和一个文本,两者都丢失了。同样地,在我的treeview中,有一个treeitem也不见了

我试图减少主字段中的代码量,并调用GUI之间的相关事件,例如,如果我在TreeView中选择了某个内容,则所选TreeItem信息将填充到GridPane中

客户。爪哇

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class Client extends Application
{
    private treeviewGui tvGui;
    private gridpaneGui inputFieldsGui;
    
    
    public void init()
    {
        tvGui = new treeviewGui();
        inputFieldsGui = new gridpaneGui();
    }
    
    @Override
    public void start(Stage topView)
    {
        topView.setTitle("Test Application");
        
        HBox mainLayout = new HBox(10);
        mainLayout.getChildren().addAll(tvGui, inputFieldsGui);

        Scene scene = new Scene(mainLayout);
        topView.centerOnScreen();
        topView.setScene(scene);
        topView.show();
    }

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

treeviewGui。爪哇

import javafx.scene.control.*;

public class treeviewGui extends TreeView
{
    private TreeView treeview;

    public treeviewGui()
    {
        treeview = new TreeView();
        preload();

    }
    
    private void preload()
    {
        TreeItem<String> newTI = new TreeItem<>("blah");
        treeview.setRoot(newTI);
    }
    
}

网格窗格。爪哇

import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.geometry.Pos;
import javafx.scene.text.Text;

public class gridpaneGui extends GridPane
{
    private GridPane gridPane;
    public Text fnameTxt;
    
    public gridpaneGui()
    {
        gridPane = new GridPane();
        gridPane.setAlignment(Pos.CENTER);
        gridPane.setHgap(5);
        gridPane.setVgap(5);

        // First Name
        Label fnameLbl = new Label("First Name");
        fnameTxt = new Text("-");
        
        gridPane.addRow(0, fnameLbl, fnameTxt);
    }
    
    public void setFname(String nameStr)
    {
        fnameTxt.setText(nameStr);
    }
}

共 (0) 个答案