今天的这篇总结,我会针对性的讲一下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;
}
});
这里的东西是要依靠自己的想法,把你想要设置成什么样的然后设置进去,但是基本上一个最主要的解构就是长主要,至于要怎么改,是自己的项目的流程了。
在这里为止,这里就是前端的一个大概写法。
这一周也就是绕着这里搞了,就是很麻烦,这里是我目前搞得最麻烦的地方。