JAVA 기초

JAVA 22-1

Vanillwa 2023. 9. 12. 10:14

 

슬라이더 만들기

package ex7_jslider;

import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Ex1_JSlider extends JFrame {
	JLabel colorLabel;
	JSlider jsl = new JSlider();

	public Ex1_JSlider() {
		setTitle("슬라이더 이벤트처리");
		setLayout(new FlowLayout());
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		colorLabel = new JLabel(" SLIDER EXAMPLE ");

		jsl = new JSlider(JSlider.HORIZONTAL, 0, 255, 50);
		jsl.setPaintLabels(true);
		jsl.setPaintTicks(true);
		jsl.setPaintTrack(true);
		jsl.setMajorTickSpacing(50);
		jsl.setMinorTickSpacing(10);
		
		jsl.addChangeListener(new MyChangeListener());
		add(jsl);

		jsl.setForeground(Color.RED);
		colorLabel.setOpaque(true);

		colorLabel.setBackground(new Color(0, jsl.getValue(), 0));
		add(colorLabel);
		setBounds(300, 300, 300, 300);
	}

	class MyChangeListener implements ChangeListener {
		@Override
		public void stateChanged(ChangeEvent e) {
			colorLabel.setBackground(new Color(0, jsl.getValue(), 0));
		}
	}
	
	public static void main(String[] args) {
		new Ex1_JSlider();
	}
}

실행 결과 : 슬라이더를 오른쪽으로 당기면 안보이던 글자가 보인다

 


 

버튼을 통해 이미지 교체하기

package ex8_image;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class ImageText {
	public static void main(String[] args) {

		JFrame f = new JFrame("이미지");
		ImageIcon back1 = new ImageIcon("src/images/s1.png");
		JLabel jl_back = new JLabel();
		JButton jb = new JButton("버튼");

		jl_back.setIcon(back1);
		jl_back.setBounds(0, 0, 500, 500);
		jb.setBounds(300, 40, 106, 106);

		ImageIcon back2 = new ImageIcon("src/images/s2.png");

		ActionListener al = new ActionListener() { // 공통감지자

			@Override
			public void actionPerformed(ActionEvent e) {
				if (jl_back.getIcon().equals(back1))
					jl_back.setIcon(back2);
				else
					jl_back.setIcon(back1);
			}
		};

		jb.addActionListener(al);

		/*
		 * jb.addActionListener(new ActionListener() { 버튼에다가 직접달기
		 * 
		 * @Override public void actionPerformed(ActionEvent e) {
		 * jl_back.setIcon(back2); f.repaint(); } });
		 */

		f.add(jb);
		f.add(jl_back);

		f.setBounds(1200, 300, 450, 400);
		f.setResizable(false); // 프레임 크기 고정
		f.setVisible(true);
		f.setLayout(null);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

실행 결과 : 버튼을 누르면 첫번째 이미지에서 두번째 이미지로 변경된다 (반대로도 가능)

 


 

'JAVA 기초' 카테고리의 다른 글

JAVA 23-1  (0) 2023.09.12
JAVA 22-2  (0) 2023.09.12
JAVA 21-2  (0) 2023.09.08
JAVA 21-1  (0) 2023.09.08
JAVA 20-2  (0) 2023.09.07