반응형

DataClass.java


package Swing;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class DataClass extends JFrame {

	
	
	public DataClass(){
	
		String headers []  = {"Name","Job"};
		
		String data [][] = {{"Leehansu", "Student"},
				{"Leesangjun", "Slave"},
				{"BeaDongyer", "Action"},
				{"Kimsungje", "Unbreera"} };
		
		String grade[] = {
				"A","B","C","D","F"};
		
		// Table 생성
		// 컬럼이름과 데이터배열을 가지고 DefaultTableModel을 만들고 JTable에 생성자에게 넘겨주면ㄷ 된다.
		JTable tbl = new JTable(new DefaultTableModel(data, headers));
		
		// Table은 화면에 출력될때  JScollPane에  부착되어야만 컬럼이름을 출력한다
		JScrollPane scl = new JScrollPane(tbl);
		add("Center",scl);
		
		JPanel p = new JPanel();
		JTextField text = new JTextField(33);
		JComboBox com = new JComboBox(grade);
		com.setMaximumRowCount(4);
		
		JButton btn1 = new JButton("Insert");
		JButton btn2 = new JButton("Delet");
		
		p.add(new JLabel("Name"));
		p.add(text);
		p.add(new JLabel("Grade"));
		p.add(com);
		p.add(btn1);
		p.add(btn2);
		
		add("South",p);
		
		setSize(700,450);
		setVisible(true);
		setTitle("Person");
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
}

MainSwing.java


package Swing;

public class MainSwing {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		new DataClass();
		
	}

}


'JAVA > Java' 카테고리의 다른 글

[JAVA] swing Table 만들기  (2) 2014.11.18
[JAVA] swing 메뉴바 만들기  (0) 2014.11.18
[JAVA] swing ImageButton 만들기  (0) 2014.11.18
[JAVA] Serializable 사용하기  (0) 2014.11.18
[JAVA] File 객체 사용  (0) 2014.11.18
반응형
package Swing;

import javax.swing.*;

public class ImageBtn extends JFrame {

	ImageIcon  [] images = { 
			new ImageIcon(".\\img\\btn1.png"),
			new ImageIcon(".\\img\\btn2.png"),
			new ImageIcon(".\\img\\btn3.png"),
	};
	int index;
	
	public ImageBtn(){
		setTitle("Image Btn");
		
		// 레이아웃 변경
		setLayout(null);
		
		ImageIcon btnImage1 = new ImageIcon(".\\img\\btn3.png");
		ImageIcon btnImage2 = new ImageIcon(".\\img\\btn4.png");
		
		JToggleButton btn = new JToggleButton(new ImageIcon(".\\img\\btn3.png"));
		btn.setPressedIcon(btnImage2);
		btn.setBounds(50,50,100,100);
		btn.setToolTipText("This is Btn");
		add(btn);
		
		JLabel label = new JLabel(images[0]);
		label.setBounds(50,200,70,70);
		add(label);
		
		
		setBounds(200,200,400,400);
		setVisible(true);
		
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		boolean b = true;
		while(true){
			try{
			Thread.sleep(300);
			index++;
			label.setIcon(images[index%3]);
			int x = label.getX();
			label.setBounds(x-1,200,70,70);
			b = !b;
			label.setVisible(b);
			}catch(Exception e){}
		}
		
	}
	
	
}

'JAVA > Java' 카테고리의 다른 글

[JAVA] swing 메뉴바 만들기  (0) 2014.11.18
[JAVA] swing  (0) 2014.11.18
[JAVA] Serializable 사용하기  (0) 2014.11.18
[JAVA] File 객체 사용  (0) 2014.11.18
[JAVA] Frame 을 이용한 window 모양 만들기  (0) 2014.11.18
반응형
package Io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Date;

public class SerializableMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Login obj1 = new Login("gg", new Date());
		Login obj2 = new Login("gg", new Date(114,1,4));

		try{
			ObjectOutputStream oos =
					new ObjectOutputStream(
							new FileOutputStream("c:\\download\\login.log"));
			oos.writeObject(obj1);
			oos.writeObject(obj2);
			oos.close();
		}catch(Exception e){
			System.out.println(e.getMessage());
		}

		try{
			ObjectInputStream ois =
					new ObjectInputStream(
							new FileInputStream("c:\\download\\login.log"));
			// 출력하는 메소드에 객체 이름을 넘겨주면
			// toSting()을 호출합니다.
			Login imsi = (Login)ois.readObject();
			System.out.println(imsi);
			imsi = (Login)ois.readObject();
			System.out.println(imsi);
			ois.close();
			
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
		
		
	}

}

'JAVA > Java' 카테고리의 다른 글

