1
実際には、画像とテキストの両方をコンボボックスに追加します。私はそれを使用JLabel
を持っているが、それはどのように私はこれを達成することはできません動作しません。ここで画像とテキストの両方をJavaのコンボボックスに追加するには
が私のコードです:ありがとう@MadProgrammer
package swing;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ComboBox {
public ComboBox() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("ComboBOx");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con = frame.getContentPane();
JLabel ar[] = new JLabel[5];
ar[0] = new JLabel("ganesh",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[1] = new JLabel("ganes",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[2] = new JLabel("gane",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[3] = new JLabel("gan",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[4] = new JLabel("ga",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
JComboBox<JLabel> box = new JComboBox<JLabel>(ar);
con.add(box);
con.setBackground(Color.white);
con.setLayout(new FlowLayout());
frame.setVisible(true);
frame.pack();
}
public static void main(String args[]) {
new ComboBox();
}
}
が(HTTPS [カスタムレンダラを提供し、コンボボックスを使用する方法]を見てください見つける:// docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer)デモが可能な例があります – MadProgrammer
モデルでコンポーネントをオブジェクトとして使用しないでください。モデルはデータのみを運ぶと考えられ、データの表示ビュー(この場合は 'JComboBox'とセルレンダラー)に更新されます – MadProgrammer
私は賛成ですg [コンボボックスの使い方](https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer)は、この問題をトピックとして解決するための実例を提供しています。主な問題 – MadProgrammer