java学习总结

目录

Java 前端

一、用Scenebuilder做一个简单的QQ登录页面

1、组件介绍

2、将Scenebuilde生成的文件QQ.窗口.fxml存到项目里

二、在idea中创建一个Java class文件用来控制该fxml文件

1、创建(idea和Scenebuilder中的Controller名字保持一致

2、View_controler里导入Scenebuilder里自动生成的代码

三、加载fxml文件

1、类方法

2、对象方法


直接按照写项目的步骤一步一步学吧,边学边敲

首先要有一个登录界面的窗口,开始Java Web前端

Java 前端

一、用Scenebuilder做一个简单的QQ登录页面

1、组件介绍

Accordion:复合标题面板的布局容器。

Accordion(empty):复合标题面板的布局容器,没有Anchor锚布局面板。

AnchorPane:锚布局,组件可以在布局中的任何位置。

BorderPane:边界布局,分为TOP、LEFT、CENTER、RIGHT、BOTTOM五个区域。

FlowPane:流布局,从左到右依次排列,放不下时就换行继续排列。

GridPane:网格布局,所有控件或容器放到相应的网格中。

HBox:水平盒子,里面的控件呈水平排列,和VBox垂直盒子相对应。

Pane:所有容器Pane面板类的父类,基本容器面板。

ScrollPane:滚动面板容器。

ScrollPane(empty):滚动面板容器控件,没有AnchorPane控件,可以自己添加其他容器控件。

SplitPane(empty):分割面板。

SplitPane(horizontal):水平分割面板容器控件,有一个垂直分隔条。

SplitPane(vertical):垂直分割面板容器控件,有一个水平分隔条。

StackPane:层叠面板容器,组件层叠放置。

Tab:Tab控件,与TabPane一起使用。

TabPane:Tab面板,可以切换Tab选项来切换不同的内容。

TabPane(empty):没有AnchorPane,可以自己添加容器面板。

TextFlow(FX8):也是一个容器控件,一般同Text一起使用。

TilePane:类似于FlowPane的容器。

TitledPane:折叠容器面板,可以折叠面板内容。

TitledPane(empty):没有AnchorPane,可以自己设置容器控件。

ToolBar:工具栏控件。

VBox:垂直布局容器控件,控件垂直排列。

2、将Scenebuilde生成的文件QQ.窗口.fxml存到项目里

Ctrl+S保存,找到项目位置,找到相应的包的位置,保存到里面

二、在idea中创建一个Java class文件用来控制该fxml文件

fxml不是java文件, ,他需要一个controller来控制

1、创建(idea和Scenebuilder中的Controller名字保持一致

 java学习总结_第1张图片

 (位于Scenebuilder中右侧最下面的一个下拉菜单,必须标明该controller在哪个包

java学习总结_第2张图片

2、View_controler里导入Scenebuilder里自动生成的代码

代码位置:

Scenebuilder->右上角view下拉菜单->Show Sample Controller Skeleton

注意Scenebuilder里自动生成的代码还需要按照需求敲代码

比如创建窗口

public static Scene show() throws IOException {
        URL xmlRes = view_controler.class.getResource("QQ.scream/QQwindows.fxml");
        assert (xmlRes != null);

        AnchorPane ap = FXMLLoader.load(xmlRes);
        return new Scene(ap,640,480);
    }

 还有触动登录、注册、忘记密码等按键时给出的反应(后端、我还没写

(前面几个步骤都正确的话在controller里就会表现出已连接的状态)

三、加载fxml文件

1、类方法

类方法比较简单快捷,代码

public class QQ_App extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("QQwindows.fxml"));
        primaryStage.setTitle("QQ");
        primaryStage.setScene(new Scene(root, 416, 304));
        primaryStage.show();
    }

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

2、对象方法

步骤

1、创建对象

2、设置BuilderFactory

3、设置路径基准

4、对象方法的参数是InputStream,返回值是Object

5、得到Controller

代码如下:

private Initializable replaceSceneContent(String fxml) throws Exception {

        FXMLLoader loader = new FXMLLoader();

        loader.setBuilderFactory(new JavaFXBuilderFactory());
        loader.setLocation(Main.class.getResource(fxml));

        try {

            InputStream in = Main.class.getResourceAsStream(fxml);
            AnchorPane page = (AnchorPane) loader.load(in);
            InputStream,返回值是Object

            Scene scene = new Scene(page, 800, 600);
            stage.setScene(scene);
            stage.sizeToScene();

            return (Initializable) loader.getController();

        } 
        finally {
            in.close();
            return null;
        } 
    }

你可能感兴趣的:(java学习总结)