4.23总结

本文介绍了在JavaFX中如何使用ListView,通过ArrayList和ObservableList存储数据,创建Data类来封装信息。重点在于自定义ListCell,设置按钮和标签等元素,实现列表视图的前端展示。这是作者本周主要攻克的技术难题。
摘要由CSDN通过智能技术生成

今天的这篇总结,我会针对性的讲一下ListView。

首先注意这个东西。

我们所有的要重写listview的东西都要放在这个里面。

我们会在listView里面添加相对的文字之内的,就需要ArrayList这个东西,它相当于一个容器,把要添加的东西放进这个容器里面。然后用ObservableList的getItems,把我想要添加的东西,全部添加进去。

                Data d1 = new Data("ghy", 1);
                Data d2 = new Data("wcb", 2);
                Data d3 = new Data("wj", 3);

                ArrayList<Data> arry = new ArrayList<>();
                arry.add(d1);
                arry.add(d2);
                arry.add(d3);

                ObservableList<Data> obist = listView.getItems();
                obist.addAll(arry);

 我定义了一个Data类,如下:

package view;

public class User {
    private String name;
    private String id;

    public User(String name, String id){
        this.name=name;
        this.id=id;
    }
    public  String getName(){
        return name;
    }
    public  void setName(String name){
        this.name=name;
    }
    public String getId(){
        return id;
    }
    public void setId(String id){
        this.id=id;
    }
}

 然后最主要的关键在这里

 //自定义listView
                listView.setCellFactory(new Callback<ListView<Data>, ListCell<Data>>() {
                        @Override
                        public ListCell<Data> call(ListView<Data> param) {
                                ListCell<Data> list = new ListCell<Data>() {
                                        @Override
                                        protected void updateItem(Data arg0, boolean arg1) {
                                                super.updateItem(arg0, arg1);
                                                if (arg1 == false) {
                                                        HBox hbox = new HBox(10);
                                                        hbox.setAlignment(Pos.BASELINE_LEFT);//对齐显示
                                                        Button bt = new Button("button");
                                                        Label la = new Label("设置");
                                                        hbox.getChildren().addAll(bt, la);//添加
                                                        this.setGraphic(hbox);//启动
                                                }
                                        }

                                };
                                return list;
                        }
                });

 这里的东西是要依靠自己的想法,把你想要设置成什么样的然后设置进去,但是基本上一个最主要的解构就是长主要,至于要怎么改,是自己的项目的流程了。

在这里为止,这里就是前端的一个大概写法。

这一周也就是绕着这里搞了,就是很麻烦,这里是我目前搞得最麻烦的地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值