자바 JPanel에 이미지를 넣어줬더니 버튼이 안 보일 때
조회수 2056회
자바로 GUI 를 이용해서 프로그램을 짜고 있는데 Panel에 이미지를 삽입해주었더니 버튼이 맨 처음 실행시켰을 때는 안보이다가 마우스를 버튼쪽에 갖다 대면 그제서야 나타나게 됩니다. 혹시 이 문제 해결법 아시는 분 있나요?ㅠㅠ
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import java.awt.SystemColor;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
public class TourGuideTalk extends JFrame{
static JPanel page1 = new JPanel() {
ImageIcon background = new ImageIcon("C:\\Users\\user\\Desktop\\Backgrounds\\page1.PNG");
public void paint(Graphics g) {
g.drawImage(background.getImage(), 0, 0, null);
}
};
static JPanel page2 = new JPanel() {
ImageIcon background = new ImageIcon("C:\\Users\\user\\Desktop\\Backgrounds\\page2.PNG");
public void paint(Graphics g) {
g.drawImage(background.getImage(), 0, 0, null);
}
};
static JButton startButton = new JButton("Start!");
static JMenuBar menuBar = new JMenuBar();
static JMenu FileMenu = new JMenu("File");
static JMenuItem ExitMenu = new JMenuItem("Exit");
public TourGuideTalk() {
MainFrame();
setpanel();
}
public void MainFrame() {
setTitle("Tour Guide Talk");
setSize(800, 500);
setResizable(false);
setLocationRelativeTo(null);
getContentPane().setLayout(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menuBar.setBackground(SystemColor.menu);
setJMenuBar(menuBar);
FileMenu.setBackground(SystemColor.menu);
menuBar.add(FileMenu);
ExitMenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
FileMenu.add(ExitMenu);
}
public void setpanel() {
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
page1.setVisible(false);
page2.setVisible(true);
}
});
startButton.setBounds(350, 345, 100, 50);
page1.setBounds(0, 0, 794, 439);
page2.setBounds(0, 0, 794, 439);
page1.setLayout(null);
page2.setLayout(null);
page1.setVisible(true);
page2.setVisible(false);
getContentPane().add(page1);
getContentPane().add(page2);
page1.add(startButton);
}
public static void main(String[] args) {
new TourGuideTalk();
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력