'응용 SoftWare'에 해당되는 글 100건

  1. 2016.12.14 [예제] 은행 대기열 만들기
  2. 2016.12.14 HashMap
  3. 2016.12.14 TreeSet
  4. 2016.12.14 HashSet
  5. 2016.12.14 LinkedList
  6. 2016.12.14 Stack
  7. 2016.12.14 Properties
  8. 2016.12.14 Generic
  9. 2016.12.14 ArrayList
  10. 2016.12.12 [응용] RGB 검색창 (JLabel, JPanel, JSlider)

화면 1. 메인

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Calendar;

import java.util.LinkedList;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;


public class QueueEx extends JFrame implements ActionListener{

JPanel leftPane = new JPanel(new GridLayout(4, 1));

JButton createBtn = new JButton("번호표 뽑기");

JLabel createNum = new JLabel();

JLabel viewNum = new JLabel("대기인수 : 0명", JLabel.CENTER);

JPanel rigthPane = new JPanel(new GridLayout(6, 1));

JButton sawon1 = new JButton("은행원 1");

JButton sawon2 = new JButton("은행원 2");

JButton sawon3 = new JButton("은행원 3");

JLabel msg1 = new JLabel();

JLabel msg2 = new JLabel();

JLabel msg3 = new JLabel();

int n = 0;

LinkedList<GuestInfo> queue = new LinkedList<GuestInfo>();

public QueueEx() {

setLayout(new GridLayout(1, 3));

leftPane.add(new JLabel());

leftPane.add(createBtn);

leftPane.add(createNum);

add(leftPane);

add(viewNum);

rigthPane.add(sawon1);

rigthPane.add(msg1);

rigthPane.add(sawon2);

rigthPane.add(msg2);

rigthPane.add(sawon3);

rigthPane.add(msg3);

add(rigthPane);

setSize(500, 300);

setVisible(true);

createBtn.addActionListener(this);

sawon1.addActionListener(this);

sawon2.addActionListener(this);

sawon3.addActionListener(this);

}

public void actionPerformed(ActionEvent ae) {

Object eventobj = ae.getSource();

if(eventobj == createBtn){

numberProcess();

}else if(eventobj == sawon1){

sawonProcess(msg1);

}else if(eventobj == sawon2){

sawonProcess(msg2);

}else if(eventobj == sawon3){

sawonProcess(msg3);

}

}

public void sawonProcess(JLabel msgLbl){

if(queue.size()<=0){

msgLbl.setText("대기자가 없습니다.");

}else{

GuestInfo guest = queue.poll();

msgLbl.setText(createMsg(guest.getNum(), guest.getCal()));

}

viewNum.setText("대기인수 : "+queue.size()+"명");

}

public void numberProcess(){

n++;

Calendar cal = Calendar.getInstance();

GuestInfo info = new GuestInfo();

info.setNum(n);

info.setCal(cal);

queue.offer(info);

viewNum.setText("대기인수 : "+queue.size()+"명");

createNum.setText(createMsg(n, cal));

}

public String createMsg(int n, Calendar cal){

String msg = "번호 : "+n+" (";

msg += cal.get(Calendar.YEAR)+"/"+(cal.get(Calendar.MONTH)+1)+"/";

msg += cal.get(Calendar.DATE)+" "+cal.get(Calendar.HOUR)+":";

msg += cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND)+")";

return msg;

}

public static void main(String[] args) {

new QueueEx();


}




}

=====================================================================
화면 2. 순번과 달력(시간)

import java.util.Calendar;
import java.util.function.Predicate;
import javax.management.loading.PrivateClassLoader;

public class GuestInfo {
private int num;
private Calendar cal;
public int getNum() {
return num;
}

public void setNum(int num) {
this.num = num;
}

public Calendar getCal() {
return cal;
}

public void setCal(Calendar cal) {
this.cal = cal;
}

public GuestInfo() {

}

}


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

FileReader  (0) 2016.12.16
[예제] 각종 메뉴를 이용한 메모장  (0) 2016.12.15
HashMap  (0) 2016.12.14
TreeSet  (0) 2016.12.14
HashSet  (0) 2016.12.14
Posted by Hyun CHO
,

HashMap

응용 SoftWare/JAVA 2016. 12. 14. 17:02

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Set;


