我试图TableView table按某一列排序.当我显示表格时,它显示了但是从我在这里和其他网站上发现的内容来看,它让我越来越困惑.
这是tableview代码
public TableView<Animal> animalLostLocation(ArrayList<Animal> list)
{
TableColumn<Animal, String> atypeColumn = new TableColumn<>("Animal Type");
atypeColumn.setMinWidth(200);
atypeColumn.setSortable(false);
atypeColumn.setCellValueFactory(new PropertyValueFactory<>("aType"));
TableColumn<Animal, String> descriptionColumn = new TableColumn<>("Description");
descriptionColumn.setMinWidth(200);
descriptionColumn.setSortable(false);
descriptionColumn.setCellValueFactory(new PropertyValueFactory<>("description"));
TableColumn<Animal, String> breedColumn = new TableColumn<>("Breed");
breedColumn.setMinWidth(80);
breedColumn.setSortable(false);
breedColumn.setCellValueFactory(new PropertyValueFactory<>("breed"));
TableColumn<Animal, String> nameColumn = new TableColumn<>("Name");
nameColumn.setMinWidth(200);
nameColumn.setSortable(false);
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<Animal, Catergory> catColumn = new TableColumn<>("Category");
catColumn.setMinWidth(200);
breedColumn.setSortable(false);
catColumn.setCellValueFactory(new PropertyValueFactory<>("category"));
TableColumn<Animal, Integer > ageColumn = new TableColumn<>("Age");
ageColumn.setMinWidth(50);
ageColumn.setSortable(false);
ageColumn.setCellValueFactory(new PropertyValueFactory<>("age"));
TableColumn<Animal, Integer > idColumn = new TableColumn<>("ID");
idColumn.setMinWidth(50); …Run Code Online (Sandbox Code Playgroud) 我试图在 tableview 中将布尔值显示为字符串,所以我想显示男性而不是 true。
老实说,我有点迷失了。我在互联网上找不到任何帮助。
ecilpse 给我的错误是方法“类型 TableColumn 中的 setCellValueFactory(Callback,ObservableValue>) 不适用于参数 (( cellData) -> {})”
继承人我的代码。它可能是错误的
TableColumn<Animal, String > genColumn = new TableColumn<>("Male");
genColumn.setMinWidth(50);
genColumn.setCellValueFactory(cellData -> {
boolean gender = cellData.getValue().getGender();
String genderAsString;
if(gender == true)
{
genderAsString = "Male";
}
else
{
genderAsString = "Female";
}
new ReadOnlyStringWrapper(genderAsString);
});
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助谢谢
我想创建一个我输入名称的文本文件并将其保存到一个位置。我可以使用DirectoryChooser选择位置,但是如何输入文件名。DirectoryChooser中是否为此提供了一个选项。
这是我的代码
public void directoryChooser() {
DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("Choose location To Save Report"):
File selectedDirectory = null;
while(selectedDirectory == null){
selectedDirectory = chooser.showDialog(null);
}
File file = new File(selectedDirectory + "/" + "Report.txt");
PrintWriter outFile = null;
try {
outFile = new PrintWriter(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i = 0; i<table.getItems().size(); i++){
outFile.println(table.getItems().get(i).toString());
}
outFile.close();
}
Run Code Online (Sandbox Code Playgroud)
所以我想让我选择输入要保存的文件名。
例如
嘿,我有一个gridpane和一个节点,我希望它能够占用整行.
但我似乎无法弄清楚如何使用GridPane.setColumnSpan(节点,列跨度);
继承我的代码
grid.getChildren().addAll(animalFields(animal));
grid.setHgap(10);
grid.addRow(2, status, neutered, chipped, vaccinated, reserved);
grid.addRow(3, statusCb,new HBox(neuteredYes, neuteredNo), new HBox(chippedYes, chippedNo), new HBox(vaccinatedYes, vaccinatedNo), new HBox(reservedYes, reservedNo));
grid.addRow(4, new Label("people interested"));
grid.addRow(6, sponsorsTable(((Adoption) animal.getAdoption()).getInterested()));
GridPane.setColumnSpan(sponsorsTable(((Adoption) animal.getAdoption()).getInterested()), 6);
grid.addRow(7, hBox2);
Run Code Online (Sandbox Code Playgroud)
这就是它现在的样子
这就是我想要的样子
感谢任何帮助.谢谢