기서 일단 사진이라는 버튼을누르면 사진이 뜰수있게하고싶은데 왜 안뜨는건지 모르겠음
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
public class ContentPaneEx extends JFrame {
Container contentPane;
JButton b1, b2, b3, b4;
ContentPaneEx() {
setTitle("실험");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c>
contentPane.setLayout(new FlowLayout(FlowLayout.CENTER, 30, 60));
b1 = new JButton("사진");
b1.addActionListener(new MyButtonListener());
contentPane.add(b1);
b2 = new JButton("동영상");
b2.addActionListener(new MyButtonListener());
contentPane.add(b2);
b3 = new JButton("음악");
b3.addActionListener(new MyButtonListener());
contentPane.add(b3);
b4 = new JButton("크레딧");
b4.addActionListener(new MyButtonListener());
contentPane.add(b4);
setSize(300, 300);
setVisible(true);
}
class MyButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source == b1) {
Image image = null;
try {
URL url = new URL("http://www.mkyong.com/image/mypic.jpg");
image = ImageIO.read(url); //로컬파일에서 불러오려면 File sourceimage = new File("c:\\mypic.jpg");
Image image = ImageIO.read(sourceimage);
} catch (IOException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
frame.setSize(300, 300);
JLabel label = new JLabel(new ImageIcon(image));
frame.add(label);
frame.setVisible(true);
}
}
else if(source == b2) {
}
else if(source == b3) {
}
else if(source == b4) {
}
}
}
public static void main(String[] args) {
new ContentPaneEx();
}
}
조은코드내요읽지는안았습니다하지만
왜 버튼 누를때마다 창을 새로 만듬?
컴파일 자체가 안되고 컴파일 되게 해놨더니 시작하자마자 널포인터익셉션 ㅋㅋ
일단 중간에 오타 c>라고 되어있는거 지울 것
첫 else if 나오기 전 괄호({)하나 지울 것
contentPane.setLayout(~~~)과 contentPane.add()에서 contentPane을 this로 바꿀 것
그리고 Image image = ImageIO.read(url);에서 앞에 Image 지울 것(이미 앞에서 Image image=null; 선언했으니)