반응형
실행 화면




소스 코드
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Assignment extends JFrame{
private Container contentPane;
private JPanel menuPanel = new JPanel();
private ImageIcon leftButtonImage = new ImageIcon(Assignment.class.getResource("images/leftButtonImage.png"));
private ImageIcon rightButtonImage = new ImageIcon(Assignment.class.getResource("images/rightButtonImage.png"));
private JButton leftButton = new JButton(leftButtonImage);
private JButton rightButton = new JButton(rightButtonImage);
private ImageIcon images[] = new ImageIcon[4];
private JLabel imageLabel;
private int currentImageIndex = 0;
public Assignment() {
setTitle("과제 #3) 버튼 클릭으로 좌우로 이미지 넘기기");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
for(int i=0;i<4;i++) {
images[i] = new ImageIcon(Assignment.class.getResource("images/image"+i+".png"));
}
imageLabel = new JLabel(images[currentImageIndex]);
contentPane.add(imageLabel,BorderLayout.CENTER);
menuPanel.setLayout(new FlowLayout());
menuPanel.setBackground(Color.gray);
leftButton.addMouseListener(new LeftButtonEventListener());
rightButton.addMouseListener(new RightButtonEventListener());
menuPanel.add(leftButton);
menuPanel.add(rightButton);
contentPane.add(menuPanel,BorderLayout.SOUTH);
setSize(350,450);
setVisible(true);
}
class LeftButtonEventListener extends MouseAdapter{
public void mousePressed(MouseEvent e) {
currentImageIndex--;
if(currentImageIndex<0)currentImageIndex = 3;
imageLabel.setIcon(images[currentImageIndex]);
}
}
class RightButtonEventListener extends MouseAdapter{
public void mousePressed(MouseEvent e) {
currentImageIndex++;
if(currentImageIndex>3)currentImageIndex = 0;
imageLabel.setIcon(images[currentImageIndex]);
}
}
public static void main(String[] args) {
new Assignment();
}
}
파일 구조

이미지 파일






반응형
'java > swing' 카테고리의 다른 글
| java swing 예제- 중력 구현 (0) | 2022.01.08 |
|---|---|
| Java swing 예제 - 점프 구현 (0) | 2022.01.08 |
| java swing 예제 - Up Down 게임 (0) | 2022.01.08 |
| java swing 예제 - 키보드로 사각형 움직이기 (0) | 2022.01.08 |
| 명품 JAVA - Open Challenge 12 아바타와 괴물 게임 만들기 - swing,thread (0) | 2022.01.08 |