[java swing질문] 버튼이벤트 발생시 이미지 생성질문이요!!
이퓨리한은지
Swing 을 이요한 프로그램을 짜고있는데요..
프레임이 있고 그안에는 internalframe 이 있습니다.
프레임에는 메뉴가 있고요..그 메뉴를 클릭하게 되면 다른클래스에 있는 Jdialog가 실행되어 새창이 띄워집니다..
그 안에서 버튼을 누르게 되면 원래 프레임안에 있던 internalframe에 특정위치에 그림이 뜨게 하고 싶은데요..
구현이 맘대로 잘되지 않아서 이렇게 도움을 요청합니다..
아래는 소스내용중의 일부이고요..해당 질문부분을 표시 해놓겠습니다..답변해주시면 감사해요..
더 좋은 방법으로 구현이 가능하면 그 부분에 대해서도 좀 알려주십사합니다.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.* ;
import javax.swing.event.*;
public class Fish extends JFrame implements ActionListener{
JDesktopPane xDesktop = new JDesktopPane();
JMenuBar mbar = new JMenuBar();
Container con = null;
JScrollPane scrollPane;
public Fish(String title){
super(title);
con = this.getContentPane();
con.setLayout(new BorderLayout());
con.add(xDesktop);
mbar.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
JMenu list = new JMenu(품목선택);
JMenuItem list_1 = new JMenuItem(어항);
list.add(list_1);
list_1.addActionListener(this);
mbar.add(list);
mbar.add(help);
setJMenuBar(mbar); //이것이 기존 프레임안에있는 jinternalframe 입니다.
JInternalFrame iframe = new JInternalFrame(어항이미지, true, true, true, true);
iframe.setBounds(50, 20, 630, 300);
JLabel iframe_l1 = new JLabel(new ImageIcon(어항1_1.gif));
iframe.getContentPane().add(iframe_l1);
iframe.setVisible(true);
xDesktop.add(iframe);
}//액션 부분입니다.public void actionPerformed(ActionEvent e) {
String st=e.getActionCommand();
if(st.equals(어항)){
Fishbowl fis = new Fishbowl(this); //이벤트가 발생하면 해당 클래스를 실행합니다.
}
}
// 메인부분입니다.public static void main(String args[]){
Fish m = new Fish(나만의 어항꾸미기);
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
m.setLocation(150,150);
m.setSize(750, 400);
m.setVisible(true);
}
}
// 액션에 관한 내용이 들어있는 클래스 입니다.class Fishbowl{
JPanel bowl0 = new JPanel();
JPanel bowl1 = new JPanel();
JPanel bowl2 = new JPanel();
JPanel bowl3 = new JPanel();
public Fishbowl(JFrame owner){
final JDialog bowl = new JDialog(owner, 어항 선택); // JDialog를 실행합니다.
bowl.getContentPane().setLayout(new BorderLayout());
bowl.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){
bowl.setVisible(false);
bowl.dispose();}
});
bowl0.setLayout(new GridLayout(0,3));
bowl0.setSize(1000,1000);
bowl0.setBackground(Color.yellow);
Border paneEdge = BorderFactory.createEmptyBorder(5,5,5,5);
bowl0.setBorder(paneEdge);
bowl1.setLayout(new GridLayout(4,0));
bowl1.setSize(100,100);
bowl1.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createLineBorder(Color.orange),
첫번째어항));
bowl1.setPreferredSize(new Dimension(100, 20));// 이 뒤에 비슷한 형태로 두번째어항, 세번째 어항이있는데 생략합니다.bowl0.add(bowl1);
JLabel bow1_l1 = new JLabel(new ImageIcon(어항1.gif));
final JLabel bow1_l2 = new JLabel( 가격 0 원);
final JTextField bow1_tf = new JTextField(2);
// 이부분에서 구입이라는 버튼을 눌렀을 경우 위에 있는 jinternalframe안에 특정위치에
어항1.gif 파일이 생기는것을 구현하고 싶습니다. 수정좀 도와주시면 감사할께요.
JButton bow1_b = new JButton(구입);
bow1_b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
int bsp;int b1 = (Integer.parseInt(bow1_tf.getText())*500);
bow1_l2.setText( 가격+b1+원);}
}); bowl1.add(bow1_l1);
bowl1.add(bow1_tf);
bowl1.add(bow1_b);
bowl1.add(bow1_l2);bowl.getContentPane().add(bowl0,BorderLayout.NORTH);
bowl.setLocation(200,100);
bowl.pack();
bowl.setVisible(true);
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2702679 | 동영상의 흰색배경을 투명하게 플래시로 임포트하려면?? (3) | 별솔 | 2025-07-25 |
2702655 | 예약 부분 & 페이지 번역 플러그인 질문해요. (3) | 연하늘 | 2025-07-25 |
2702632 | 틀린부분이 어디죠?? 컴파일하면 오류가 떠요 (3) | 해사랑해 | 2025-07-24 |
2702605 | JSFL에 Select Unused Items는 설마 없는 건가요! | 카제 | 2025-07-24 |
2702576 | [도서질문] 리팩토링 HTML 보신 분 계신가요? (4) | 매디 | 2025-07-24 |
2702543 | C++ 프로그램을 웹연동시킬경우 | 아이폰 | 2025-07-24 |
2702487 | 저작권관련 긴급질문요~ (6) | 지희 | 2025-07-23 |
2702459 | 최근 포트폴리오 부분 질문드려요 | 흰가람 | 2025-07-23 |
2702431 | 플래시9에서 lite는 얼마나 발전할까요? (6) | 자올 | 2025-07-23 |
2702375 | mvc패턴 게시판 ..........아힘들어요 고수님들좀상세히도와주세요;; (3) | 냐하 | 2025-07-22 |
2702317 | ie6메뉴 보더문제 (3) | VanilLa | 2025-07-22 |
2702287 | c++ 변수 중간값 뽑아내서 비교하는 법 | 헛장사 | 2025-07-21 |
2702258 | AS2,0 함수에서 매개변수의 타입이 각각 다를때는? (5) | 하림 | 2025-07-21 |
2702228 | 이 표현은 무엇인지... 몰라서요. (2) | 도란도란 | 2025-07-21 |
2702197 | dll 인젝션 사용법좀 알려주세요 | 새밝 | 2025-07-21 |
2702147 | dd 안에 div들어가도 되나요? (8) | 꿈 | 2025-07-20 |
2702086 | [질문]세션 박스 질문입니다. (1) | 하연 | 2025-07-20 |
2702057 | 씨언어 숙재좀 풀어주실분 ㅜ.ㅜ (3) | 난슬 | 2025-07-19 |
2702000 | select 사용시 label 문제 질문드립니다. | 김예쁨 | 2025-07-19 |
2701970 | 실행파일의 이름은 어디서 변경하는지요???? | 호빵녀 | 2025-07-19 |