[JButton]

카테고리 없음 2016. 12. 7. 17:17

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.ButtonGroup;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JRadioButton;

import javax.swing.JToggleButton;


public class JButtonTest implements ActionListener{

JFrame frm = new JFrame("JButton 만들기");

Dimension dim = new Dimension(500, 500); //width, height 정수 저장 클래스 

Rectangle rect = new Rectangle(100, 100, 500, 500); //x, y, width, height 정수 저장 클래스

///

ImageIcon ii1 = new ImageIcon("image/hyun logo III.jpg");

ImageIcon ii2 = new ImageIcon("image/car1.jpg");

ImageIcon ii3 = new ImageIcon("image/car2.jpg");

ImageIcon ii4 = new ImageIcon("image/car3.jpg");

ImageIcon ii5 = new ImageIcon("image/car4.jpg");

JPanel p1 = new JPanel();

JButton but1 = new JButton("첫번째");

JButton but2 = new JButton("두번째");

JButton but3 = new JButton("세번째");

JPanel p2 = new JPanel();

JLabel lbl = new JLabel("라벨값");

JLabel lbl2 = new JLabel(ii1);

//ImageButton

JPanel p3 = new JPanel();

JButton imgBtn1, imgBtn2, imgBtn3;

//Radio버튼

JPanel p4 = new JPanel();

JRadioButton rBtn1 = new JRadioButton("ONE");

JRadioButton rBtn2 = new JRadioButton("TWO");

JRadioButton rBtn3 = new JRadioButton("THREE");

ButtonGroup bg = new ButtonGroup();

//toggle버튼

JPanel p5 = new JPanel();

JToggleButton tBtn1 = new JToggleButton("복숭아");

JToggleButton tBtn2 = new JToggleButton("파인애플");

JToggleButton tBtn3 = new JToggleButton("바나나");

public JButtonTest() {

//레이아웃 바꾸기

frm.setLayout(new GridLayout(10, 1, 5, 5));

p1.add(but1); p1.add(but2); p1.add(but3);

frm.add(p1);

//라벯

p2.setLayout(new GridLayout(1, 1));

p2.setBackground(Color.white);

p2.add(lbl);

frm.add(p2);

frm.add(lbl2);

lbl2.setOpaque(true);//투명처리 해제(true:해제, false:설정)

lbl2.setBackground(Color.white);

//이미지 버튼

imgBtn1 = new JButton(ii3);

imgBtn2 = new JButton(ii4);

imgBtn3 = new JButton(ii5);

p3.add(imgBtn1); p3.add(imgBtn2); p3.add(imgBtn3);

frm.add(p3);

//버튼 선택시 이미지 변경

imgBtn2.setPressedIcon(ii2); //마우스 클릭시 

imgBtn2.setRolloverIcon(ii1); //마우스 오버 시

imgBtn1.setEnabled(false);//활성화(true), 비활성화(false)

//radioButton

bg.add(rBtn1); bg.add(rBtn2); bg.add(rBtn3);

p4.add(rBtn1); p4.add(rBtn2); p4.add(rBtn3);

frm.add(p4);

//toggle버튼

p5.add(tBtn1); p5.add(tBtn2); p5.add(tBtn3);

frm.add(p5);

// TODO Auto-generated constructor stub

//frm.setSize(dim); //w, h

//frm.setBounds(rect); //x, y, w, h

frm.pack(); //컨테이너 내용만큼 창 크기 자동설정

frm.setVisible(true); //창 뛰우기

//주로 창 뛰운 뒤에 이벤트 등록

but1.addActionListener(this);

but2.addActionListener(this);

but3.addActionListener(this);

imgBtn1.addActionListener(this);

imgBtn2.addActionListener(this);

imgBtn3.addActionListener(this);

}

//overriding 위치

public void actionPerformed(ActionEvent ae){

//

//String msg = ae.getActionCommand();

//lbl.setText(msg);

Object eventObj = ae.getSource();

JButton eventBtn = (JButton)eventObj;

if(imgBtn1.equals(eventBtn)){

lbl.setText("Red버튼");

}else if(imgBtn2.equals(eventBtn)){

lbl.setText("Blue버튼");

}else if(imgBtn3.equals(eventBtn)){

lbl.setText("green버튼");

}else{

lbl.setText(eventBtn.getText());

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

JButtonTest bt = new JButtonTest();


}


}



Posted by Hyun CHO
,

//JFrame으로 창을 만들고 5초 뒤 자동 창닫기


import javax.swing.JFrame;


public class JFrameTest1 extends JFrame{


public JFrameTest1(){

super("JFrame 테스트 중"); //상위 클래스의 생성자를 호출하여 윈도우 제목 설정

//setTitle("JFrame 테스트 중");

setSize(500,500);

setVisible(true); //show();

//대기

try{

Thread.sleep(5000);

}catch(InterruptedException ie){

System.out.println(ie.getMessage());

}

setVisible(false); //창닫기

}

public static void main(String[] args) {

JFrameTest1 ft = new JFrameTest1();


}


}



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

Vector  (0) 2016.12.09
[JFrame] 계산기 만들기  (0) 2016.12.07
[예외처리] 예외 클래스 만들기  (0) 2016.12.05
[예외처리] 예외 발생시키기  (0) 2016.12.05
[예외처리] 메소드 예외처리  (0) 2016.12.05
Posted by Hyun CHO
,

테스트 화면

//예외 클래스 만들기

//Exception 클래스 상속받아 만든다.


public class MyException extends Exception

{

public MyException(){

super("내가 만든 예외 클래스");

}

public MyException(String msg){

super(msg);

}

}

=====================================================================

메인 화면

import java.util.Scanner;

import java.util.Random;

public class MyExceptionMain 

{

int num, sum;

String msg[]={"1~100사이의 정수입력", "1~100사이의 홀수 입력", "1~100사이의 짝수 입력"};

Scanner scan = new Scanner(System.in);

Random ran = new Random();


public MyExceptionMain(){}

public void start(){

//1~100 사이의 값이나, 홀수, 짝수를 입력받아 그수까지의 합 구하기

int idx = ran.nextInt(3);

System.out.print(msg[idx]+" = ");

num = scan.nextInt();


if(idx == 0){

inputCheck();

}else if(idx == 1){

inputOddCheck();

}else if(idx == 2){

inputEvenCheck();

}

}

//정수 확인

public void inputCheck(){

try{

if(num<1 || num>100){

throw new MyException("1~100사이의 정수를 입력하셔야 합니다.");

}

sum();

}catch(MyException me){

System.out.print(me.getMessage());

}

}

//정수 계산

public void sum(){

sum = 0;

for(int i=1; i<=num; i++){

sum += i;

}

System.out.println("sum = "+sum);

}


//홀수 확인

public void inputOddCheck(){

try{

if(num<1 || num>100 || num%2==0){

throw new MyException("1~100사이의 홀수이여야 합니다.");

}

oddsum();

}catch(MyException me){

System.out.print(me.getMessage());

}

}

//홀수 계산

public void oddsum(){

sum = 0;

for(int i=1; i<=num; i+=2){

sum += i;

}

System.out.println("oddsum = "+sum);

}


//짝수 확인

public void inputEvenCheck(){

try{

if(num<1 || num>100 || num%2==1){

throw new MyException("1~100사이의 홀수이여야 합니다.");

}

evensum();

}catch(MyException me){

System.out.print(me.getMessage());

}

}

//짝수 계산

public void evensum(){

sum = 0;

for(int i=2; i<=num; i+=2){

sum += i;

}

System.out.println("evensum = "+sum);

}


public static void main(String[] args) 

{

MyExceptionMain mm = new MyExceptionMain();

mm.start();

}

}



Posted by Hyun CHO
,