^^
-> 냅킨 룩앤필 다운로드 후 napkinlaf-1.2.jar 파일을 압축해제 하면 net 디렉토리를 발견할 수 있습니다.
이를 적용한 클래스 파일과 동일한 디렉터리 위치에 가져다 놓으세요~^^
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Vector;
import javax.swing.border.*;
class MyFriend
{
String name;
int age;
public MyFriend(String name, int age)
{
this.name=name;
this.age=age;
}
public String toString() {return name;}
public void showFriendInfo()
{
System.out.println("name: "+ name);
System.out.println("age:" + age);
}
}
class ChoiceHandler implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
System.out.println("Selected...");
((MyFriend)e.getItem()).showFriendInfo();
}
else
{
System.out.println("Deselected...");
((MyFriend)e.getItem()).showFriendInfo();
}
}
}
class TextChangedHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if((e.getActionCommand()).compareTo("comboBoxEdited")==0)
System.out.println("ComboBox Edited");
else
System.out.println("ComboBox Changed");
}
}
class FirstSwing
{
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel("net.sourceforge.napkinlaf.NapkinLookAndFeel");
}
catch(Exception e)
{
e.printStackTrace();
}
JFrame frm = new JFrame("Choice Component");
frm.setBounds(120, 120, 250, 120);
frm.setLayout(new GridLayout(0,2));
Vector friend = new Vector();
friend.add(new MyFriend("yoon", 22));
friend.add(new MyFriend("aoon", 23));
friend.add(new MyFriend("qoon", 24));
friend.add(new MyFriend("woon", 25));
JLabel label1 = new JLabel("ComboBox");
JComboBox cmbBox1 = new JComboBox(friend);
cmbBox1.setMaximumRowCount(3);
cmbBox1.addItemListener(new ChoiceHandler());
JLabel label2 = new JLabel("Editable ComboBox");
JComboBox cmbBox2 = new JComboBox(friend);
cmbBox2.setEditable(true);
cmbBox2.addActionListener(new TextChangedHandler());
frm.add(label1); frm.add(cmbBox1);
frm.add(label2); frm.add(cmbBox2);
frm.setVisible(true);
frm.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
실행화면~^^