第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JavaFx自定義ListCell為空

JavaFx自定義ListCell為空

胡說叔叔 2023-07-28 09:41:16
ListCell我正在嘗試為 JavaFX創(chuàng)建一個(gè)非常簡單的自定義Listview。運(yùn)行應(yīng)用程序時(shí),有一些項(xiàng)目沒有ListView任何內(nèi)容。它們是可點(diǎn)擊的,但是是空的。如下圖所示:我正在使用 JDK 12 和基于 Maven JFX Archetype(archetype-artifactid:javafx-archetype-fxml, groupid:org.openjfx) 的設(shè)置。我遵循了名為“Turais Custom ListCell”的指南。App.javapublic class App extends Application {private static Scene scene;@Overridepublic void start(Stage stage) throws IOException {    scene = new Scene(loadFXML("primary"));    stage.setScene(scene);    stage.show();}static void setRoot(String fxml) throws IOException {    scene.setRoot(loadFXML(fxml));}private static Parent loadFXML(String fxml) throws IOException {    FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml"));    return fxmlLoader.load();}public static void main(String[] args) {    launch();}}PrimaryController.javapublic class PrimaryController implements Initializable {ObservableList<Student> students;@FXMLprivate ListView<Student> listView1;@FXMLprivate void switchToSecondary() throws IOException {    App.setRoot("secondary");}public PrimaryController(){    super();    students = FXCollections.observableArrayList();   students.add(new Student());}@Overridepublic void initialize(URL url, ResourceBundle resourceBundle) {    listView1.setItems(students);    listView1.setCellFactory(new Callback<ListView<Student>, ListCell<Student>>() {        @Override        public ListCell<Student> call(ListView<Student> listView) {            return new StudentListViewCell();        }    });}}我希望有一個(gè)ListCell中間有一個(gè)標(biāo)簽,上面寫著“rightText”的單曲。但似乎我的自定義列表單元格甚至沒有呈現(xiàn)。有什么建議么?
查看完整描述

1 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

除了您的實(shí)現(xiàn)看起來比需要的復(fù)雜得多之外,您的實(shí)際問題非常簡單。


您的ListCell.fxml文件未將 分配fx:id給您的AnchorPane. 因此,當(dāng)您在StudentListViewCell.java類中定義它時(shí),您實(shí)際上是在創(chuàng)建一個(gè)新的AnchorPane且不包含您的Label.


只需更改ListCell.fxml文件并分配 id 即可解決該問題:


<AnchorPane fx:id="anchorPane" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.172-ea"

            xmlns:fx="http://javafx.com/fxml/1">

    <children>

        <Label fx:id="label1" layoutX="293.0" layoutY="190.0" text="Label"/>

    </children>

</AnchorPane>


查看完整回答
反對(duì) 回復(fù) 2023-07-28
  • 1 回答
  • 0 關(guān)注
  • 208 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)