'응용 SoftWare/JAVA'에 해당되는 글 76건

  1. 2016.12.28 Excel Write/Read
  2. 2016.12.28 Chat
  3. 2016.12.28 SocketTest
  4. 2016.12.23 [예제] Source View
  5. 2016.12.23 URL Test
  6. 2016.12.23 InetAddress Test
  7. 2016.12.23 Text Edit
  8. 2016.12.23 Thread Test 2
  9. 2016.12.23 Thread Test 1
  10. 2016.12.23 Class Test

write 화면


import java.io.File;

import java.io.FileOutputStream;


import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;


public class ExcelWrite {


public ExcelWrite() {

try{

File f = new File("z://fileFolder", "excelTest.xls");

//WorkBook 생성

HSSFWorkbook workbook = new HSSFWorkbook();

//sheet 생성

HSSFSheet sheet1 = workbook.createSheet("주소록");

HSSFSheet sheet2 = workbook.createSheet();

//행 만들기

HSSFRow row1 = sheet1.createRow(0);

HSSFRow row2 = sheet1.createRow(1);

//cell 만들기

row1.createCell(0).setCellValue("번호");

row1.createCell(1).setCellValue("이름");

row1.createCell(2).setCellValue("전화번호");

row2.createCell(0).setCellValue(1);

row2.createCell(1).setCellValue("홍길동");

row2.createCell(2).setCellValue("010-2345-5678");

FileOutputStream fos = new FileOutputStream(f);

workbook.write(fos);

}catch(Exception e){

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

}

}


public static void main(String[] args) {

new ExcelWrite();

}


}

=====================================================================
read 화면

