JavaFX-ListView组件

使用idea创建一个javafx项目

JavaFX-ListView组件_第1张图片

 修改FXML布局文件







         
            
         

编写HelloApplication类


import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.control.SelectionMode;
import javafx.stage.Stage;

import java.io.IOException;

public class HelloApplication extends Application {

    private ListView listView;

    public void showListView() {
        ObservableList list = FXCollections.observableArrayList();
        list.add("张三");
        list.add("张三1");
        list.add("张三3");
        list.add("李四1");
        list.add("李四2");
        list.add("张三6");
        list.add("李四3");
        listView.setItems(list);
        listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
    }

    @Override
    public void start(Stage stage) throws IOException {
//        Parent root = FXMLLoader.load(getClass().getResource("hello-view.fxml"));
//        Scene scene = new Scene(root);
        //初始化FXML布局文件内容
        FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml"));
        //父级
        Parent root = fxmlLoader.load();
        //根据fx:id从父级root布局中查询并实例化listView组件
        listView= (ListView) root.lookup("#listView");
        //渲染listView组件
        showListView();
        //设置标题
        stage.setTitle("JavaFx示例");
        //实例化场景长宽
        Scene scene = new Scene(root, 400, 240);
        //设置场景
        stage.setScene(scene);
        //渲染场景
        stage.show();
    }

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

}

运行界面

JavaFX-ListView组件_第2张图片

最大化界面

JavaFX-ListView组件_第3张图片

 其他代码

HelloController


import javafx.fxml.Initializable;

import java.net.URL;
import java.util.ResourceBundle;

public class HelloController implements Initializable {


    @Override
    public void initialize(URL url, ResourceBundle resourceBundle) {

    }
}

 module-info.java

module yu.javafxdemos {
    requires javafx.controls;
    requires javafx.fxml;


    opens yu.javafxdemos to javafx.fxml;
    exports yu.javafxdemos;
}

pom.xml 



    4.0.0

    yu
    JavaFXDemos
    1.0-SNAPSHOT
    JavaFXDemos

    
        UTF-8
        17.0.2
    

    

        
            org.openjfx
            javafx-controls
            ${javafx.version}
        
        
            org.openjfx
            javafx-fxml
            ${javafx.version}
        

    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    17
                    17
                
            
            
                org.openjfx
                javafx-maven-plugin
                0.0.6
                
                    
                        
                        default-cli
                        
                            yu.javafxdemos/yu.javafxdemos.HelloApplication
                        
                    
                
            
        
    

你可能感兴趣的:(JavaFx,javafx)