NAVER

질문 자바고수님들 도와주세요ㅠ
haha**** 조회수 2,195 작성일2008.12.05

제가 지금 영화결제프로그램 만들고 있는데요.

 

시네마클래스에서 체크박스 체크한 부분을 초이스클래스에서 값을 받아서 텍스트에 무슨 영화가 선택되었는지 텍스트에 글이 써지고 몇개를 선택했는지 보여주고 결제창에서 라디오버튼 선택을 하여 결제버튼을 누르면 계산이 되고 취소버튼을 누르면 말그대로 선택결제하기 전 상태로 만들어야겠는데 체크박스 연결하는데부터 막히네요ㅠ

 

몇일 동안 고민해도 해결을 못하고 있습니다. 미치겠어요.ㅠㅠ

 

자바 고수님들 도와주세요.

 

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Label;

import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;

public class Cinema extends JPanel implements ActionListener {
 private Dimension dimen, dimen1;
 private int xpos, ypos;
 Choice ch;
 JButton pic1, pic2, pic3, pic4, ok, exit;
 JLabel title, choice, detail,king,grade,casting,jang,show;
 JCheckBox l1, l2, l3, l4;
 JTextArea ta;
 
 public Cinema(){
   
  //프레임 생성
  JFrame f = new JFrame("Cinema");
  
  
  //패널 생성
  JPanel p = new JPanel();
  JPanel p1 = new JPanel();
  
  
  
  title = new JLabel("영화관에 오신걸 환영합니다.");
  choice = new JLabel("*보실 영화를 선택해주세요.");
  detail = new JLabel("-포스터를 클릭하시면 영화정보가 나옵니다.");
  
  //포스터
  pic1 = new JButton(new ImageIcon("aa.jpg"));
  pic1.addActionListener(this);
  pic2 = new JButton(new ImageIcon("bb.jpg"));
  pic2.addActionListener(this);
  pic3 = new JButton(new ImageIcon("cc.jpg"));
  pic3.addActionListener(this);
  pic4 = new JButton(new ImageIcon("dd.jpg"));
  pic4.addActionListener(this);
  ok = new JButton("결제");
  ok.addActionListener(this);
  exit = new JButton("종료");
  exit.addActionListener(this);
  
  //체크박스
  l1 = new JCheckBox("007");
  l2 = new JCheckBox("아내가 결혼했다");
  l3 = new JCheckBox("앤티크");
  l4 = new JCheckBox("눈먼자들의 도시");
  
  this.l1.addActionListener(this);
  this.l2.addActionListener(this);
  this.l3.addActionListener(this);
  this.l4.addActionListener(this);
 
  //텍스트박스
  ta=new JTextArea(10,35);
  ta.setText("결제를 하는 창입니다.");
  
     
  p.add(title);
  p.add(detail);
  p.add(pic1);
  p.add(pic2);
  p.add(pic3);
  p.add(pic4);
  p.add(choice);
  p.add(l1);
  p.add(l2);
  p.add(l3);
  p.add(l4);
  p.add(ok);
  p.add(exit);
  
  p1.add(new JScrollPane(ta));//텍스트 안에 스크롤바 추가
  
  
  //패널 배치
  GridBagLayout gridbag = new GridBagLayout();
  GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
//가 없으면 효과가 없음.
  p.setLayout(gridbag);
  
  gc.fill=GridBagConstraints.HORIZONTAL;
  gc.gridx=1; gc.gridy=0; gridbag.setConstraints(title, gc);
  gc.gridx=1; gc.gridy=1; gridbag.setConstraints(detail, gc);
  gc.gridx=1; gc.gridy=2; gridbag.setConstraints(pic1, gc);
  gc.gridx=2; gc.gridy=2; gridbag.setConstraints(pic2, gc);
  gc.gridx=3; gc.gridy=2; gridbag.setConstraints(pic3, gc);
  gc.gridx=4; gc.gridy=2; gridbag.setConstraints(pic4, gc);
  gc.gridx=1; gc.gridy=3; gridbag.setConstraints(choice, gc);
  gc.gridx=1; gc.gridy=4; gridbag.setConstraints(l1, gc);
  gc.gridx=2; gc.gridy=4; gridbag.setConstraints(l2, gc);
  gc.gridx=3; gc.gridy=4; gridbag.setConstraints(l3, gc);
  gc.gridx=4; gc.gridy=4; gridbag.setConstraints(l4, gc);
  gc.gridx=2; gc.gridy=5; gridbag.setConstraints(ok, gc);
  gc.gridx=3; gc.gridy=5; gridbag.setConstraints(exit, gc);
  
  
  //프레임 뿌려줌
  f.setLayout(gridbag);
  
  gc.gridx=1; gc.gridy=0;  gridbag.setConstraints(p, gc);
  gc.gridx=1; gc.gridy=1;  gridbag.setConstraints(p1, gc);
  
  
  f.getContentPane().add(p);
  f.getContentPane().add(p1);
  f.setSize(950,630);
  dimen = Toolkit.getDefaultToolkit().getScreenSize();
  dimen1 = f.getSize();
  xpos = (int)(dimen.getWidth()/2 - dimen1.getWidth()/2);
  ypos = (int)(dimen.getHeight()/2 - dimen1.getHeight()/2);
  f.setLocation(xpos,ypos);//프레임 중앙배치
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
 } 
  
 
 //이벤트처리
 public void actionPerformed(ActionEvent e) {
  if(e.getSource()==exit){
   if(JOptionPane.showConfirmDialog(this,
         "종료하시겠습니까?",
            "종료",
    JOptionPane.OK_CANCEL_OPTION)==JOptionPane.OK_OPTION)System.exit(0);
  }
  else if(e.getSource()==ok){//결제버튼 이벤트
   ch = new Choice();
   
   
  }
  else if(e.getSource()==pic1){
   JFrame f1 = new JFrame("007");
   JPanel p = new JPanel();
   
   
   title = new JLabel(new ImageIcon("aa.jpg"));
   detail = new JLabel(new ImageIcon("aaa.jpg"));
   king = new JLabel("감독 : 마크 포스터");
   casting = new JLabel("주연 : 다니엘 크레이그, 마티유 아마릭");
   grade = new JLabel("등급 : 15세이상");
   jang = new JLabel("장르 : 액션, 어드벤처");
   show = new JLabel("개봉일 : 2008-11-05");
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
//가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f1.getContentPane().add(p);
   f1.pack();
   f1.setVisible(true);
   f1.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic2){
   JFrame f2 = new JFrame("아내가 결혼했다");
   JPanel p = new JPanel();
   
   title = new JLabel(new ImageIcon("bb.jpg"));
   detail = new JLabel(new ImageIcon("bbb.jpg"));
   king = new JLabel("감독 : 정윤수");
   casting = new JLabel("주연 : 손예진, 김주혁");
   grade = new JLabel("등급 : 청소년 관람불가");
   jang = new JLabel("장르 : 로맨스");
   show = new JLabel("개봉일 : 2008-10-23");
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
//가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   f2.getContentPane().add(p);
   f2.pack();
   f2.setVisible(true);
   f2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic3){
   JFrame f3 = new JFrame("앤티크");
   JPanel p = new JPanel();
  
   
   title = new JLabel(new ImageIcon("cc.jpg"));
   detail = new JLabel(new ImageIcon("ccc.jpg"));
   king = new JLabel("감독 : 민규동");
   casting = new JLabel("주연 : 주지훈, 김재욱, 유아인, 최지호");
   grade = new JLabel("등급 : 15세이상");
   jang = new JLabel("장르 : 드라마");
   show = new JLabel("개봉일 : 2008-11-13");
   
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
//가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f3.getContentPane().add(new JScrollPane(p));
   f3.setSize(650,500);
   f3.setVisible(true);
   f3.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic4){
   JFrame f4 = new JFrame("눈먼자들의 도시");
   JPanel p = new JPanel();
   
   title = new JLabel(new ImageIcon("dd.jpg"));
   detail = new JLabel(new ImageIcon("ddd.jpg"));
   king = new JLabel("감독 : 페르난도 메이렐레스");
   casting = new JLabel("주연 : 줄리안 무어,마크 러팔로,가엘 가르시아 베르날, 대니 글로버");
   grade = new JLabel("등급 : 청소년 관람불가");
   jang = new JLabel("장르 : 미스터리, 로맨스, 스릴러");
   show = new JLabel("개봉일 : 2008-11-20");
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
//가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f4.getContentPane().add(p);
   f4.pack();
   f4.setVisible(true);
   f4.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==l1){
   ta.setText("007 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
   
  }
  else if(e.getSource()==l2){
   ta.setText("아내가 결혼했다 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  else if(e.getSource()==l3){
   ta.setText("앤티크 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  else if(e.getSource()==l4){
   ta.setText("눈먼자들의 도시 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  
 }
 

 

 public static void main(String[] args){
  new Cinema();
 }

 

 

}

 

 

 

 

 

 

 

import java.awt.Checkbox;
import java.awt.CheckboxGroup;

 

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.text.Caret;


public class Choice extends Cinema{
 
 Checkbox adult, youth, pay1, pay2;
 JButton ok, chancle;
 JTextArea ta;
 
 public Choice(){
  JFrame f = new JFrame("결제");
  JPanel p = new JPanel();
  
  
  
  CheckboxGroup cbg1 = new CheckboxGroup();
  adult = new Checkbox("어른",cbg1,false);
  youth = new Checkbox("청소년",cbg1,false);
  
  
  CheckboxGroup cbg2 = new CheckboxGroup();
  pay1 = new Checkbox("현금구매",cbg2,false);
  pay2 = new Checkbox("카드구매",cbg2,false);
  
  ta = new JTextArea(20,30);
   new JScrollPane(ta);
  
  ok = new JButton("결제");
  chancle = new JButton("취소");
 
  
  p.add(adult);
  p.add(youth);
  p.add(pay1);
  p.add(pay2);
  p.add(ta);
  p.add(new JScrollPane(ta));
  
  
  
  p.add(ok);
  p.add(chancle);
  
  
  f.getContentPane().add(p);
  f.setSize(350,500);
  
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
 }
 public static void main(String[] args){
  new Choice();
 }
 

}


프로필 사진

답변자님,

정보를 공유해 주세요.

1 개 답변
1번째 답변
프로필 사진
ssam****
고수
자바, JSP 분야에서 활동
본인 입력 포함 정보
우선 원하시는데로 수정은 했으나... 대충만들어서 효율은 좋치않습니다.
버그도 있고 왜냐면 체크박스 여러개 선택하고 나중에 취소누르고 다시와서 또 누르게되면 문제가
발생할수잇게죠?
그런 취소처리나 그런부분에 대해서는 님께서 조금만 추가하시면되요 코딩몇줄에 끝나긴해요 ^^


import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Label;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
public class Cinema extends JPanel implements ActionListener,ItemListener {
 private Dimension dimen, dimen1;
 private int xpos, ypos;
 Choice ch;
 JButton pic1, pic2, pic3, pic4, ok, exit;
 JLabel title, choice, detail,king,grade,casting,jang,show;
 JCheckBox l1, l2, l3, l4;
 JTextArea ta;
 
 ArrayList<String> item = new ArrayList<String>();
 
 public Cinema(){
   
  //프레임 생성
  JFrame f = new JFrame("Cinema");
  
  
  //패널 생성
  JPanel p = new JPanel();
  JPanel p1 = new JPanel();
  
  
  
  title = new JLabel("영화관에 오신걸 환영합니다.");
  choice = new JLabel("*보실 영화를 선택해주세요.");
  detail = new JLabel("-포스터를 클릭하시면 영화정보가 나옵니다.");
  
  //포스터
  pic1 = new JButton(new ImageIcon("aa.jpg"));
  pic1.addActionListener(this);
  pic2 = new JButton(new ImageIcon("bb.jpg"));
  pic2.addActionListener(this);
  pic3 = new JButton(new ImageIcon("cc.jpg"));
  pic3.addActionListener(this);
  pic4 = new JButton(new ImageIcon("dd.jpg"));
  pic4.addActionListener(this);
  ok = new JButton("결제");
  ok.addActionListener(this);
  exit = new JButton("종료");
  exit.addActionListener(this);
  
  //체크박스
  l1 = new JCheckBox("007");
  l2 = new JCheckBox("아내가 결혼했다");
  l3 = new JCheckBox("앤티크");
  l4 = new JCheckBox("눈먼자들의 도시");
  
  l1.addItemListener(this);
  l2.addItemListener(this);
  l3.addItemListener(this);
  l4.addItemListener(this);
  
/*아래 내용은 필요없습니다. 지우셔도 됨*/
  this.l1.addActionListener(this);
  this.l2.addActionListener(this);
  this.l3.addActionListener(this);
  this.l4.addActionListener(this);
 
  //텍스트박스
  ta=new JTextArea(10,35);
  ta.setText("결제를 하는 창입니다.");
  
     
  p.add(title);
  p.add(detail);
  p.add(pic1);
  p.add(pic2);
  p.add(pic3);
  p.add(pic4);
  p.add(choice);
  p.add(l1);
  p.add(l2);
  p.add(l3);
  p.add(l4);
  p.add(ok);
  p.add(exit);
  
  p1.add(new JScrollPane(ta));//텍스트 안에 스크롤바 추가
  
  
  //패널 배치
  GridBagLayout gridbag = new GridBagLayout();
  GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
                                                   //가 없으면 효과가 없음.
  p.setLayout(gridbag);
  
  gc.fill=GridBagConstraints.HORIZONTAL;
  gc.gridx=1; gc.gridy=0; gridbag.setConstraints(title, gc);
  gc.gridx=1; gc.gridy=1; gridbag.setConstraints(detail, gc);
  gc.gridx=1; gc.gridy=2; gridbag.setConstraints(pic1, gc);
  gc.gridx=2; gc.gridy=2; gridbag.setConstraints(pic2, gc);
  gc.gridx=3; gc.gridy=2; gridbag.setConstraints(pic3, gc);
  gc.gridx=4; gc.gridy=2; gridbag.setConstraints(pic4, gc);
  gc.gridx=1; gc.gridy=3; gridbag.setConstraints(choice, gc);
  gc.gridx=1; gc.gridy=4; gridbag.setConstraints(l1, gc);
  gc.gridx=2; gc.gridy=4; gridbag.setConstraints(l2, gc);
  gc.gridx=3; gc.gridy=4; gridbag.setConstraints(l3, gc);
  gc.gridx=4; gc.gridy=4; gridbag.setConstraints(l4, gc);
  gc.gridx=2; gc.gridy=5; gridbag.setConstraints(ok, gc);
  gc.gridx=3; gc.gridy=5; gridbag.setConstraints(exit, gc);
  
  
  //프레임 뿌려줌
  f.setLayout(gridbag);
  
  gc.gridx=1; gc.gridy=0;  gridbag.setConstraints(p, gc);
  gc.gridx=1; gc.gridy=1;  gridbag.setConstraints(p1, gc);
  
  
  f.getContentPane().add(p);
  f.getContentPane().add(p1);
  f.setSize(950,630);
  dimen = Toolkit.getDefaultToolkit().getScreenSize();
  dimen1 = f.getSize();
  xpos = (int)(dimen.getWidth()/2 - dimen1.getWidth()/2);
  ypos = (int)(dimen.getHeight()/2 - dimen1.getHeight()/2);
  f.setLocation(xpos,ypos);//프레임 중앙배치
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
 } 
  
 
 //이벤트처리
 public void actionPerformed(ActionEvent e) {
  if(e.getSource()==exit){
   if(JOptionPane.showConfirmDialog(this,
         "종료하시겠습니까?",
            "종료",
    JOptionPane.OK_CANCEL_OPTION)==JOptionPane.OK_OPTION)System.exit(0);
  }
  else if(e.getSource()==ok){//결제버튼 이벤트
   ch = new Choice(item);
  }
  else if(e.getSource()==pic1){
   JFrame f1 = new JFrame("007");
   JPanel p = new JPanel();
   
   
   title = new JLabel(new ImageIcon("aa.jpg"));
   detail = new JLabel(new ImageIcon("aaa.jpg"));
   king = new JLabel("감독 : 마크 포스터");
   casting = new JLabel("주연 : 다니엘 크레이그, 마티유 아마릭");
   grade = new JLabel("등급 : 15세이상");
   jang = new JLabel("장르 : 액션, 어드벤처");
   show = new JLabel("개봉일 : 2008-11-05");
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
                                                    //가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f1.getContentPane().add(p);
   f1.pack();
   f1.setVisible(true);
   f1.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic2){
   JFrame f2 = new JFrame("아내가 결혼했다");
   JPanel p = new JPanel();
   
   title = new JLabel(new ImageIcon("bb.jpg"));
   detail = new JLabel(new ImageIcon("bbb.jpg"));
   king = new JLabel("감독 : 정윤수");
   casting = new JLabel("주연 : 손예진, 김주혁");
   grade = new JLabel("등급 : 청소년 관람불가");
   jang = new JLabel("장르 : 로맨스");
   show = new JLabel("개봉일 : 2008-10-23");
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
                                                    //가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   f2.getContentPane().add(p);
   f2.pack();
   f2.setVisible(true);
   f2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic3){
   JFrame f3 = new JFrame("앤티크");
   JPanel p = new JPanel();
  
   
   title = new JLabel(new ImageIcon("cc.jpg"));
   detail = new JLabel(new ImageIcon("ccc.jpg"));
   king = new JLabel("감독 : 민규동");
   casting = new JLabel("주연 : 주지훈, 김재욱, 유아인, 최지호");
   grade = new JLabel("등급 : 15세이상");
   jang = new JLabel("장르 : 드라마");
   show = new JLabel("개봉일 : 2008-11-13");
   
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
                                                    //가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f3.getContentPane().add(new JScrollPane(p));
   f3.setSize(650,500);
   f3.setVisible(true);
   f3.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==pic4){
   JFrame f4 = new JFrame("눈먼자들의 도시");
   JPanel p = new JPanel();
   
   title = new JLabel(new ImageIcon("1.jpg"));
   detail = new JLabel(new ImageIcon("2.jpg"));
   king = new JLabel("감독 : 페르난도 메이렐레스");
   casting = new JLabel("주연 : 줄리안 무어,마크 러팔로,가엘 가르시아 베르날, 대니 글로버");
   grade = new JLabel("등급 : 청소년 관람불가");
   jang = new JLabel("장르 : 미스터리, 로맨스, 스릴러");
   show = new JLabel("개봉일 : 2008-11-20");
   
   
   p.add(title);
   p.add(king);
   p.add(casting);
   p.add(grade);
   p.add(jang);
   p.add(show);
   p.add(detail);
   
   //패널 배치
   GridBagLayout gridbag = new GridBagLayout();
   GridBagConstraints gc = new GridBagConstraints();//GridBagLayout은 GridBagConstraints
                                                    //가 없으면 효과가 없음.
   p.setLayout(gridbag);
   gc.gridx=0; gc.gridy=0; gridbag.setConstraints(title, gc);
   gc.gridx=0; gc.gridy=1; gridbag.setConstraints(king, gc);
   gc.gridx=0; gc.gridy=2; gridbag.setConstraints(casting,gc);
   gc.gridx=0; gc.gridy=3; gridbag.setConstraints(grade,gc);
   gc.gridx=0; gc.gridy=4; gridbag.setConstraints(jang,gc);
   gc.gridx=0; gc.gridy=5; gridbag.setConstraints(show,gc);
   gc.gridx=0; gc.gridy=6; gridbag.setConstraints(detail,gc);
   
   
   f4.getContentPane().add(p);
   f4.pack();
   f4.setVisible(true);
   f4.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
   
  }
  else if(e.getSource()==l1){
   ta.setText("007 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
   
  }
  else if(e.getSource()==l2){
   ta.setText("아내가 결혼했다 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  else if(e.getSource()==l3){
   ta.setText("앤티크 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  else if(e.getSource()==l4){
   ta.setText("눈먼자들의 도시 영화를 선택하셨습니다.\n 성인-8000원 \n 청소년-6000원");
  }
  
 }
 
 
 public static void main(String[] args){
  new Cinema();
 }


public void itemStateChanged(ItemEvent e) {
Object source = e.getItemSelectable();
if(source ==l1)
item.add(l1.getText());
else if(source==l2)
item.add(l2.getText());
else if(source==l3)
item.add(l3.getText());
else if(source==l4)
item.add(l4.getText());
}
 
 
}
 


===========================================================================================


import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.util.ArrayList;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.text.Caret;

public class Choice extends Cinema{
 
 Checkbox adult, youth, pay1, pay2;
 JButton ok, chancle;
 JTextArea ta;
 
 public Choice(ArrayList<String> item){
  JFrame f = new JFrame("결제");
  JPanel p = new JPanel();
  
  
  
  CheckboxGroup cbg1 = new CheckboxGroup();
  adult = new Checkbox("성인",cbg1,false);
  youth = new Checkbox("청소년",cbg1,false);
  
  
  CheckboxGroup cbg2 = new CheckboxGroup();
  pay1 = new Checkbox("현금",cbg2,false);
  pay2 = new Checkbox("카드",cbg2,false);
  
  ta = new JTextArea(20,30);
  for(String s:item)
 ta.append(s+"\n");
   new JScrollPane(ta);
  
  ok = new JButton("결제");
  chancle = new JButton("취소");
 
  
  p.add(adult);
  p.add(youth);
  p.add(pay1);
  p.add(pay2);
  p.add(ta);
  p.add(new JScrollPane(ta));
  
  
  
  p.add(ok);
  p.add(chancle);
  
  
  f.getContentPane().add(p);
  f.setSize(350,500);
  
  f.setVisible(true);
  f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
 }
 
}

2008.12.05.

  • 채택

    질문자가 채택한 답변입니다.

도움이 되었다면 UP 눌러주세요!
UP이 많은 답변일수록 사용자들에게 더 많이 노출됩니다.