0

Colour.java で宣言された列挙型を JComboBox に入力しようとしています。Colour.values() を使用して列挙型の説明にアクセスできますが、列挙型宣言自体にアクセスすることは可能ですか? JComboBox に Blue と Red を追加したいと思います。http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.htmlを見てみましたが、役に立ちませんでした。

package example;
import javax.swing.*;

public class ColourView extends View {

private JLabel colourLabel;
private JComboBox comboBox;
private DefaultComboBoxModel model;

public ColourView() {
    colourLabel = new JLabel();
    colourLabel.setText("Colours");
    colourLabel.setBounds(20, 30, 70, 20);
    mainContentLayeredPane.add(colourLabel, JLayeredPane.DEFAULT_LAYER);

    comboBox = new JComboBox(Colour.values());     

    comboBox.setSize(100, 20);
    mainContentLayeredPane.add(comboBox, JLayeredPane.DEFAULT_LAYER);
}

public void setComboBox(String[] list) {
    model = new DefaultComboBoxModel(list);
    comboBox.setModel(model);
}
}

package example;

public enum Colour {
BLUE("Blue Paint", 12),
RED("Red Paint", 4);
private String description;
private int value; 

Colour(String description, int value){
    this.description = description; 
    this.value = value; 
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public int getValue() {
    return value;
}

@Override
public String toString() {
    return description;
}
}
4

1 に答える 1

2

同じ色の小さなサンプルを色名の横に表示したい場合は、カスタム レンダラーが必要です。から始める場合は、同じ色でペイントされた をDefaultListCellRenderer追加するか、ここに示すように背景を変更できます。Icon

于 2013-03-25T12:30:46.023 に答える