옵션 |
|
이런 프로그램입니다.
일단 이름,나이, 주소를 입력하고 콤보박스에 추가가 됩니다.
여기 까지는 간단하게 구현했구요.
Delete버튼 누르면 역시 삭제 되는 것 까지 구현을 하였습니다.
Show를 누르면 주소록에 선택 되어있는 사람의 정보가 이름,나이,주소 텍스트 필드에 맞게 떠야되는데요..
그래서 제가 Show버튼에 ActionListener를 추가했습니다.
그 후가 문제 던데요...ㅠ ㅠ
public class Study{
public static void main(String[] args) throws Exception{
MemberServer b = new MemberServer();
b.setVisible(true);
b.start();
System.exit(1);
}
}
class MemberServer extends JFrame implements ActionListener,ItemListener{
static final int PORT = 4401;
private JTextField nameField, addressField, ageField;
private JButton addMember;
private JButton deleteMember;
private JButton showMember;
private JComboBox membersCombo;
private DefaultComboBoxModel members;
MemberServer() throws Exception{
//일단 패널에 버튼 추가 하는 것은 다 지웠습니다. 복잡해서..
addMember.addActionListener(this);
deleteMember.addActionListener(this);
showMember.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e){
Member m= (Member) membersCombo.getSelectedItem();
여기서 어떻게 해야할지 도저히 감이 안잡힙니다. ㅠㅠㅠ
show버튼을 누를때, JcomboBox타입인 memeberscombo의 선택된 값을 Member타입으로 참조하려 는데.. 이렇게 접근하는게 맞을지요.. ㅠㅠ
}
});
contentPane.add(buttonPanel,BorderLayout.EAST);
this.pack();
}
public void start() throws Exception{
AddressManager adm = new AddressManager();
adm.startService();
}
private void insert_member(Member mem){
members.addElement(mem);
}
private void delete_member(Member mem){
int index = members.getIndexOf(mem);
if(index >=0)
members.removeElementAt(index);
}
public void actionPerformed(ActionEvent ae){
String name = nameField.getText();
int age = Integer.parseInt(ageField.getText());
String address = addressField.getText();
Member mem = new Member(name,age,address);
if(ae.getSource() == addMember)
insert_member(mem);
else if (ae.getSource() == deleteMember)
delete_member(mem);
}
}
class Member{
private String name,address;
private int age;
Member(String n, int a, String addr){
this.name = n;
this.age = a;
this.address = addr;
}
public boolean equals (Object other){
Member om = (Member)other;
return name.equals(om.name);
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getAddr(){
return address;
} //검은 부분은 없는 건데, 제가 이렇게 해볼까해서 추가 해본거구요 ㅠㅠ
public String toString(){
return name;
}
}
솔직히 과제는 아니고, 시험대비로 공부중입니다.
항상 질문만 하러오는게 염치없지만, 여기서 많은 정보를 얻고 가고
회원분들에 고마움에 항상 감사할따름입니다. ㅠㅠ
한번만 도와주세요ㅠㅠ