2017-08-20 2 views
0

Ich habe dieses Programm und ich möchte ein Hintergrundbild zu meinem comboBox hinzufügen. Ich habe viele Methoden und ich kann es nicht machen, kann jemand helfen?Hinzufügen von Hintergrundbild zu JComboBox

class myClass 
{ 

    public static void main(String args[]) 
    { 
    JFrame myFrame = new JFrame(); 
    myFrame.setBounds(500,500,500,500); 
    myFrame.setLayout(null); 
    myFrame.setVisible(true); 

    JComboBox myComboBox = new JComboBox(); 
    myComboBox.setBounds(100,100,100,20); 
    myComboBox.add("item1"); 
    myComboBox.add("item2"); 
    myComboBox.setVisible(true); 

    Image comboBoxImage = new ImageIcon(
     myClass.class.getResources("/Image.png")).getImage(); 
    } 

} 

wie die comboBoxImage als Hintergrund der myComboBox Combobox setzen?

Antwort

0

Sie können einen benutzerdefinierten Renderer auf Sie Box Combo mit:

myComboBox.setRenderer (...);

konnte Eine mögliche Implementierung des Renderers sein:

class BackgroundRenderer extends JLabel implements ListCellRenderer<String> { 
    private final Image image; 

    public BackgroundRenderer(Image image) { 
     this.image = image; 
    } 

    @Override 
    protected void paintComponent(Graphics g) { 
     g.drawImage(image, 0, 0, this); 

     super.paintComponent(g); 
    } 

    @Override 
    public Component getListCellRendererComponent(JList<? extends String> list, String value, int index, 
      boolean isSelected, boolean cellHasFocus) { 
     setText(value); 

     return this; 
    } 
} 
+0

Sie sind sehr gut! Danke – darkagandal

Verwandte Themen