728x90
🌭 화면전환
🥨 참고: https://www.youtube.com/watch?v=zQMN3wWRLRw&list=PLRx0vPvlEmdDySO3wDqMYGKMVH4Qa4QhR&index=5
DynmaicBeat.java
package dynamic_beat_5;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DynamicBeat extends JFrame {
private Image screenImage;
private Graphics screenGraphic;
private ImageIcon exitButtonEnteredImage = new ImageIcon(Main.class.getResource("../images/exitButtonEntered.png"));
private ImageIcon exitButtonBasicImage = new ImageIcon(Main.class.getResource("../images/exitButtonBasic.png"));
private ImageIcon startButtonEnteredImage = new ImageIcon(Main.class.getResource("../images/startButtonEntered.png"));
private ImageIcon startButtonBasicImage = new ImageIcon(Main.class.getResource("../images/startButtonBasic.png"));
private ImageIcon quitButtonEnteredImage = new ImageIcon(Main.class.getResource("../images/quitButtonEntered.png"));
private ImageIcon quitButtonBasicImage = new ImageIcon(Main.class.getResource("../images/quitButtonBasic.png"));
private JButton exitButton = new JButton(exitButtonBasicImage);
private JButton startButton = new JButton(startButtonBasicImage);
private JButton quitButton = new JButton(quitButtonBasicImage);
private JLabel menuBar = new JLabel(new ImageIcon(Main.class.getResource("../images/menuBar.png")));
private Image background = new ImageIcon(Main.class.getResource("../images/introBackground.jpg")).getImage();
private int mouseX, mouseY;
public DynamicBeat() {
setUndecorated(true);
setTitle("Dynamic Beat");
setSize(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setBackground(new Color(0, 0, 0, 0));
setLayout(null);
exitButton.setBounds(1245, 0, 30, 30);
exitButton.setBorderPainted(false);
exitButton.setContentAreaFilled(false);
exitButton.setFocusPainted(false);
exitButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
exitButton.setIcon(exitButtonEnteredImage);
exitButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
Music buttonEnteredMusic = new Music("buttonEnteredMusic.mp3", false);
buttonEnteredMusic.start();
}
@Override
public void mouseExited(MouseEvent e) {
exitButton.setIcon(exitButtonBasicImage);
exitButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
@Override
public void mousePressed(MouseEvent e) {
Music buttonEnteredMusic = new Music("buttonPressedMusic.mp3", false);
buttonEnteredMusic.start();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.exit(0);
}
});
add(exitButton);
startButton.setBounds(40, 200, 400, 100);
startButton.setBorderPainted(false);
startButton.setContentAreaFilled(false);
startButton.setFocusPainted(false);
startButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
startButton.setIcon(startButtonEnteredImage);
startButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
Music buttonEnteredMusic = new Music("buttonEnteredMusic.mp3", false);
buttonEnteredMusic.start();
}
@Override
public void mouseExited(MouseEvent e) {
startButton.setIcon(startButtonBasicImage);
startButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
@Override
public void mousePressed(MouseEvent e) {
Music buttonEnteredMusic = new Music("buttonPressedMusic.mp3", false);
buttonEnteredMusic.start();
startButton.setVisible(false);
quitButton.setVisible(false);
background = new ImageIcon(Main.class.getResource("../images/mainBackground.jpg")).getImage();
}
});
add(startButton);
quitButton.setBounds(40, 330, 400, 100);
quitButton.setBorderPainted(false);
quitButton.setContentAreaFilled(false);
quitButton.setFocusPainted(false);
quitButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
quitButton.setIcon(quitButtonEnteredImage);
quitButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
Music buttonEnteredMusic = new Music("buttonEnteredMusic.mp3", false);
buttonEnteredMusic.start();
}
@Override
public void mouseExited(MouseEvent e) {
quitButton.setIcon(quitButtonBasicImage);
quitButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
@Override
public void mousePressed(MouseEvent e) {
Music buttonEnteredMusic = new Music("buttonPressedMusic.mp3", false);
buttonEnteredMusic.start();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.exit(0);
}
});
add(quitButton);
menuBar.setBounds(0, 0, 1280, 30);
menuBar.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}
});
menuBar.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
int x = e.getXOnScreen();
int y = e.getYOnScreen();
setLocation(x - mouseX, y - mouseY);
}
});
add(menuBar);
Music introMusic = new Music("Walking.mp3", true);
introMusic.start();
}
public void paint(Graphics g) {
screenImage = createImage(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT);
screenGraphic = screenImage.getGraphics();
screenDraw(screenGraphic);
g.drawImage(screenImage, 0, 0, null);
}
public void screenDraw(Graphics g) {
g.drawImage(background, 0, 0, null);
paintComponents(g);
this.repaint();
}
}
728x90
'토이 프로젝트 > 자바 리듬게임 만들기' 카테고리의 다른 글
[project] 자바 리듬게임 만들기 8 (0) | 2023.03.09 |
---|---|
[project] 자바 리듬게임 만들기 7 (0) | 2023.03.09 |
[projoect] 자바 리듬게임 만들기 6 (0) | 2023.03.08 |
[projoect] 자바 리듬게임 만들기 4 (0) | 2023.03.08 |
[projoect] 자바 리듬게임 만들기 3 (0) | 2023.03.08 |