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

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

有沒有辦法在 JList 中使用 Enum?

有沒有辦法在 JList 中使用 Enum?

吃雞游戲 2023-09-13 15:30:57
我知道JList有帶有Stringand的構(gòu)造函數(shù)DefaultListModel。我想找到一種將列表與enum類型一起使用的方法,例如JList<SomeEnum> jlist。有辦法實(shí)現(xiàn)這一點(diǎn)嗎?這是一個(gè)小的運(yùn)行示例:import javax.swing.*;import java.awt.*;public class Example implements Runnable {    private JPanel jPanel;    private JFrame jFrame;    private JList<Algorithm> diagnosisList;    public static void main(String[] args) {        EventQueue.invokeLater(new Example());    }    @Override    public void run() {        jFrame = new JFrame();        jPanel = new JPanel();        jPanel.setLayout(new FlowLayout());        jFrame.getContentPane().add(jPanel);        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);        jPanel.setPreferredSize(new Dimension(500, 300));        DefaultListModel defaultListModel = new DefaultListModel();        defaultListModel.add(0, "Decision Tree");        defaultListModel.add(1, "Random Forest");        diagnosisList = getJList(defaultListModel);        jPanel.add(diagnosisList);        jFrame.pack();        jFrame.setVisible(true);    }    // I want to use Algorithm enum for parameter instaed of DefaultListModel    private JList<Algorithm> getJList(DefaultListModel algorithms) {        JList<Algorithm> jlist = new JList<Algorithm>(algorithms);        return jlist;    }    enum Algorithm {        DECISION_TREE_CLASSIFIER_DIAGNOSTIC("Decision Tree Classifier (D)", "Diagnostic"),        RANDOM_FOREST_DIAGNOSTIC("Random Forest (D)", "Diagnostic"),        LOGISTIC_REGRESSION_DIAGNOSTIC("Logistic Regression (D)", "Diagnostic"),        K_MEANS_DIAGNOSTIC("KMeans (D)", "Diagnostic");        private final String name;        private final String type;        Algorithm(final String name, final String type) {            this.name = name;            this.type = type;        }        @Override public String toString() {            return name;        }    }}
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

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

您可以像任何其他數(shù)組一樣將 an 的值添加enum到 a 中。JList例如:


public class Example implements Runnable {

    private JPanel jPanel;

    private JFrame jFrame;

    private JList<Algorithm> diagnosisList;

    private DefaultListModel<Algorithm> model;


    public static void main(String[] args) {

        EventQueue.invokeLater(new Example());

    }


    @Override

    public void run() {

        jFrame = new JFrame();

        jPanel = new JPanel();

        jPanel.setLayout(new FlowLayout());

        jFrame.getContentPane().add(jPanel);

        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        jPanel.setPreferredSize(new Dimension(500, 300));

        model = new DefaultListModel<>();

        diagnosisList = new JList<Algorithm>(model);


        for (Algorithm a : Algorithm.values())

            model.addElement(a);


        jPanel.add(diagnosisList);


        jFrame.pack();

        jFrame.setVisible(true);

    }


    public static enum Algorithm {

        BFS, DFS, A_STAR

    }

}

如果您不喜歡它的渲染方式,您可以隨時(shí)添加自己的ListCellRenderer:


diagnosisList.setCellRenderer(new DefaultListCellRenderer() {

    private static final long serialVersionUID = 1L;


    @Override

    public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected,

            boolean cellHasFocus) {

        JLabel renderer = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);

        renderer.setText(renderer.getText().toLowerCase()); //something

        return renderer;

    }

});


查看完整回答
反對(duì) 回復(fù) 2023-09-13
  • 1 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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