[JAVA] swing  (0) 2014.11.18
[JAVA] swing ImageButton 만들기  (0) 2014.11.18
[JAVA] File 객체 사용  (0) 2014.11.18
[JAVA] Frame 을 이용한 window 모양 만들기  (0) 2014.11.18
[JAVA] Thread 예제  (0) 2014.11.18
반응형
package Io;

import java.io.File;

public class FileInfo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File f = new File(" ");
		if(f.exists()){
			System.out.println("마지막  날짜 수정 :" + f.lastModified());
			System.out.println("파일 크기: " + f.length());
		}
		else{
			System.out.println("Noexists File");
		}
		//현재 디ㅔㄱ토리를 파일 객체로 생성
		f = new File(".");
		// file 객ㅊ에서 list()로 호출하면 내부의 모든 파일과 디랙토리가 Stirng[]으로 리턴함니

다
		// f 는 모든 하위 멤버변수를 호출
		String[] sub = f.list();
		for(String imsi : sub){
			System.out.println(imsi);
		}
		
	}

}

반응형

WindowTest.java


import java.awt.*;


public class WindowTest extends Frame {
 // GUI 프로그램에서 대부부분 생성자에서 윈도우에 모양을 결정한다
	public WindowTest(){
		setTitle("Window Test!");
		
		//2개의 레이블을 생성해서 배치
		//Flicker lbl1 = new FlickeringLabel("wink");
		Label lbl2 = new Label("Nomal");
		
		// 컴포넌트를 프레임에 배치할 때는 직접 배치하지 않고 패널에 부착한 후  패널을 프래임에 부착하는 형태를 사용
		Panel p = new Panel();
		//p.add(lbl1);
		p.add(lbl2);
		
		add(p);
		
		setBounds(100,100,300,300);
	
		MenuBar mb = new MenuBar();
		Menu file = new Menu("flle");
		//file.add(open);
		mb.add(file);
		setMenuBar(mb);
		
		setVisible(true);
		
		// 파일 대화상자를 출 력하고 선택은 파일명을 콘ㅅㅗㄹ레 출려
		FileDialog fo = new FileDialog(this,"열기");
		fo.setVisible(true);
	}
}



WindowSum.java


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class WindowSum extends Frame implements ActionListener {	
	
	// 변수 선언
	TextField tf1,tf2,sum;
	
	Label l1,l2;	
	Button enter, clear; 
	
	Panel p1 = new Panel();
	Panel p2 = new Panel();
	
	public WindowSum(){
		
		// 변수 생성
		setTitle("Windossum");
		
		tf1 = new TextField(10);
		tf2 = new TextField(10);
		sum = new TextField(10);
		
		l1 = new Label("+");
		l2 = new Label("=");
		
		enter = new Button("Enter");
		clear = new Button("Clear"); 
		
		
		p1.add(tf1);
		p1.add(l1);
		p1.add(tf2);
		p1.add(l2);
		p1.add(sum);
		add("Center",p1);
		p2.add(enter);
		p2.add(clear);
		add("South",p2);
			
		setBounds(300,300,300,300);
		setResizable(false);
		setVisible(true);
		
		enter.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {
			
				int temp = Integer.parseInt(tf1.getText()) + Integer.parseInt(tf2.getText());
				sum.setText(temp+" ");
			}
			
		});
		

		clear.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				tf1.setText("");
				tf2.setText("");
				sum.setText("");
				invalidate();
			}
			
		});
		
		
		
	}
	
	
	
	
	
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub

	}

}


반응형

Bank.java



public class Bank extends Thread {

	// 공유 변수
	static Accont obj = new Accont();
	
	// 생성자 생성
	public Bank(String name){
		super(name);
	}
	
	
	// Thread 동작 내용
	public void run(){
		
		while(true){
			synchronized (obj) {

		//100,200,300,400 중 랜덤하게 선택
		//Math.random()은 0.0 ~ 1.0 사이의 숫자중에서 랜덤한 숫자를 실수로 리턴해주는 메소드
		int money = (int)(Math.random()*3+1)*1000;
		
		if(obj.getBalence() >= money){
		System.out.println(getName()+ "의 balence "+ obj.getBalence());
		System.out.println(getName()+ "의 찾는 금액 "+ money);
		obj.withdraw(money);
		System.out.println(getName()+ "의 balence "+ obj.getBalence());
		
		}else{
			System.out.println("잔액 부족 입니다.");
			break;
				}
			}
		}
	}
}


ThreadMain3.java



public class ThreadMain3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bank bk1 = new Bank("ATM");
		Bank bk2 = new Bank("인터넷 뱅킹");
		
		bk1.start();
		bk2.start();

	}

}


반응형

ThreadMain2.java