public class HashMapTest {

public HashMapTest() {

HashMap<String, Integer> hm = new HashMap<String, Integer>();

//map 객체 추가

hm.put("홍길동", 100);

hm.put("이순신", 60);

hm.put("세종대왕", 90);

hm.put("최영", 80);

System.out.println(hm.get("이순신")); //값 구하기

//키 값(객체) 얻어오기

Set<String> set = hm.keySet();

Iterator<String> ii = set.iterator();

while(ii.hasNext()){

String key = ii.next();

System.out.println(key+"="+hm.get(key));

}

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

//value 만 얻어오기

Collection<Integer> collection =  hm.values();

Iterator<Integer> iii = collection.iterator();

while(iii.hasNext()){

System.out.println(iii.next());

}

}

public static void main(String[] args) {

new HashMapTest();

}

}



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

[예제] 각종 메뉴를 이용한 메모장  (0) 2016.12.15
[예제] 은행 대기열 만들기  (0) 2016.12.14
TreeSet  (0) 2016.12.14
HashSet  (0) 2016.12.14
LinkedList  (0) 2016.12.14
Posted by Hyun CHO
,

TreeSet

응용 SoftWare/JAVA 2016. 12. 14. 17:01

import java.util.Iterator;

import java.util.TreeSet;


public class TreeSetTest {

String list[] = {"Java", "자바", "홍길동", "Spring", "1234", "Java", "자바", "홍길동", "Spring", "1234"};

public TreeSetTest() {

//중복제거, 정렬

TreeSet<String> ts = new TreeSet<String>();

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

ts.add(list[i]);

}

//출력

Iterator<String> ii = ts.iterator();

while(ii.hasNext()){

System.out.println(ii.next());

}

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

//역순으로 객첵루하기

Iterator<String> iii = ts.descendingIterator();

while(iii.hasNext()){

System.out.println(iii.next());

}

}


public static void main(String[] args) {

new TreeSetTest();


}


}



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

[예제] 은행 대기열 만들기  (0) 2016.12.14
HashMap  (0) 2016.12.14
HashSet  (0) 2016.12.14
LinkedList  (0) 2016.12.14
Stack  (0) 2016.12.14
Posted by Hyun CHO
,

HashSet

응용 SoftWare/JAVA 2016. 12. 14. 17:01

import java.util.HashSet;

import java.util.Iterator;


public class HashSetTest {

Double data[] = {23.2, 25.6, 89.6, 56.7, 23.2, 25.6, 89.6, 56.7};

public HashSetTest() {

//중복을 허용하지 않음

HashSet<Double> hs = new HashSet<Double>();

for(int i=0; i<data.length; i++){

hs.add(data[i]);

}

//출력

Iterator<Double> ii = hs.iterator();

while(ii.hasNext()){ //객체가 있는지 확인

System.out.println(ii.next());

}

}


public static void main(String[] args) {

new HashSetTest();


}


}



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

HashMap  (0) 2016.12.14
TreeSet  (0) 2016.12.14
LinkedList  (0) 2016.12.14
Stack  (0) 2016.12.14
Properties  (0) 2016.12.14
Posted by Hyun CHO
,

LinkedList

응용 SoftWare/JAVA 2016. 12. 14. 17:00

import java.util.LinkedList;


public class LinkedListTest {


public LinkedListTest() {

//LinkedList 컬렉션은 입력 순서대로 출력

//풀력 후 객체는 삭제됨

LinkedList<String> ll = new LinkedList<String>();

ll.offer("이순신");

ll.offer("충무공");

ll.offer("홍길동");

ll.offer("1234");

ll.offer("컬렉션");

//객체 얻어오기

while(ll.size()>0){

System.out.println(ll.pop());

}

}


public static void main(String[] args) {

new LinkedListTest();


}


}



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

TreeSet  (0) 2016.12.14
HashSet  (0) 2016.12.14
Stack  (0) 2016.12.14
Properties  (0) 2016.12.14
ArrayList  (0) 2016.12.14
Posted by Hyun CHO
,

Stack

응용 SoftWare/JAVA 2016. 12. 14. 17:00

import java.util.Stack;


