JComboBox

JComboBox(ComboModel):可以繼承AbstractListModel和實現ComboBoxModel;重寫getSize() getElementAT()  getSelectedItem() 和setSelectedItem()。
當然也可以直接繼承DefaultComboBoxModel,這樣就不需要重寫以上的四個方法了。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class JComboBoxDemo2 {

	String[] s = {"美國","日本","中國","英國","法國","德國","意大利"};
	
	public JComboBoxDemo2(){
		JFrame jf = new JFrame("JComboBox");
		Container contentPane = jf.getContentPane();
		
		ComboBoxModel mode = new AModel();
		JComboBox combo = new JComboBox(mode);
		combo.setBorder(BorderFactory.createTitledBorder("你喜歡哪個國家?"));
		
		contentPane.add(combo);
		jf.pack();
		jf.setVisible(true);
		jf.addWindowListener(new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
	}
	public static void main(String...args){
		new JComboBoxDemo2();
	}
	
	class AModel extends DefaultComboBoxModel{
		AModel(){
			for(int i=0;i<s.length;i++){
				addElement(s[i]);
			}
		}
	}
}


參考:深入淺出Java Swing程序設計

你可能感兴趣的:(java,swing)