Class Test

응용 SoftWare/JAVA 2016. 12. 23. 10:40

메인화면



public class ClassTest {


public ClassTest() {


}


public static void main(String[] args) {

RGB r1 = new RGB(1, 1);

r1.setVisible(true);

RGB r2 = new RGB(510, 1);

r2.setVisible(true);

RGB r3 = new RGB(1, 400);

r3.setVisible(true);

//////

ClockEx ce1 = new ClockEx(1, 800);

ClockEx ce2 = new ClockEx(400, 700);

}


}

=====================================================================
화면2. RGB

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class RGB extends JFrame implements ChangeListener{
JLabel rgbLbl = new JLabel("RGB(150, 150, 150)", JLabel.CENTER);
JPanel rgbView = new JPanel();
int red=150, green=150, blue=150;
Color color = new Color(150, 150, 150);
//패널만들기
JPanel rgbInfo = new JPanel(new BorderLayout());
JPanel labelPane = new JPanel(new GridLayout(3, 1));
JLabel redLbl = new JLabel("RED");
JLabel greenLbl = new JLabel("GREEN");
JLabel blueLbl = new JLabel("BLUE");
JPanel sliderPane = new JPanel(new GridLayout(3, 1));
JSlider redSlider = new JSlider(0, 255, 150);
JSlider greenSlider = new JSlider(0, 255, 150);
JSlider blueSlider = new JSlider(0, 255, 150);
JPanel colorPane = new JPanel(new GridLayout(3, 1));
JLabel redClrLbl = new JLabel("                    ");
JLabel greenClrLbl = new JLabel("                    ");
JLabel blueClrLbl = new JLabel("                    ");
public RGB(){}
public RGB(int x, int y) {
add(rgbLbl, "North");
rgbView.setBackground(color); //패널컬러세팅
add(rgbView, "Center");
labelPane.add(redLbl); labelPane.add(greenLbl); labelPane.add(blueLbl);
rgbInfo.add(labelPane, "West");
redSlider.setMajorTickSpacing(50);
redSlider.setMinorTickSpacing(5);
redSlider.setPaintTicks(true);
redSlider.setPaintLabels(true);
greenSlider.setMajorTickSpacing(50);
greenSlider.setMinorTickSpacing(5);
greenSlider.setPaintTicks(true);
greenSlider.setPaintLabels(true);
blueSlider.setMajorTickSpacing(50);
blueSlider.setMinorTickSpacing(5);
blueSlider.setPaintTicks(true);
blueSlider.setPaintLabels(true);
sliderPane.add(redSlider); sliderPane.add(greenSlider); sliderPane.add(blueSlider);
rgbInfo.add(sliderPane, "Center");
LineBorder lb = new LineBorder(Color.CYAN, 3);
TitledBorder tb = new TitledBorder(lb, "Color Split", TitledBorder.CENTER, 
TitledBorder.CENTER, new Font("Serif", Font.BOLD, 15), Color.BLACK);
rgbInfo.setBorder(tb);
redClrLbl.setOpaque(true);
redClrLbl.setBackground(new Color(150, 0, 0));
greenClrLbl.setOpaque(true);
greenClrLbl.setBackground(new Color(0, 150, 0));
blueClrLbl.setOpaque(true);
blueClrLbl.setBackground(new Color(0, 0, 150));
colorPane.add(redClrLbl); colorPane.add(greenClrLbl); colorPane.add(blueClrLbl);
rgbInfo.add(colorPane, "East");
add(rgbInfo, "South");
setBounds(x, y, 500, 350);
// setSize(500, 350);
// setVisible(true);
//이벤트 등록
redSlider.addChangeListener(this);
greenSlider.addChangeListener(this);
blueSlider.addChangeListener(this);
}
public void stateChanged(ChangeEvent ce){
Object obj = ce.getSource();
if(obj == redSlider){
red = redSlider.getValue();
redClrLbl.setBackground(new Color(red, 0, 0));
}else if(obj == greenSlider){
green = greenSlider.getValue();
greenClrLbl.setBackground(new Color(0, green, 0));
}else if(obj == blueSlider){
blue = blueSlider.getValue();
blueClrLbl.setBackground(new Color(0, 0, blue));
}
rgbView.setBackground(new Color(red, green, blue));
rgbLbl.setText("RGB("+red+", "+green+", "+blue+")");
}
// public static void main(String[] args) {
// new RGB();
//
// }

}
=====================================================================
화면3. 시계

import java.awt.Font;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class ClockEx2 extends Thread{
JFrame frm = new JFrame("시계");
JLabel timeLbl = new JLabel();
Font fnt = new Font("Serif", Font.BOLD, 100);
public ClockEx2(){}
public ClockEx2(int x, int y){
frm.add(timeLbl, "Center");
timeLbl.setFont(fnt);
setTime();
frm.setBounds(x, y, 400, 200);
// pack();
frm.setVisible(true);
}
//Thread Class의 run() 메소드 오버라이딩
public void run(){
while(true){
try{
Thread.sleep(1000);
}catch(Exception e){}
setTime();
}
}
public void setTime(){
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String timeStr = "";
if(hour<10){
timeStr="0"+hour+":";
}else{
timeStr=hour+":";
}
if(minute<10){
timeStr+="0"+minute+":";
}else{
timeStr+=minute+":";
}
if(second<10){
timeStr+="0"+second;
}else{
timeStr+=second;
}
timeLbl.setText(timeStr);
}
// public static void main(String[] args) {
// new ClockEx();
//
// }
}


'응용 SoftWare > JAVA' 카테고리의 다른 글

Thread Test 2  (0) 2016.12.23
Thread Test 1  (0) 2016.12.23
JSplitPane 예제2  (0) 2016.12.21
JSplitPane 예제  (0) 2016.12.21
JTree 예제  (0) 2016.12.21
Posted by Hyun CHO
,