2012-03-14 8 views
6

के साथ एक एप्लिकेशन में प्रीफिल लिस्ट व्यू देखें मेरे पास जीयूआई बनाने के लिए एफएक्सएमएल का उपयोग कर जावाएफएक्स एप्लीकेशन है।एफएफएमएल

जब इस आवेदन शुरू की है, मैं ListView, जो भरी हुई, उदाहरण के लिए कुछ मान डेटाबेस से, है की आवश्यकता है। तो, मैं यह कैसे कर सकता हूं?

मुझे पता है कि आवेदन, उपयोगकर्ता एक बटन, या कुछ इस तरह (FXML में "onAction" विशेषता) क्लिक करने के बाद जो ListView करने के लिए आइटम को लोड करता है बनाने के लिए। लेकिन यह मुझे सूट नहीं करता है क्योंकि मुझे सूची दृश्य में स्वचालित रूप से लोड होने वाली वस्तुओं की आवश्यकता है।

उत्तर

8

आप नियंत्रक के साथ fxml है, तो अगले की तरह:

<AnchorPane xmlns:fx="http://javafx.com/fxml" fx:controller="test.Sample"> 
    <children> 
     <ListView fx:id="listView"/> 
    </children> 
</AnchorPane> 

तुम सिर्फ लागू कर सकते हैं Initializable अपने नियंत्रक में:

public class Sample implements Initializable { 
    @FXML 
    private ListView listView; 

    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     // change next line to DB load 
     List<String> values = Arrays.asList("one", "two", "three"); 

     listView.setItems(FXCollections.observableList(values)); 

    } 
} 
14

यह पांच पूर्व निर्धारित बॉड दर के साथ मेरी choicebox भरता है। मुझे लगता है कि अगर आप अपने नियंत्रक से आइटम जोड़ने का प्रयास करते हैं, तो सूची केवल उन मानों को दिखाती है (अवांछित)।

<ChoiceBox fx:id="baudRates" layoutX="234.0" layoutY="72.0"> 
    <items> 
     <FXCollections fx:factory="observableArrayList"> 
      <String fx:value="4800" /> 
      <String fx:value="9600" /> 
      <String fx:value="19200" /> 
      <String fx:value="57600" /> 
      <String fx:value="115200" /> 
     </FXCollections> 
    </items> 
</ChoiceBox> 

आप भी अपनी FXML में निम्नलिखित इंपोर्ट स्टेटमेंट शामिल करने की जरूरत:

<?import javafx.collections.*?> 
+4

काम करता है, लेकिन भूल जाते हैं अपने FXML फ़ाइल के शीर्ष करने के लिए आवश्यक आयात बयान को जोड़ने के लिए नहीं है, जैसे < ' –

+0

आप एक कस्टम फैक्ट्री कैसे आपूर्ति कर सकते हैं? – crush