import java.io.File;
import java.io.FileInputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExcelRead {

public ExcelRead() {
try{
File f = new File("z://fileFolder/excelTest.xls");
FileInputStream fis = new FileInputStream(f);
POIFSFileSystem pfs = new POIFSFileSystem(fis); //엑셀파일 객체 만들기
HSSFWorkbook workbook = new HSSFWorkbook(pfs);
int sheetNum = workbook.getNumberOfSheets(); //sheet 수 구하기
System.out.println("시트 수 : "+sheetNum);
HSSFSheet sheet = workbook.getSheetAt(0);
//workbook.getSheet("주소록");
int rows = sheet.getPhysicalNumberOfRows(); //행의 수 구하기
System.out.println("행의 수 : "+rows);
for(int i=0; i<rows; i++){
HSSFRow row = sheet.getRow(i); //행 객체 구하기
int col = row.getPhysicalNumberOfCells(); //칸의 수 구하기
System.out.println("칸의 수 : "+col);
for(int j=0; j<col; j++){
HSSFCell cell = row.getCell(j);
if(i==1 && j==0){ //숫자 분리
System.out.print((int)cell.getNumericCellValue()+"\t");
}else{
System.out.print(cell.getStringCellValue()+"\t");
}
}
System.out.println();
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}

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

}


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

Chat  (0) 2016.12.28
SocketTest  (0) 2016.12.28
[예제] Source View  (0) 2016.12.23
URL Test  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Posted by Hyun CHO
,

Chat

응용 SoftWare/JAVA 2016. 12. 28. 13:20

server 화면


import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.ArrayList;


public class ServerChat implements Runnable{

ArrayList<ServerService> arrayList = new ArrayList<ServerService>();

ServerSocket ss;

public ServerChat() {

try{

ss = new ServerSocket(9999);

}catch(Exception e){

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

}

Thread t = new Thread(this);

t.start();

}

//접속자 대기

public void run(){

System.out.println("Server Start!");

while(true){

try{

Socket s = ss.accept(); //접속 대기

//System.out.println("접속됨");

ServerService sService = new ServerService(s);

arrayList.add(sService);

messageAll(s.getInetAddress()+" 님이 접속하였습니다.");

sService.start();

}catch(Exception e){

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

}

}

}

//모든 접속자에게 접속 메세지 보내기

public void messageAll(String message){

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

ServerService sss = arrayList.get(i);

sss.pw.println(message);

sss.pw.flush();

}

}

//내부클래스

class ServerService extends Thread{

Socket s;

InputStreamReader isr;

BufferedReader br;

OutputStreamWriter os;

PrintWriter pw;

ServerService(Socket s){

try{

isr = new InputStreamReader(s.getInputStream());

br = new BufferedReader(isr);

os = new OutputStreamWriter(s.getOutputStream());

pw = new PrintWriter(os);

}catch(Exception e){

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

}

}

public void run(){

}

public static void main(String[] args) {

new ServerChat();

}


}

=====================================================================
client 화면

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ClientChat extends JFrame implements ActionListener, Runnable{
JPanel northPane = new JPanel();
JLabel urlLbl = new JLabel("URL ");
JTextField connTf = new JTextField(20);
JButton connBtn = new JButton("접속");
JTextArea ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
JPanel southPane = new JPanel(); 
JTextField sendTf = new JTextField(20);
JButton sendBtn = new JButton("보내기");
//////
InetAddress ia;
Socket s;
InputStreamReader isr;
BufferedReader br;
OutputStreamWriter osw;
PrintWriter pw;
public ClientChat() {
northPane.add(urlLbl);
northPane.add(connTf);
northPane.add(connBtn);
add(northPane, "North");
Font fnt = new Font("Serif", Font.BOLD, 15);
ta.setFont(fnt);
ta.setBackground(Color.white);
add(ta, "Center");
southPane.add(sendTf);
southPane.add(sendBtn);
add(southPane, "South");
setSize(400, 500);
setVisible(true);
//이벤트 등록
connTf.addActionListener(this);
connBtn.addActionListener(this);
sendTf.addActionListener(this);
sendBtn.addActionListener(this);
}
//오버라이딩
public void actionPerformed(ActionEvent ae){
Object obj = ae.getSource();
if(obj == connTf || obj == connBtn){ //서버와 연결
connectProcess();
}else if(obj == sendTf || obj == sendBtn){ //서버로 문자 보내기
sendProcess();
}
}
//서버 연결
public void connectProcess(){
try{
ia = InetAddress.getByName(connTf.getText().trim());
s = new Socket(ia, 9999); //서버와 연결
isr = new InputStreamReader(s.getInputStream()); //InputStream
br = new BufferedReader(isr);
osw = new OutputStreamWriter(s.getOutputStream()); //OutputStream
pw = new PrintWriter(osw);
pw.flush();
Thread t = new Thread(this);
t.start();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
//문자 서버로 보내기
public void sendProcess(){
pw.println(sendTf.getText());
pw.flush();
sendTf.setText("");
}
//Thread 구현
public void run(){
while(true){
try{
String msg = br.readLine(); //서버로부터 문자가 들어올 때까지 대기중...
if(msg == null) return;
ta.append(msg+"\n");
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
public static void main(String[] args) {
new ClientChat();
}

}


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

Excel Write/Read  (0) 2016.12.28
SocketTest  (0) 2016.12.28
[예제] Source View  (0) 2016.12.23
URL Test  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Posted by Hyun CHO
,

SocketTest

응용 SoftWare/JAVA 2016. 12. 28. 13:16

server 화면


import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;


public class ServerSocketTest {

ServerSocket ss;

public ServerSocketTest() {

try{

ss = new ServerSocket(7777);

System.out.println("Ready... 접속대기중...");

//접속대기

Socket s = ss.accept();

System.out.println(s.getInetAddress()+"접속하였습니다.");

OutputStream os = s.getOutputStream();

OutputStreamWriter osw = new OutputStreamWriter(os);

PrintWriter pw = new PrintWriter(osw);

pw.println("Hi... 안녕하세요.");

pw.flush();

//클라이언트가 보낸 문자 받기

InputStream is = s.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

System.out.println(br.readLine());

}catch(Exception e){

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

}

}


public static void main(String[] args) {

new ServerSocketTest();


}


}

=====================================================================
client 화면

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

public class ClientSocketTest {

public ClientSocketTest() {
try{
InetAddress ia = InetAddress.getByName("0.0.0.0");
Socket s = new Socket(ia, 7777);
System.out.println("7777 port로 접속하였습니다.");
InputStream is = s.getInputStream();
InputStreamReader osr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(osr);
System.out.println(br.readLine());
//서버로 문자 보내기
OutputStream os = s.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
PrintWriter pw = new PrintWriter(osw);
pw.println("JAVA Socket Class Test");
pw.flush();
}catch(Exception e){
System.out.println(e.getMessage());
}
}

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

}

}


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

Excel Write/Read  (0) 2016.12.28
Chat  (0) 2016.12.28
[예제] Source View  (0) 2016.12.23
URL Test  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Posted by Hyun CHO
,

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;


public class SourceView extends JFrame implements ActionListener{

JPanel p = new JPanel();

JLabel urlLbl = new JLabel("URL : ");

JTextField tf = new JTextField(20);

JButton okBtn = new JButton("확인");

JScrollPane sp;

JTextArea ta = new JTextArea();

public SourceView() {

p.add(urlLbl); p.add(tf); p.add(okBtn);

add(p, "North");

sp = new JScrollPane(ta);

add(sp, "Center");

setSize(500, 500);

setVisible(true);

tf.addActionListener(this);

okBtn.addActionListener(this);

}

public void actionPerformed(ActionEvent ae){

Object obj = ae.getSource();

if(obj==tf || obj==okBtn){

if(tf.getText() != null){

try{

URL url = new URL(tf.getText());

URLConnection conn = url.openConnection();

conn.connect();

InputStream is = conn.getInputStream();

//////

String contentType = conn.getContentType();

int idx = contentType.indexOf("charset=");

String unicode = contentType.substring(idx+8);

InputStreamReader isr = new InputStreamReader(is, unicode);

BufferedReader br = new BufferedReader(isr);

ta.setText("");

while(true){

String str = br.readLine();

if(str==null) break;

ta.append(str+"\n");

}

}catch(Exception e){

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

}

}

}

}

public static void main(String[] args) {

new SourceView();


}


}



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

Chat  (0) 2016.12.28
SocketTest  (0) 2016.12.28
URL Test  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Text Edit  (0) 2016.12.23
Posted by Hyun CHO
,

URL Test

응용 SoftWare/JAVA 2016. 12. 23. 17:35

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;


public class URLTest {


public URLTest() {

try{

URL url = new URL("http://www.daum.net/index.html");

URLConnection conn = url.openConnection(); //server와 연결

conn.connect(); //총신채널 확보

InputStream is = conn.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

while(true){

String str = br.readLine();

if(str==null){

break;

}

System.out.println(str);

}

}catch(Exception e){

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

}

}


public static void main(String[] args) {

new URLTest();

}


}



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

SocketTest  (0) 2016.12.28
[예제] Source View  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Text Edit  (0) 2016.12.23
Thread Test 2  (0) 2016.12.23
Posted by Hyun CHO
,

import java.net.InetAddress;


public class InetAddressTest {


public InetAddressTest() {

try{

//내컴퓨터의 객체 생성

InetAddress ia1 = InetAddress.getLocalHost();

System.out.println("ia1(address) = "+ia1.getHostAddress());

System.out.println("ia1(name) = "+ia1.getHostName());

//

InetAddress ia2 = InetAddress.getByName("www.bycho.kr");

System.out.println("ia2(address) = "+ia2.getHostAddress());

System.out.println("ia2(name) = "+ia2.getHostName());

InetAddress ia3 = InetAddress.getByName("175.126.170.70");

System.out.println("ia3(address); = "+ia3.getHostAddress());

System.out.println("ia3(name); = "+ia3.getHostName());

InetAddress ia4[] = InetAddress.getAllByName("www.naver.com");

for(InetAddress ia:ia4){

System.out.println("ia4 = "+ia.getHostAddress());

}

}catch(Exception e){}

}


public static void main(String[] args) {

new InetAddressTest();


}


}



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

[예제] Source View  (0) 2016.12.23
URL Test  (0) 2016.12.23
Text Edit  (0) 2016.12.23
Thread Test 2  (0) 2016.12.23
Thread Test 1  (0) 2016.12.23
Posted by Hyun CHO
,

Text Edit

응용 SoftWare/JAVA 2016. 12. 23. 17:34

import java.awt.Component;

import java.awt.ScrollPane;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import javax.swing.DefaultListModel;

import javax.swing.ImageIcon;

import javax.swing.JDesktopPane;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JScrollPane;

import javax.swing.JSplitPane;

import javax.swing.JTextArea;

import javax.swing.JTree;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import javax.swing.event.TreeExpansionEvent;

import javax.swing.event.TreeWillExpandListener;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.DefaultTreeCellRenderer;

import javax.swing.tree.TreeNode;

import javax.swing.tree.TreePath;


public class TextEdit extends JFrame implements ActionListener, TreeWillExpandListener{

//Menu

JMenuBar mb = new JMenuBar();

JMenu fileMenu = new JMenu("파일");

JMenuItem newMenuItem = new JMenuItem("새문서");

JMenuItem openMenuItem = new JMenuItem("열기");

JMenuItem saveMenuItem = new JMenuItem("저장");

JMenuItem endMenuItem = new JMenuItem("종료");

//Menu End

//Left

JSplitPane verticalSplit;

JScrollPane treeScroll, listScroll;

JTree tree;

DefaultMutableTreeNode root;

File file; //JTree에서 선택한 폴더를 저장할 변수

JList list;

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

//Left end

//Right

JSplitPane horizontalSplit;

JDesktopPane dp = new JDesktopPane();

//Right end

int docNum = 1;

public TextEdit() {

super("편집기");

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

//menu

mb.add(fileMenu);

fileMenu.add(newMenuItem);

fileMenu.add(openMenuItem);

fileMenu.add(saveMenuItem);

fileMenu.add(endMenuItem);

setJMenuBar(mb);

newMenuItem.addActionListener(this);

openMenuItem.addActionListener(this);

saveMenuItem.addActionListener(this);

endMenuItem.addActionListener(this);

//menu end

//Left

root = new DefaultMutableTreeNode("내컴퓨터");

makeDir(); //drive 만들기

tree = new JTree(root, true);

treeScroll = new JScrollPane(tree);

tree.setCellRenderer(new FileRenderer());

tree.addTreeWillExpandListener(this); //JTree 이벤트 등록

list = new JList();

listScroll = new JScrollPane(list);

list.setModel(listModel);

//MouseEvent

MyMouseEvent me = new MyMouseEvent();

list.addMouseListener(me);

//MouseEvent end

verticalSplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT, treeScroll, listScroll);

verticalSplit.setDividerLocation(200);

//Left end

//right

horizontalSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, verticalSplit, dp);

//right end

add(horizontalSplit, "Center");

setSize(800, 700);

setVisible(true);

}

//오버라이딩

public void actionPerformed(ActionEvent ae){

String eventStr = ae.getActionCommand();

if(eventStr.equals("새문서")){

newDocument();

}else if(eventStr.equals("열기")){

openFile();

}else if(eventStr.equals("저장")){

saveFile();

}else if(eventStr.equals("종료")){

dispose();

System.exit(0);

}

}

public void treeWillExpand(TreeExpansionEvent te){ //폴더 확장 시 호출

TreePath tPath = te.getPath();

DefaultMutableTreeNode node = (DefaultMutableTreeNode)tPath.getLastPathComponent();

Object obj = node.getUserObject(); //

if(obj instanceof File){

file = (File)obj;

if(file.isDirectory()){ //JTree에서 구한 File 객체가 폴더면

File[] f = file.listFiles();//하위 폴더와 파일 목록 구하기

listModel.removeAllElements();//JList 초기화

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

if(f[i].isDirectory() && !f[i].isHidden()){ //폴더인 경우

DefaultMutableTreeNode insertNode = new DefaultMutableTreeNode(f[i]);

node.add(insertNode);

}else if(f[i].isFile() && !f[i].isHidden()){ //파일인 경우

listModel.addElement(f[i].getName());

}

}

list.setModel(listModel);

}

}

}

public void treeWillCollapse(TreeExpansionEvent te){}

//FileRenderer

class FileRenderer extends DefaultTreeCellRenderer

{

public ImageIcon IconDirectory = new ImageIcon("image/icon.jpg");

public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)

{

        File file;

            if ((value instanceof DefaultMutableTreeNode) && (((DefaultMutableTreeNode)value).getUserObject() instanceof File)) 

              JLabel label;

                file = (File)((DefaultMutableTreeNode)value).getUserObject(); 

            String fname = file.getName();

                if ( fname.length() <= 0 ) 

                label = (JLabel) super.getTreeCellRendererComponent(tree, file.getPath(), selected, expanded, leaf, row, hasFocus);

else

                label = (JLabel) super.getTreeCellRendererComponent(tree, fname, selected, expanded, leaf, row, hasFocus);

                

           if (file.isFile() == false) 

            label.setIcon(IconDirectory);

           return label;

        return super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);

}

}

//MouseEvent 내부 클래스

class MyMouseEvent extends MouseAdapter{

public void mouseClicked(MouseEvent me){

if(me.getClickCount()==2){ //더블클릭

String filename = (String)list.getSelectedValue();

createInternalFrame(new File(file, filename));

}

}

}

//새문서

public void newDocument(){

JInternalFrame jif = new JInternalFrame("새문서"+docNum++, true, true, true, true);

JTextArea ta = new JTextArea();

JScrollPane sp = new JScrollPane(ta);

jif.add(sp);

jif.setBounds(docNum*20, docNum*20, 400, 400);

jif.setVisible(true);

dp.add(jif);

try{

jif.setSelected(true);

}catch(Exception e){

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

}

}

//열기

public void openFile(){

JFileChooser fc = new JFileChooser();

int chooser = fc.showOpenDialog(this);

if(chooser==0){ //열기

File f = fc.getSelectedFile();

createInternalFrame(f);

}

}

//저장하기

public void saveFile(){

JFileChooser fc = new JFileChooser();

int status = fc.showSaveDialog(this);

if(status==0){ //저장

File f = fc.getSelectedFile();

JInternalFrame jif = dp.getSelectedFrame();

JTextArea ta = (JTextArea)jif.getFocusOwner();

try{

FileWriter fw = new FileWriter(f);

String writeStr = ta.getText();

fw.write(writeStr, 0, writeStr.length());

fw.flush();

}catch(Exception e){

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

}

}

}

//인터널 프레임 생성

public void createInternalFrame(File file){

JInternalFrame jif = new JInternalFrame(file.getPath(), true, true, true, true);

JTextArea ta = new JTextArea();

JScrollPane sp = new JScrollPane(ta);

jif.add(sp);

jif.setSize(500, 500);

jif.setVisible(true);

dp.add(jif);

try{

jif.setSelected(true); //창 앞으로 출력

//io

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

while(true){

String readLine = br.readLine();

if(readLine==null){break;}

ta.append(readLine+"\n");

}

}catch(Exception e){

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

}

}

//드라이브 만들기

public void makeDir(){

try{

File dir[] = File.listRoots();

DefaultMutableTreeNode node;

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

node = new DefaultMutableTreeNode(dir[i]);

root.add(node);

}

}catch(Exception e){System.out.println(e.getMessage());}

}

public static void main(String[] args) {

new TextEdit();


}


}



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

