JList

응용 SoftWare/JAVA 2016. 12. 9. 17:32

import java.awt.Color;

import java.util.List;

import java.util.Vector;


import javax.swing.DefaultListModel;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JList;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;


public class JListTest extends JFrame implements ListSelectionListener{

JList lst1 = new JList(), lst2 = new JList();

Vector<String> v = new Vector<String>();

DefaultListModel<String> dlm = new DefaultListModel<String>();

JScrollPane sp1, sp2; //스크롤바 만들기

public JListTest() {

//lst1 - Vector

v.addElement("JAVA");

v.addElement("JavaScript");

v.addElement("HTML5");

v.addElement("CSS3");

v.addElement("JavaServerPage");

v.addElement("Spring");

v.addElement("JQuery");

lst1.setListData(v);

sp1 = new JScrollPane(lst1);

add(sp1, "West");

/*lst2 - Model

dlm.addElement("자바");

dlm.addElement("자바스크립트");

dlm.addElement("에이치티엠엘5");

dlm.addElement("씨에스에스");

dlm.addElement("자바서버페이지");

dlm.addElement("스프링");

dlm.addElement("제이쿼리");

lst2.setModel(dlm);

sp2 = new JScrollPane(lst2);

add(sp2, "East"); */

//

lst1.setBackground(Color.BLACK);

lst1.setForeground(Color.WHITE);

lst1.setSelectionBackground(Color.white);

lst1.setSelectionForeground(Color.red);

setSize(300, 200);

setVisible(true);

lst1.addListSelectionListener(this);

}

//오버라이딩

public void valueChanged(ListSelectionEvent lse){

//List 목록 중 선택된 목록 얻어오기

List<String> list = lst1.getSelectedValuesList();

int listIdx[] = lst1.getSelectedIndices(); //목록 index 얻어오기

//출력

for(int i=0; i<list.size(); i++){

System.out.println(listIdx[i]+"="+list.get(i));

}

public static void main(String[] args) {

new JListTest();


}


}



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

메모장 (글자 굵기, 기울기, 초기화, 색, 종료창)  (0) 2016.12.12
[예제] JRadioButton  (0) 2016.12.09
JComboBox  (0) 2016.12.09
Vector  (0) 2016.12.09
[JFrame] 계산기 만들기  (0) 2016.12.07
Posted by Hyun CHO
,

JComboBox

응용 SoftWare/JAVA 2016. 12. 9. 17:32

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Vector;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JPanel;


public class JComboboxTest extends JFrame implements ActionListener{

JComboBox box;

Vector<String> v = new Vector<String>();

Color clr[] = {Color.green, Color.gray, Color.red, Color.blue, Color.cyan};

JPanel p = new JPanel();

public JComboboxTest() {

add(p, "Center");

//목록 만들기

v.addElement("Green");

v.addElement("Gry");

v.addElement("Red");

v.addElement("Blue");

v.addElement("Cyan");

box = new JComboBox(v);

add(box, "North");

setSize(500, 500);

setVisible(true);

box.addActionListener(this);

}

public void actionPerformed(ActionEvent ae){

JComboBox eventCom = (JComboBox)ae.getSource();

//index 구하기

int idx = eventCom.getSelectedIndex();

String value = (String)eventCom.getSelectedItem();

System.out.println("idx="+idx+", value="+value);

p.setBackground(clr[idx]);

}

public static void main(String[] args) {

new JComboboxTest();


}


}



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

[예제] JRadioButton  (0) 2016.12.09
JList  (0) 2016.12.09
Vector  (0) 2016.12.09
[JFrame] 계산기 만들기  (0) 2016.12.07
[JFrame] 창을 만들고 5초 뒤에 자동으로 닫기  (0) 2016.12.07
Posted by Hyun CHO
,

Vector

응용 SoftWare/JAVA 2016. 12. 9. 17:31

import java.util.Vector;


public class VectorMain {


public VectorMain() {

VectorTest vt = new VectorTest();

Vector vv = vt.getVector();

Calculator cal = (Calculator)vv.elementAt(0);

//cal.start(); //계산기 출력

//     제너릭

Vector<String> vNameList = new Vector<String>();

vNameList.addElement(new String("harly"));

vNameList.addElement(new String("deadshot"));

vNameList.addElement(new String("diablo"));

vNameList.addElement(new String("joker"));

System.out.println("capacity="+vNameList.capacity()); //공간확보

System.out.println("size="+vNameList.size()); //객체수

vNameList.set(1, new String("suicide squad")); //다른 객체로 수정

vNameList.add(1, new String("boomerang")); //객체 추가

vNameList.insertElementAt(new String("katana"), 2); //객체 추가

//삭제성고 : true, 삭제실패 : false

boolean boo = vNameList.remove(new String("suicide squad")); //객체 삭제

if(boo){ //삭제 성공 시 실행

System.out.println("삭제 성공");

}else{ //삭제 실패 시 실행

System.out.println("삭제 실패");

}

//출력

for(int i=0; i<vNameList.size(); i++){

System.out.println("vNameList("+i+")="+vNameList.elementAt(i));

}

}


public static void main(String[] args) {

new VectorMain();


}


}



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

JList  (0) 2016.12.09
JComboBox  (0) 2016.12.09
[JFrame] 계산기 만들기  (0) 2016.12.07
[JFrame] 창을 만들고 5초 뒤에 자동으로 닫기  (0) 2016.12.07
[예외처리] 예외 클래스 만들기  (0) 2016.12.05
Posted by Hyun CHO
,

방법 1.

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class Calculator extends JFrame {

JPanel jp1 = new JPanel();

JPanel jp2 = new JPanel();

JButton but1 = new JButton("Clear");

JButton but2 = new JButton("BS");

JButton but3 = new JButton("End");

JButton but4 = new JButton(" ");

JPanel jp3 = new JPanel();

JButton but5 = new JButton(" 7 ");

JButton but6 = new JButton(" 8 ");

JButton but7 = new JButton(" 9 ");

JButton but8 = new JButton(" + ");

JPanel jp4 = new JPanel();

JButton but9 = new JButton(" 4 ");

JButton but10 = new JButton(" 5 ");

JButton but11 = new JButton(" 6 ");

JButton but12 = new JButton(" - ");

JPanel jp5 = new JPanel();

JButton but13 = new JButton(" 1 ");

JButton but14 = new JButton(" 2 ");

JButton but15 = new JButton(" 3 ");

JButton but16 = new JButton(" * ");

JPanel jp6 = new JPanel();

JButton but17 = new JButton(" 0 ");

JButton but18 = new JButton(" . ");

JButton but19 = new JButton(" = ");

JButton but20 = new JButton(" / ");

JLabel jl = new JLabel("0.0");

public Calculator() {

super("계산기");

super.setLayout(new GridLayout(6, 4, 0, 0));

setSize(250, 300);

setVisible(true);

// TODO Auto-generated constructor stub

jp1.add(jl);

super.add(jp1);

jp2.add(but1); jp2.add(but2); jp2.add(but3); jp2.add(but4);

super.add(jp2);

jp3.add(but5); jp3.add(but6); jp3.add(but7); jp3.add(but8);

super.add(jp3);

jp4.add(but9); jp4.add(but10); jp4.add(but11); jp4.add(but12);

super.add(jp4);

jp5.add(but13); jp5.add(but14); jp5.add(but15); jp5.add(but16);

super.add(jp5);

jp6.add(but17); jp6.add(but18); jp6.add(but19); jp6.add(but20);

super.add(jp6);

}


public static void main(String[] args) {

// TODO Auto-generated method stub

Calculator cal = new Calculator();


}


}


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

방법 2.

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class CalculatorT implements ActionListener {

JFrame jf = new JFrame("계산기");

JLabel jl = new JLabel("0.0", JLabel.RIGHT);

//버튼틀

JPanel jp = new JPanel();

String butValue[] = {"Clear","BackSpace","End","","7","8","9","+","4","5","6","-",

"1","2","3","*","0",".","=","/"};

JButton jb[] = new JButton[20];

public CalculatorT() {

//라벨 추가

jf.add(jl, "North"); //BorderLayout.NORTH

//버튼

jp.setLayout(new GridLayout(5, 4));

for(int i=0; i<butValue.length; i++){ //버튼 생성, 패널 추가

jb[i] = new JButton(butValue[i]);

jp.add(jb[i]); //패널추가

jb[i].addActionListener(this); //이벤트 등록

}

jf.add(jp, BorderLayout.CENTER);

jf.setSize(400, 400);

jf.setVisible(true);

}

//오버라이딩

public void actionPerformed(ActionEvent ae){}


public static void main(String[] args) {

new CalculatorT();


}


}



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

JComboBox  (0) 2016.12.09
Vector  (0) 2016.12.09
[JFrame] 창을 만들고 5초 뒤에 자동으로 닫기  (0) 2016.12.07
[예외처리] 예외 클래스 만들기  (0) 2016.12.05
[예외처리] 예외 발생시키기  (0) 2016.12.05
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
,

//예외 발생시키기

import java.util.Scanner;

public class ExceptionTest4

{

//강제로 예외 발생시키기

//1~10 사이의 값 입력 --> 1~10 사이의 값이 아니면 예외 발생시킴

public ExceptionTest4(){

start();

}

public void start(){

try{

Scanner scan = new Scanner(System.in);

System.out.print("1~10 사이의 값 입력 = ");

int num = scan.nextInt();

if(num<1 || num>10){ //1~10 사이가 아닐 때

throw new Exception("1~10 사이의 값을 입력하세요."); //강제로 예외발생

}


System.out.println("num = "+num*2000);

}catch(Exception e){

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

}

}



public static void main(String[] args) 

{

new ExceptionTest4();

}

}



Posted by Hyun CHO
,

테스트 화면


//메소드 예외처리


import java.util.Scanner;

import java.util.InputMismatchException;

class ExceptionTest3 

{

int a, b, c;

//메소드 예외처리

public ExceptionTest3() throws InputMismatchException, ArithmeticException{

start();

}

public void start() throws InputMismatchException, ArithmeticException{

output();

}

public void output() throws InputMismatchException, ArithmeticException{

input();

c = a / b;

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

}

public void input() throws InputMismatchException{

Scanner scan = new Scanner(System.in);

System.out.print("a = ");

a = scan.nextInt();

System.out.print("b = ");

b = scan.nextInt();

}

}

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

메인 화면

import java.util.InputMismatchException;

public class ExceptionTest3Main 

{

public static void main(String[] args)

{

try{

ExceptionTest3 et3 = new ExceptionTest3();

}catch(Exception e){

System.out.println("예외 발생");

}

}

}



Posted by Hyun CHO
,

class Exceptiontest 

{

public static void main(String[] args) 

{

try{

//실행문; - 정상프로그래밍 코드

System.out.println(args[0]); //런타임 에러

}catch(ArrayIndexOutOfBoundsException aioobe){

//실행문; - 예외 발생시 실행

System.out.println("args 배열에서 예외발생...");

}

//실행문;

System.out.println("예외범위 실행 후...");

}

}


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


//예외처리하기 : try-catch문


import java.util.Scanner;

import java.io.*;

class Exceptiontest2 

{

Scanner scan = new Scanner(System.in);

public Exceptiontest2(){

start();

}

public void start(){

int[] num = new int [3];

try{

System.out.print("수1 = ");

num[0] = scan.nextInt();

System.out.print("수2 = ");

num[1] = scan.nextInt();


num[2] = num[0] / num[1];

System.out.println(num[0]+" / "+num[1]+" = "+num[2]);


//파일의 내용 읽어오기

File f = new File("z:/KOSMO/java/class3/InnerMain.java");

FileInputStream fis = new FileInputStream(f);


byte data[] = new byte[1024];

int cnt = fis.read(data);

System.out.println(new String(data));


}catch(ArithmeticException ae){ // 예외 발생 시

//ae.printStackTrace();

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

}catch(ArrayIndexOutOfBoundsException aioobe){

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

}catch(FileNotFoundException fnfe){

System.out.println("Stream 객체생성시 에러 발생...");

}catch(IOException ie){

System.out.println("IOException 에러 발생...");

}catch(Exception e){

e.printStackTrace();

}finally{ //예외 발생과 상관없이 무조건 실행되는 곳

System.out.println("finally 실행...");

}

}



public static void main(String[] args) 

{

new Exceptiontest2();

}

}



Posted by Hyun CHO
,

//익명 클래스로 팝업창(좌표) 만들기


import java.awt.Frame;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

class AnonymousTest2

{

Frame frm;

public AnonymousTest2(){

frm = new Frame("익명의 내부 클래스");

//frm.setSize(800, 600);

frm.setBounds(200, 100, 800, 600); //x, y 축 좌표 기준


frm.show();


//이벤트 등록

frm.addWindowListener(new WindowAdapter(){

//WindowAdapter 클래스의 추상메소드 오버라이딩

public void windowClosing(WindowEvent we){

frm.dispose();

System.exit(0);

}

});

}

public static void main(String a[]){

AnonymousTest2 at2 = new AnonymousTest2();

}

}



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

[예외처리] 메소드 예외처리  (0) 2016.12.05
[예외처리] try-catch  (0) 2016.12.05
[익명 클래스] 오버라이딩을 이용한 팝업창 만들기  (0) 2016.12.05
내/외부 클래스  (0) 2016.12.05
[예제] String  (0) 2016.12.02
Posted by Hyun CHO
,