mojo's Blog
JSlider, 슬라이더 컴포넌트 본문
JSlider 연습 코드
import javax.swing.*; // JFrame
import java.awt.*; // Container
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.Vector;
import java.awt.*;
public class SliderEx extends JFrame{
SliderEx(){
setTitle("11장 연습");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JSlider slider=new JSlider(JSlider.HORIZONTAL, 0, 200, 100); // 0~200까지며 현재 선택된것은 100
// JSlider의 메소드를 호출하여 슬라디어 모양을 제어함
slider.setPaintLabels(true);
slider.setPaintTicks(true);
slider.setPaintTrack(true);
slider.setMajorTickSpacing(50); // 수치상으로 50씩 간격
slider.setMinorTickSpacing(10); // 눈금으로 10씩 간격
//
c.add(slider);
setSize(300, 300); // 프레임 크기 300x300
setVisible(true); // 프레임 출력
c.setFocusable(true);
c.requestFocus();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new SliderEx();
}
}
JSlider와 Change 이벤트를 활용한 색깔 다루기
import javax.swing.*; // JFrame
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*; // Container
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.Vector;
import java.awt.*;
public class SliderEx extends JFrame{
private JLabel colorLabel;
private JSlider []sl=new JSlider[3];
class MyChangeListener implements ChangeListener{
@Override
public void stateChanged(ChangeEvent e) {
// TODO Auto-generated method stub
int r=sl[0].getValue();
int g=sl[1].getValue();
int b=sl[2].getValue();
colorLabel.setBackground(new Color(r,b,g));
}
}
SliderEx(){
setTitle("11장 연습");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
colorLabel=new JLabel(" SLIDER EXAMPLE ");
for(int i=0;i<sl.length;i++) {
sl[i] = new JSlider(JSlider.HORIZONTAL,0,255,128);
// JSlider의 메소드를 호출하여 슬라디어 모양을 제어함
sl[i].setPaintLabels(true);
sl[i].setPaintTicks(true);
sl[i].setPaintTrack(true);
sl[i].setMajorTickSpacing(50); // 수치상으로 50씩 간격
sl[i].setMinorTickSpacing(10); // 눈금으로 10씩 간격
//
sl[i].addChangeListener(new MyChangeListener());
c.add(sl[i]);
}
sl[0].setForeground(Color.RED);
sl[1].setForeground(Color.GREEN);
sl[2].setForeground(Color.BLUE);
int r=sl[0].getValue();
int g=sl[1].getValue();
int b=sl[2].getValue();
colorLabel.setOpaque(true);
colorLabel.setBackground(new Color(r,g,b));
c.add(colorLabel);
setSize(300, 300); // 프레임 크기 300x300
setVisible(true); // 프레임 출력
c.setFocusable(true);
c.requestFocus();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new SliderEx();
}
}
'Java' 카테고리의 다른 글
명품 JAVA Programming 제 11장 실습문제 6번 (0) | 2021.07.29 |
---|---|
명품 JAVA Programming 제 11장 Open Challenge (0) | 2021.07.29 |
JComboBox, Action 이벤트를 이용한 콤보박스 활용 (0) | 2021.07.29 |
JList, JList의 아이템 변경하기 (0) | 2021.07.29 |
JTextField, JTextArea (0) | 2021.07.29 |
Comments