public class ThreadMain2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		ThreadTest2 thread1 = new ThreadTest2("Thread exit");
		
		thread1.start();
		
		// 5초후 thread1에 인터럽트발생
		try{
			Thread.sleep(5000);
			thread1.interrupted();
		}catch(Exception e){
	
		}
		
		System.out.println("Exit Main");
	}

}


ThreadTest2.java



public class ThreadTest2 extends Thread {

	// 생성자
	public ThreadTest2(String str){
		// 상위 클래스의 생성자 호출
		super(str); // = new Tread(str); 와동일
		
	}
	
	// Thread로 수행할 내용을 갖고있는 메소드
	public void run(){
		
		// 1초마다 Thread 이름 출력
		while(true){
			try{
				Thread.sleep(1000);
				System.out.println(getName());
			}catch(Exception e){
				System.out.println(e.getMessage());
				return;
			}
		
		}
		
	}
	
}


반응형

ThreadTest.java




public class ThreadTest extends Thread {

	// Thread로 동작할 내용을 동작할 메서드
	public void run(){
		// 0.5초 마다 숫자를 하나씩 증가시키고 숫자와 Thread의 이름을 출력한다
		for(int i=0; i<10; i++){
			try{
				
				Thread.sleep(500);
				System.out.println(getName() + ":" + i);
				
			}catch(Exception e){
				
				System.out.println(e.getMessage());
				
			}
			
		}
	}
}




ThreadMain1.java



public class ThreadMain1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ThreadTest thread1 = new ThreadTest();
		thread1.setDaemon(true);
		ThreadTest thread2 = new ThreadTest();
		thread2.setDaemon(true);
		
		
		// run 메소드 호출시 멀티스래드를 사용ㅎ지 않는 경우
//		thread1.run();
//		thread2.run();
		
		// Thread 프로그램을 run을 부르는게 아니라  strart 를 부른다
		
		thread1.start();
		thread2.start();

		
		// runnable 인터페이스를 implements 한 클래스를 이용한 스레드 생성
		ThreadTest1 thread3 = new ThreadTest1();
		Thread th = new Thread(thread3);
		th.start();
	}

}


'JAVA > Java' 카테고리의 다른 글

[JAVA] Thread 예제  (0) 2014.11.18
[JAVA] Thread 을 이용한 5초후 인터럽트 발생 예제  (0) 2014.11.18
[JAVA] thread 사용하여 증가시키는 예  (0) 2014.11.18
[JAVA] awt 모달 만들어보기  (0) 2014.11.18
[JAVA] list 사용하기  (0) 2014.11.18
반응형

producer.java


package custom;


public class producer extends Thread {

	private Product myW;
	
	public producer(Product vec){
		myW = vec;
	}
	
	public void run(){
		for(char ch = 'A'; ch<='Z'; ch++){
			System.out.println("생산자가 제품" + ch + "을 생산했습니다");
			myW.put(ch);
		}
	}
}


consumerMain.java



package custom;


public class consumerMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Product share = new Product();

		producer th1 = new producer(share);
		Customer th2 = new Customer(share);
		
		th1.start();
		th2.start();
	}

}



Customer.java


package custom;


public class Customer extends Thread {

	private Product myW;
	
	public Customer(Product vec){
		myW = vec;
	}
	
	public void run(){
		char ch;
		for(int i = 0; i < 26; i++){
			ch = myW.get();
			System.out.println("소비자가 " + ch + "소비 했습니다.");
		}
	}
	
}


반응형

MyClass.java


package awt;

import java.awt.*;

public class MyClass extends Frame {

	Color [] ar = {
			Color.RED, Color.CYAN, Color.MAGENTA, Color.LIGHT_GRAY,Color.pink};
	int i;
	
	public MyClass(){
		setTitle("myWindow");
		setBounds(100,300,300,300);
		
		
		Button btn = new Button();
		Panel p = new Panel();
		
		CheckboxGroup group = 
				new CheckboxGroup();
		
		Checkbox ch1 = new Checkbox("Man",group, true);
		Checkbox ch2 = new Checkbox("Women",group, true);
		
		p.setBackground(Color.PINK);
		// panel 에 프레임에 부착
		p.add(btn);
		p.add(ch1);
		p.add(ch2);
		add(p);
		
//		Button btn = new Button();      
//		Dialog dig = new Dialog(this,"Modelless",false);
//											위에가 ture면 모달 false면  모달리스
//		dig.setBounds(100,500,300,300);
//		dig.setVisible(true);
//				
//		setVisible(true);
//		
		
//		while(true){
//			try{
//				Thread.sleep(1000);
//				i++;
//				p.setBackground(ar[i%5]);
//				boolean result = p.isVisible();
//				p.setVisible(!result);
//			}catch(Exception e){}
//		}
	}
	
}


FrameMain.java


package awt;

import java.awt.*;



public class FrameMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		MyClass frame = new MyClass();
	}

}


+ Recent posts