我正在尝试在JavaFX 8中执行一个BooleanBinding,它确定TableView是否为空。我怎么能这样做?
答案 0 :(得分:6)
使用
Bindings.isEmpty(table.getItems())
答案 1 :(得分:0)
ObservableList<> items = table.getItems();
if (items.isEmpty()) {
//do some
} else {
//your table wasn't empty
}
也应该有用
答案 2 :(得分:0)
代码对我来说很有用 试试吧 !这很简单
ObservableList<> list = tableview.getItems();
if (list.size() > 0)
{
}
else
{
//Empty Tableview
}
答案 3 :(得分:0)
//import javafx.beans.binding.Bindings;
if(Bindings.isEmpty(tableViewFxId.getItems()).get()) {
//EMPTY
}else{
//FILLED
}
答案 4 :(得分:0)
由于必须从TableView
填充ObservableList
,因此检查表是否为空的最简单方法是检查ObservableList
是否为空。
if (yourObservableList.isEmpty(){
// run code if table is empty.
}
答案 5 :(得分:0)
或尝试以下操作:
package application;
import com.jfoenix.controls.JFXButton;
import com.jfoenix.controls.JFXDialog;
import com.jfoenix.controls.JFXDialogLayout;
import javafx.collections.ObservableList;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Text;
public class Mensaje {
public Object mensaje( @SuppressWarnings("rawtypes") TableView table, StackPane Stack) {
ObservableList<?> items = table.getItems();
if(items.isEmpty()) {
Text cabecera = new Text();
cabecera.setText("NOTIFICACION");
cabecera.setStyle("-fx-fill:red;-fx-font-weight:bold");
Text mensaje= new Text();
mensaje.setText("DATOS NO ENCONTRADOS");
mensaje.setStyle("-fx-fill:black;-fx-font-weight:bold");
JFXDialogLayout contenido = new JFXDialogLayout();
contenido.setHeading((cabecera));
contenido.setBody(mensaje);
contenido.setStyle(" -fx-background-color: linear-gradient( from 0.0% 0.0% to 100.0% 100.0%, rgb(153,204,153) 0.0, rgb(153,204,153) 100.0);");
JFXDialog dialogo = new JFXDialog(Stack,contenido, JFXDialog.DialogTransition.CENTER);
JFXButton cerrar = new JFXButton("CERRAR");
cerrar.setStyle(" -fx-background-color: white;-fx-border-color: linear-gradient(to bottom, red 14%, red 91%); -fx-border-radius: 15%; -fx-text-fill: red; -fx-font-family: 'Oswald Regular';-fx-font-weight: bold; -fx-border-width: 5px;-fx-background:none;-fx-border-insets: -5.8;");
cerrar.setOnAction(e3->{
dialogo.close();
});
contenido.setActions(cerrar);
dialogo.show();
}
return items;
}
}
答案 6 :(得分:-1)
您可以尝试以下方法:
public Object mensaje(@SuppressWarnings("rawtypes") TableView table) {
ObservableList<?> items = table.getItems();
if(items.isEmpty()) {
Text cabecera = new Text();
cabecera.setText("NOTIFICACION");
cabecera.setStyle("-fx-fill:red;-fx-font-weight:bold");
Text mensaje= new Text();
mensaje.setText("DATOS NO ENCONTRADOS");
mensaje.setStyle("-fx-fill:black;-fx-font-weight:bold");
JFXDialogLayout contenido = new JFXDialogLayout();
contenido.setHeading((cabecera));
contenido.setBody(mensaje);
contenido.setStyle(" -fx-background-color: linear-gradient( from 0.0% 0.0% to 100.0% 100.0%, rgb(153,204,153) 0.0, rgb(153,204,153) 100.0);");
JFXDialog dialogo = new JFXDialog(stackpaneitems,contenido, JFXDialog.DialogTransition.CENTER);
JFXButton cerrar = new JFXButton("CERRAR");
cerrar.setStyle(" -fx-background-color: white;-fx-border-color: linear-gradient(to bottom, red 14%, red 91%); -fx-border-radius: 15%; -fx-text-fill: red; -fx-font-family: 'Oswald Regular';-fx-font-weight: bold; -fx-border-width: 5px;-fx-background:none;-fx-border-insets: -5.8;");
cerrar.setOnAction(e3->{
dialogo.close();
});
contenido.setActions(cerrar);
dialogo.show();
}
return items;
}