JavaFX TableView加入其他部件

看这篇文章之前,请先了解TableView的基本使用方法!
达到的效果:
在这里插入图片描述

private TableColumn<Downloader, HBox> finishprogress=new TableColumn<>();

从这里可以看出是建了一个新的列,加载到TableView的数据为一个HBox容器。
目标就是在HBox容器中加入部件,然后与TableView的列关联。

    /*
    写一个需要加入到TableView的容器
    */
    public class PartProgress {
        private ProgressBar pb;
        private Label finishprogress;
        private Separator se=new Separator();
        public HBox hb=new HBox();  //建立一个HBox容器
        /*
            在HBox中放置进度条、标签和分离。
         */
        PartProgress(){
            hb.prefWidth(200);  //设置HBox宽度
            pb=new ProgressBar();
            pb.progressProperty().bind(st.progressProperty());  //将进度条的属性与st(理解为一个线程,可以更新进度)绑定,实现自动更新进度
            finishprogress=new Label();
            finishprogress.textProperty().bind(st.valueProperty());   //为进度同进度条,绑定数据
            se.setPrefWidth(10);       //设置分离的宽度,为了更加美观
            hb.getChildren().add(pb);
            hb.getChildren().add(se);
            hb.getChildren().add(finishprogress);   //将部件加入到HBox中
            hb.setAlignment(Pos.CENTER);        //设置位置,根据实际情况
        }
        pulbic HBox getHbox(){return hb;}
    }
/*
将类型定为HBox
*/
private TableColumn<Downloader, HBox> finishprogress=new TableColumn<>();
/*
这是用TableView的尝龟操作,注意后面的"hb",必须能够在之前那个HBox中通过Getter方法找到。
*/
finishprogress.setCellValueFactory(new PropertyValueFactory<Downloader,HBox>("hb"));

大功告成!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值