public class StackTest {


public StackTest() {

Stack<Integer> stack = new Stack<Integer>();

//데이터 추가

stack.push(new Integer(100));

stack.push(new Integer(200));

stack.push(new Integer(300));

stack.push(new Integer(400));

//Stack 컬렉션의 객체 얻어오기

// empty 스택이 비어있는지 확인 후 객체가 없을 때 true

while(!stack.empty()){

System.out.println(stack.pop()); //pop() : 객체 얻어오기

}

}


public static void main(String[] args) {

new StackTest();


}


}



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

HashSet  (0) 2016.12.14
LinkedList  (0) 2016.12.14
Properties  (0) 2016.12.14
ArrayList  (0) 2016.12.14
[응용] RGB 검색창 (JLabel, JPanel, JSlider)  (0) 2016.12.12
Posted by Hyun CHO
,

Properties

응용 SoftWare/JAVA 2016. 12. 14. 17:00

import java.util.Enumeration;

import java.util.Properties;


public class PropertiesTest {


public PropertiesTest() {

//Key, value를 가진다.

//문자열을 저장하는 기능

Properties p = new Properties();

//  Key vlaue

//  index  값

p.setProperty("111", "AAA"); //데이터 추가

p.setProperty("222", "BBB");

p.setProperty("333", "CCC");

p.setProperty("444", "DDD");

//데이터 얻기

System.out.println(p.getProperty("222")+"\n==============");

//Properties 객체의 키값 가져오기

//Enumeration 은 키가 존재하지 않으며 객체는 순서대로 얻어와야 함.

Enumeration enumer = p.propertyNames();

//컬렉션에 남은 객체가 있늕니 확인

while(enumer.hasMoreElements()){

//컬렉션 객체 얻어오기

String key = (String)enumer.nextElement();

String value = p.getProperty(key);

System.out.println("key:"+key+", value:"+value);

}

}


public static void main(String[] args) {

new PropertiesTest();


}


}



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

LinkedList  (0) 2016.12.14
Stack  (0) 2016.12.14
ArrayList  (0) 2016.12.14
[응용] RGB 검색창 (JLabel, JPanel, JSlider)  (0) 2016.12.12
JBorder  (0) 2016.12.12
Posted by Hyun CHO
,

Generic

응용 SoftWare 2016. 12. 14. 16:59
화면 1

//Generic : 객체에 종류에 상관없이 담을 수 있다.
//E - element
//K - Key
//V - vlaue
// 문자열은 임의로 지정가능하지만 관련없는 문자를 사용하지 않는다.

public class GenericTest<E> {
E name;
public GenericTest() {

}
public void setName(E name){
this.name = name;
}
public E getName(){
return name;
}
}

=====================================================================
화면 2


public class GenericMain {

public GenericMain() {
//값 : 계산기
GenericTest gt = new GenericTest();
gt.setName("이순신");
System.out.println(gt.getName());
GenericTest<Calculator> gt3 = new GenericTest<Calculator>();
Calculator cal = new Calculator(); //계산기 객체 생성
gt3.setName(cal);
Calculator getCal = gt3.getName();
getCal.start();
}

public static void main(String[] args) {
new GenericMain();

}

}



Posted by Hyun CHO
,

ArrayList

응용 SoftWare/JAVA 2016. 12. 14. 16:58

import java.util.ArrayList;

import java.util.List;


public class ArrayListTest {


public ArrayListTest() {

//ArrayList컬렉션 객체를 보관할 수 있는 클래스

ArrayList<String> al = new ArrayList<String>();

List<String> al2 = new ArrayList<String>();

//List 컬렉션에 객체 추가

al2.add("이순신");

al2.add("가산동");

al2.add("1234");

//List 컬렉션의 값을 배열로 저장

Object[] array = al2.toArray();

for(Object obj : array){

System.out.println(obj);

}

String dong = al2.get(1);

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

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

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

}

}


public static void main(String[] args) {

new ArrayListTest();


}


}



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

Stack  (0) 2016.12.14
Properties  (0) 2016.12.14
[응용] RGB 검색창 (JLabel, JPanel, JSlider)  (0) 2016.12.12
JBorder  (0) 2016.12.12
JSlider  (0) 2016.12.12
Posted by Hyun CHO
,

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() {

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");

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();


}


}



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

Properties  (0) 2016.12.14
ArrayList  (0) 2016.12.14
JBorder  (0) 2016.12.12
JSlider  (0) 2016.12.12
메모장 (글자 굵기, 기울기, 초기화, 색, 종료창)  (0) 2016.12.12
Posted by Hyun CHO
,