我有兩列的表。我應該將寬度設置爲30%和70%。該表是可擴展的,但不是列。我如何實現這一目標?如何在javafx的tableview中設置列寬?
回答
如果通過「表格可擴展但不是列」,則表示用戶不應該調整列的大小,然後在每列上調用setResizable(false);
。
要使列相對於整個表格寬度保持指定的寬度,請綁定列的prefWidth
屬性。
SSCCE:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class TableColumnResizePolicyTest extends Application {
@Override
public void start(Stage primaryStage) {
TableView<Void> table = new TableView<>();
TableColumn<Void, Void> col1 = new TableColumn<>("One");
TableColumn<Void, Void> col2 = new TableColumn<>("Two");
table.getColumns().add(col1);
table.getColumns().add(col2);
col1.prefWidthProperty().bind(table.widthProperty().multiply(0.3));
col2.prefWidthProperty().bind(table.widthProperty().multiply(0.7));
col1.setResizable(false);
col2.setResizable(false);
primaryStage.setScene(new Scene(new BorderPane(table), 600, 400));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
的TableView
小號columnResizePolicy
是你的朋友:
如果設置TableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY)
所有列將平均調整,直到達到TableView
的最大寬度。
此外,您可以編寫自己的策略:該策略僅爲Callback
,其中ResizeFeatures
作爲輸入來自您可以訪問TableColumn
的位置。
我已經設置。該表正在適當調整大小。但問題是我無法設置列寬。如果我調整大小,最後會顯示另一個空欄。 – NaveenBharadwaj 2015-02-10 10:15:24
然後,您應該考慮發佈顯示您的問題的MCVE(http://stackoverflow.com/help/mcve)。 – eckig 2015-02-10 10:26:01
- 1. 在CSS中設置TableView(JavaFX)
- 2. 如何在javafx的TableView中設置單元格的值
- 3. 在javafx-2.2的TableView中設置可編輯的整數列
- 4. TableView中的JavaFX設置選擇
- 5. JavaFX TableView - 重置列排序
- 6. JavaFX TextArea:如何設置製表寬度
- 7. 如何在JavaFx中設置樣式表TableView
- 8. JavaFX - 在tableview中移動列
- 9. 了JavaFx的TableView列不補的TableView寬度
- 10. 如何TableView中的JavaFX的
- 11. 如何在數據表中設置一些列寬的列寬
- 12. 如何在JTable/JXTable中設置列寬?
- 13. JavaFX:在TableView中強制單個列寬度
- 14. 如何在Javafx中將固定寬度設置爲Gridpane?
- 15. 如何設置datagridview中列的寬度
- 16. JavaFX TableView單元格設置值更高
- 17. JavaFX在tableview中隱藏列的文本
- 18. 在TableView中沒有列出現的JavaFX
- 19. 如何在android中設置gridview的等寬列寬?
- 20. 在Tablesorter中設置列寬
- 21. 如何在phpmyadmin上設置列寬?
- 22. 如何在QTreeView上設置列寬?
- 23. 如何在tableview中添加文件javafx
- 24. JavaFx - 如何在TableView中顯示SimpleStringProperty值
- 25. 如何在Javafx或Scalafx中迭代tableView?
- 26. 如何在tableview中設置UITableViewCellSeparatorStyleNone?
- 27. JavaFX如何設置字符串值到TableView
- 28. 如何在Tableview(Javafx)中只顯示mysql表的單列?
- 29. Javafx:在TableView中重新排序列
- 30. 在javafx中彙總specfic tableview列/行
我認爲這是無法在FXML中管理的,這有點令人傷心。就像設置一個'widthWeight'什麼的。 – codepleb 2016-09-02 12:58:29
@TrudleR我認爲你可以在FXML中做到這一點,不是嗎? ' '。還沒有嘗試過,但我不明白爲什麼它不起作用。 –
2016-09-02 13:02:54
這聽起來非常有趣,你在那裏做什麼。但它看起來像tableColumn無法在FXML中相乘。 :) – codepleb 2016-09-02 13:09:59