수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

주소록 만들기 하다가 막혀서요

우람늘

2023.04.01

import java.awt.*;
import java.awt.event.*;

public class AddressBook extends Panel
{
Panel left_panel;
Panel right_panel;
Button add, delete, modify, close;
List lst;
TextField detail;
AddressActor actor;
int itemIndex;

public AddressBook(){

actor = new AddressActor(this);

setLayout(new BorderLayout());
makeRight();
makeLeft();
}

public void makeRight(){
right_panel = new Panel();
right_panel.setLayout(new GridLayout(5,1));
detail = new TextField(20);
add = new Button(추가);
add.addActionListener(actor);
delete = new Button(삭제);
delete.addActionListener(actor);
modify = new Button(수정);
modify.addActionListener(actor);
close = new Button(종료);
close.addActionListener(actor);

right_panel.add(detail);
right_panel.add(add);
right_panel.add(delete);
right_panel.add(modify);
right_panel.add(close);

add(right_panel,West);
}

public void makeLeft(){
lst = new List(10);

add(lst,Center);
}

public void addPerson(){
if(detail.getText().length() != 0)
lst.add(detail.getText());
detail.setText();
}

public void deletePerson(){
if(lst.getSelectedItem() != null)
lst.remove(lst.getSelectedItem());
}

public void modify(int mode){

if(mode == 0){
if(lst.getSelectedItem() != null){
itemIndex = lst.getSelectedIndex();
detail.setText(lst.getSelectedItem());
add.setEnabled(false);
delete.setEnabled(false);
lst.setEnabled(false);
modify.setLabel(저장);
}
}else if(mode == 1){
deletePerson();
lst.add(detail.getText(),itemIndex);
modify.setLabel(수정);
add.setEnabled(true);
delete.setEnabled(true);
lst.setEnabled(true);
detail.setText();
itemIndex = 0;
}
} public static void main(String[] args){

AddressBook book = new AddressBook();
Frame f = new Frame(인명 관리 프로그램);
f.add(book);

f.pack();
f.setVisible(true);
//종료 버튼을 누르면 종료하게 만들기 ----
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}
});
}
} class AddressActor implements ActionListener
{
AddressBook addressBook;
String command;

public AddressActor(AddressBook book){
addressBook = book;

}

public void actionPerformed(ActionEvent e){
command = e.getActionCommand();
System.out.println(command);
if(command.equals(추가))
addressBook.addPerson();
else if(command.equals(삭제))
addressBook.deletePerson();
else if(command.equals(수정))
addressBook.modify(.modify(0);
else if(command.equals(저장))
addressBook.modify(1);
else
System.exit(0);
}
}
이것은 제가 산 책의 시디에 있는 정답이구요

다음은 제가 코딩한 것입니다

실행은 되는데 문제가 있습니다.

1. 크기가 다르구요

2. 텍스트필드에 입력이 되지 않습니다.

3. 텍스트필드가 맨아래 붙였습니다.

그리고 궁금한건데요

왜 패널을 두게 선언한건가요?

하나는 쓰지도 않을 거면서

가르쳐주세요^^
import java.awt.*;
import java.awt.event.*;

public class A extends Panel
{
Panel p1;
Panel p2;
TextField tf;
Button b1;
Button b2;
Button b3;
Button b4;
List l1;
B13 a1;
int index1;

public A(){
a1=new B13(this);
setLayout(new BorderLayout());

makeright();
makeleft();
}

public void makeright(){
p1=new Panel();
p1.setLayout(new GridLayout(5,1));
tf=new TextField(20);
b1=new Button(추가);
b1.addActionListener(a1);
b2=new Button(삭제);
b2.addActionListener(a1);
b3=new Button(수정);
b3.addActionListener(a1);
b4=new Button(종료);
b4.addActionListener(a1);p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b4);
add(p1,West);
}
public void makeleft(){
l1=new List(10);
add(l1,Center);
}
public void me1(){
if(tf.getText().length()!=0)
l1.add(tf.getText());
tf.setText();
}
public void me2(){
if(l1.getSelectedItem()!=null)
l1.remove(l1.getSelectedItem());
}
public void me3(int a){
if(a==0){
if(l1.getSelectedItem()!=null){
index1=l1.getSelectedIndex();
tf.setText(l1.getSelectedItem());
b1.setEnabled(false);
b2.setEnabled(false);
b4.setEnabled(false);
b3.setLabel(저장);
}
}
if(a==1){
me2();
l1.add(tf.getText(),index1);
tf.setText();
b3.setLabel(수정);
b1.setEnabled(true);
b2.setEnabled(true);
b4.setEnabled(true);
index1=0;
}
}

public static void main(String[] arg){
A a2=new A();
Frame f=new Frame();
f.add(a2);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}

class B13 implements ActionListener
{
A b5;
String command;

public B13(A a2){
b5=a2;
}
public void actionPerformed(ActionEvent e){
command=new String();
command=e.getActionCommand();
System.out.println(command);
if(command.equals(추가))
b5.me1();
else if(command.equals(삭제))
b5.me2();
else if(command.equals(수정))
b5.me3(0);
else if(command.equals(저장))
b5.me3(1);
else
System.exit(0);
}
}

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

번호 제 목 글쓴이 날짜
2699380 메뉴가 계단식으로 나타나요.. ㅠ.ㅠ (5) 스릉흔다 2025-06-25
2699354 영문 웹폰트 관련 질문입니다!!! (1) 치킨마루 2025-06-25
2699329 윈도우 미디어 플레이어 URL 질문!!! (1) 제철 2025-06-25
2699296 동영상 배경 질문드려요!!!!!!!!!!!!!! 핫파랑 2025-06-24
2699214 position:fixed 에 대한 질문입니다.. (7) 사이 2025-06-24
2699183 제이쿼리 이미지 슬라이드 위치값 수정 초엘 2025-06-23
2699153 테마[ADORABLE]에서 페이지생성시 하위페이지는 2개밖에 안되나요? 흰여울 2025-06-23
2699129 네이버 블로그 또는 사이트의 글을 불러오기 갤원 2025-06-23
2699070 탭메뉴처럼 셀렉트 박스를 이용해서 내용을 출력할 수 있는 방법이 있을까요. (3) 큰꽃늘 2025-06-22
2699016 인터넷이 안되는 환경에서 validator설치방법 (3) 은송이 2025-06-22
2698988 대체 C++ 6.0 exe 아이콘은 어떻게 넣는건가요? 외국녀 2025-06-22
2698960 음성파일을 embed로 작업했는데..웹 표준코딩으로 변경하려면 어떻게 해야하나요? (1) 잎새 2025-06-21
2698932 메뉴목록 풍선창 만들기 html (2) 하늘이 2025-06-21
2698901 http://www.zeitgeistbot.com/ 이 사이트처럼 움직이는 효과를 무엇이라고 하나요? 누림 2025-06-21
2698876 table width값 크로스브라우징에 대한 문의 (2) 볼수록매력 2025-06-21
2698849 c언어 질문. (3) 아름나 2025-06-20
2698823 setInterval 이벤트 제거 하려면... 가온길 2025-06-20
2698796 이 오류를 이해를 못하겠어요 Addicted 2025-06-20
2698712 IF 문 이 계속 오류가 나요 (2) 옆집오빠야 2025-06-19
2698687 이미지를 클릭하면 그 이미지를 다운받게해주는 방법 질문요 ^^ (미해결) (5) 해지개 2025-06-19
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com