2012-06-14 12 views
7

मैं निम्नलिखित कोड का उपयोग कर एक एकल स्तंभ के साथ एक तालिका बनाने के लिए कोशिश कर रहा हूँ:JavaFX 2 सिंगल कॉलम के साथ tableview बनाने

TableView<String> table = new TableView<String>(); 
table.getColumns().clear(); 
table.getColumns().add(new TableColumn<String, String>("City Name")); 
table.setItems(cityList); 

हालांकि मैं "शहर का नाम" एक खाली स्तंभ के बाद स्तंभ के साथ एक मेज मिल

मैं जावाएफएक्स में नया हूं इसलिए ऐसा करने का एक बेहतर तरीका हो सकता है।

उत्तर

13

मुझे याद है कि बिना किसी किस्मत के सीएसएस गुणों के साथ खेलकर खुद को रिक्त कॉलम "निकालने" का प्रयास किया। वैकल्पिक हल, या तो था
- मैन्युअल रूप से पूरे स्थान को कवर करने cityColumn की वरी चौड़ाई सेट: सीमा चौड़ाई के लिए

TableColumn<String, String> cityColumn = new TableColumn<String, String>("City Name"); 
cityColumn.setPrefWidth(table.getPrefWidth() - 2); 

-2। इसके अलावा आप कॉलम चौड़ाई की संपत्ति को तालिका चौड़ाई की संपत्ति में सीधे बाध्य कर सकते हैं, जिसके परिणामस्वरूप तालिका चौड़ाई का आकार बदलते समय कॉल चौड़ाई स्वचालित रूप से अपडेट हो जाती है। यह उत्तर https://stackoverflow.com/a/10152992/682495 देखें।
या,
- स्तंभ सेट CONSTRAINED_RESIZE_POLICY के लिए नीति का आकार बदलने:

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 
+9

CONSTRAINED_RESIZE_POLICY आप सभी की जरूरत – jewelsea

+2

अंत में CONSTRAINED_RESIZE_POLICY के लिए चला गया है। –