URL Test  (0) 2016.12.23
InetAddress Test  (0) 2016.12.23
Thread Test 2  (0) 2016.12.23
Thread Test 1  (0) 2016.12.23
Class Test  (0) 2016.12.23
Posted by Hyun CHO
,

Thread Test 2

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


public class ThreadTest2 {

//스레드로 실행이 가능한 클래스 만들기

//2. Runnable을 상속받아 만들기

public ThreadTest2() {}


public static void main(String[] args) {

ClockEx3 ce = new ClockEx3(1, 1);

//Runnable 상속받아 생성된 스레드 클레스는 Thread 객체를 만들어야 한다.

Thread tt1 = new Thread(ce);

tt1.start();

ClockEx3 ce2 = new ClockEx3(400, 1);

Thread tt2 = new Thread(ce2);

tt2.start();

ClockEx3 ce3 = new ClockEx3(1, 200);

Thread tt3 = new Thread(ce3);

tt3.start();

}


}


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

화면2.


import java.awt.Font;

import java.util.Calendar;

import javax.swing.JFrame;

import javax.swing.JLabel;

//Runnable 상속, run메소드 오버라이딩

public class ClockEx3 extends JFrame implements Runnable{

JLabel timeLbl = new JLabel();

Font fnt = new Font("Serif", Font.BOLD, 100);

public ClockEx3(){}

public ClockEx3(int x, int y){

add(timeLbl, "Center");

timeLbl.setFont(fnt);

setTime();

setBounds(x, y, 400, 200);

// pack();

setVisible(true);

}

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' 카테고리의 다른 글

InetAddress Test  (0) 2016.12.23
Text Edit  (0) 2016.12.23
Thread Test 1  (0) 2016.12.23
Class Test  (0) 2016.12.23
JSplitPane 예제2  (0) 2016.12.21
Posted by Hyun CHO
,

Thread Test 1

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


public class ThreadTest1 {

//스레드로 실행이 가능한 클래스 만들기

//1. Thread Class 상속받아 만들기

// - run()메소드 오버라이딩

public ThreadTest1() {

}


public static void main(String[] args){

ClockEx2 ce = new ClockEx2(1, 1);

ce.start(); //Thread 호출

ClockEx2 ce2 = new ClockEx2(400, 1);

ce2.start();

}

}



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

Text Edit  (0) 2016.12.23
Thread Test 2  (0) 2016.12.23
Class Test  (0) 2016.12.23
JSplitPane 예제2  (0) 2016.12.21
JSplitPane 예제  (0) 2016.12.21
Posted by Hyun CHO
,

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
,