جافا فاكس 2 :كيف يمكنني حذف صف أو عمود في Gridpane

StackOverflow https://stackoverflow.com//questions/23002532

  •  20-12-2019
  •  | 
  •  

سؤال

إذا كنت أرغب في إضافة صف من الحقول النصية برمجيًا في JavaFx، فيمكنني ببساطة استخدام طريقة إضافة جزء الشبكة

يؤدي هذا إلى إضافة مجموعة من الحقول النصية إلى الصف 1.

for (int i = 0; i < Fields.size(); i++) {
   gridpane.add(new TextField(), i, 1);
}

وبالمثل، كيف يمكنني حذف صف؟.لا أجد طريقة مناسبة لحذف صف/عمود بشكل ملائم في JavaFX.

هل كانت مفيدة؟

المحلول

لا توجد طريقة مكافئة مباشرة.لإزالة العقد، استخدم فقطgridpane.getChildren().remove(...); أو gridpane.getChildren().removeAll(...); وقم بتمرير العقد التي تريد إزالتها من الجزء.

نصائح أخرى

في Java 8+، يمكنك استخدام removeIf:

gridPane.getChildren().removeIf(node -> GridPane.getRowIndex(node) == rowNumber);

تنبيه قضائي
في حالة إزالة العناصر من الصف 0, ، تحقق أيضًا GridPane.getRowIndex(node) == null, ، أي.،

node -> GridPane.getRowIndex(node) == null || GridPane.getRowIndex(node) == 0

(أعتقد أن هذا هو JavaFX الذي يترك رقم الصف كما هو null عندما لا يتم إعطاء رقم صف في العنصر المقابل في FXML، على الرغم من أن عدم إعطاء رقم صف في FXML يعني أن العنصر موجود في الصف 0، نظرًا لأن الصف الافتراضي هو الصف 0.)

هذا يعمل بشكل جيد للغاية:

giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top