우선은 3.5 와 3.6은 차이가 좀 있는 듯.. 예전에 만들어 놓은 코드를 사용하려고 했더니. 쩌ㅃ~  WorkFactory(??) 가 없다고 동작을 안함. 그렇다고 3.5를 다시 다운받고 올려보자니. 귀찮고..

우선은 2007 이상 버전의 Excel을 가지고 놀아야 할텐데.. 이때 사용할 넘이 "XSSF" 란 넘이다.
Example
File theFile = fileChooser.getSelectedFile();

try {
    XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(theFile));
    XSSFSheet sheet = wb.getSheetAt(0);

    String[] phoneNumbers = new String[sheet.getPhysicalNumberOfRows()];

    for(int i = 0;i<sheet.getPhysicalNumberOfRows();i++) {
         XSSFRow row = sheet.getRow(i);
         phoneNumbers[i] = row.getCell(0).getStringCellValue();
    }
} catch (IOException ex) {
    Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
}        

대충 보면 첫번째 컬넘에 있는 데이터만 가지고 오는 넘임.. 참고로.. 2007 이전 버전은 HSSF(??) 를 사용하면 됨. 코드는 똑같을 듯..

'java > excel' 카테고리의 다른 글

[excel] - Apache POI 를 이용하여 Excel 가지고 놀기  (0) 2010.06.29
Posted by 짱가쟁이


요넘 예전에 공부하다가 대충 훌터보고 넘겼었는데.. 드디에 사용하게 되는구만..

가끔 엑셀로 데이터를 주면서 배치작업을 요청 하는 경우가 있더라.. 뭐.. 텍스트 파일로 옮긴 후 처리를 하곤 했지만.. 내가 계속 해주기 귀찮더라이거지.. 그래서 아싸리. UI 프로그램을 하나 주면 편할 듯 싶어서 작업을 하게 됨.

Example
private JFileChooser fileChooser = new JFileChooser();

fileChooser.setDialogTitle("Excel Load");
fileChooser.setFileFilter(new TypeOfFile());

TypeOfFile
- 요넘.. 어딘가에서 가져왔지만. 까먹음.. 흠...
import java.io.File;
import javax.swing.filechooser.FileFilter;

/**
 *
 * @author 0216
 */
public class TypeOfFile extends FileFilter {
     //Type of file that should be display in JFileChooser will be set here
     //We choose to display only directory and text file
     public boolean accept(File f)
     {
        return f.isDirectory()||f.getName().toLowerCase().endsWith(".xlsx");
     }

     //Set description for the type of file that should be display
     public String getDescription()
     {
        return ".xlsx";
     }
}

Posted by 짱가쟁이
우선은 이놈의 회사는 출근부에 도장을 찍듯이 인트라넷에 로그인을 해야 출근으로 인정되더라.. 좀 귀찮고 해서 그냥 일배치로 돌려볼 요량으로 찾게 되었음. (commons-httpclient-3.1.jar 사용)

뭐.. Post, Get 메소드를 제공하고 입맛에 맞게 잘 사용하면 되지만.. 결론은 인트라넷.. 잘 막아 놓았다는거.. 로그인 OK 페이지로 넘어가는 파라메터만 가지고는 좀 부족했는듯.. 좋은 방법이 없을까 ?? 쩌ㅃ~

Get Mehtod 사용법
HttpClient httpclient = new HttpClient();
GetMethod getPage1 = new GetMethod("http://bbaeggar.tistory.com");           
httpclient.executeMethod(getPage1);           
System.out.println(getPage1.getResponseBodyAsString());

Post Method 사용법도 별 어려움은 없는 듯..
Posted by 짱가쟁이
base64 인코딩된 데이터를 바이트로 디코딩후 이미지로 변환할 때 사용함.

Code
/**
     * byte array to image
     *
     * @param path      이미지 경로
     * @param buffer    이미지 데이터
     * @throws FileNotFoundException
     * @throws IOException
     */
    public static void byte2Image(String path, byte[] buffer) throws FileNotFoundException, IOException {
        FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));
        imageOutput.write(buffer, 0, buffer.length);
        imageOutput.close();
    }

'java > util' 카테고리의 다른 글

[java] - File readLine  (2) 2010.07.01
[java] - File read  (0) 2010.07.01
[java] - 소수점 자르기 (duble type)  (0) 2010.06.30
[java] - base54 String decode  (0) 2010.06.30
[java] - 타입 변환  (0) 2010.06.30
Posted by 짱가쟁이
가끔 실수형을 계산하면 터무니 없이 길게 나오거나.. 몇번째 자리부터 근사값을 구하고 싶을 때 사용하면 됨.

code
/**
    * 적당한 길이로 자른다.
    *
    * @param size   
    * @param value
    * @return
    */
   public static String longDouble2String(int size, double value) {
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(size);
        nf.setGroupingUsed(false);
        return nf.format(value);
    }

Test
System.out.println(StringUtil.longDouble2String(2, 12.123456789));

Result
12.12

'java > util' 카테고리의 다른 글

[java] - File read  (0) 2010.07.01
[java] - byte array to image  (0) 2010.06.30
[java] - base54 String decode  (0) 2010.06.30
[java] - 타입 변환  (0) 2010.06.30
[java] - 외부 프로그램 실행하기..  (0) 2010.06.29
Posted by 짱가쟁이
예전엔 byte가 깨질거 고려해서 hex string으로 변환해서 사용했었는데.. 모바일 쪽에서는 base64를 사용하는 곳이 있는듯 싶다. 뭐 사용하기 나름이니까.. 쩌ㅃ~

Base64로 인코딩된 문자열을 byte array로 디코딩 해준다.
public static byte[] base64Decode(String source) {
       byte[] buffer = null;
   
       BASE64Decoder base64Decoder     = new BASE64Decoder();
       ByteArrayInputStream  in     = new ByteArrayInputStream(source.getBytes());
       ByteArrayOutputStream out     = new ByteArrayOutputStream();

       try {
           base64Decoder.decodeBuffer(in, out);
       } catch (Exception e) {
           e.printStackTrace();
       }
       buffer = out.toByteArray();
       return buffer;
}

'java > util' 카테고리의 다른 글

[java] - byte array to image  (0) 2010.06.30
[java] - 소수점 자르기 (duble type)  (0) 2010.06.30
[java] - 타입 변환  (0) 2010.06.30
[java] - 외부 프로그램 실행하기..  (0) 2010.06.29
[java] - byte array to int  (0) 2010.06.29
Posted by 짱가쟁이

이거는 뭐... 몇장 읽다가 돈이 아깝다는 생각이 든다.. 영어가 딸려서 번역서를 샀다고는 하지만.. 그냥 번역기 돌려놓고.. 조금 수정했다라는 느낌을 지울수 없는건 어떤 이유일까?


나름 기대를 많이 했었는데.. 내용을 떠나서.. 너무 성의 없는 번역에.. 실망이 크다..


PS. 도서의 내용이 나쁘다는 얘기는 절대 아니다. 요즘들어 프로젝트를 진행하면서 이 책을 읽기를 정말 잘했다는 생각이 든다. 뭐라고 할까 개발이 훨씬 편해졌다고 해야 하나??

'study' 카테고리의 다른 글

추상화(abstraction), 일반화(generalization)  (0) 2016.03.02
[도서] - Java Performance Fundamental  (0) 2010.06.30
[Apache Click] - 클릭(??)  (0) 2010.06.28
용어정리  (0) 2010.06.28
Posted by 짱가쟁이

요넘.. 처음에서 읽기가 좀 거시기 하던데.. 찬찬히 이유를 생각해보니.. 소설책 마냥 너무 쉽게 읽어 볼려고 했던것이 문제인듯. 기반 지식이 약한데.. 쉽게 갈려고 했던게 문제임..


전략을 바꿔.. 자기전에 1시간씩만 투자하기로 결정.. 천천히 자세히 읽으니.. 크게 어려운 내용은 없지만.. 생소한게 많아서 진도가 잘 안나간다는게 문제임 ㅡㅜ;


이책.. 처음에서 좀 짜증나더니.. 읽으면 읽을수록... 책의 지식이 내게 쌓일수록.. 다른 책을 읽을때나 웹 문서를 읽을 때 도움이 되는듯..


아직 다 읽지는 않았지만.. 이책 한번은 읽어봐도 좋을듯함.

'study' 카테고리의 다른 글

추상화(abstraction), 일반화(generalization)  (0) 2016.03.02
[도서] - 자바 병렬 프로그래밍  (0) 2010.06.30
[Apache Click] - 클릭(??)  (0) 2010.06.28
용어정리  (0) 2010.06.28
Posted by 짱가쟁이

윈도우를 그리고.. 창 안에 이미지를 겹쳐가며 보여주는 넘을 만들고 싶다.(뭐 어딘가에서 본거지만..) 라는 생각으로 시작함.

간단히 만들어 보고 JavaFX를 끝내고 싶은 마음에 시작을 했지만.. 이거 생각보다 헤딩을 많이 함.


이미지는 책 예제의 Nasa 사이트에서 가져왔음.


1. UI Class 설명

Stage
- javafx.stage.Stage
- FX 스크립트의 인스턴스 생성을 위한 최상위 컨테이터.
- SWT 의 shell 과 비슷함.

Scene
- javafx.scene.Scene
- scene graph 에 존재하는 모든 content 들의 Root Node.
- content
 : scene 에 랜더링 되는 Node의 array

Node
- javafx.scene.Node
- 모든 scene graph 노드의 기본 클레스


2. Main.fx

Stage 를 적당히 설정하고 이미지를 배치하는 넘을 생성하면 끝나는 넘.

ImageSlideSkin

- javafx.scene.CustomNode 를 상속받아 이미지를 배치시킬 노드 트리를 생성하는 클래스.

package sample;

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.paint.Color;

/**
 * @author Administrator
 */

def width  = 830;
def height = 300;

// 이미지를 열심히 구겨 넣음.

var imageSlideSkin = ImageSlideSkin {
                        sceneHeight : height;
                     };

Stage {
    title   : "Image Slide Show"
    width   : width
    height  : height

    //style : StageStyle.TRANSPARENT
  
    scene: Scene {
        fill : Color.GRAY
        content: [
            imageSlideSkin
        ]
    }
}
imageSlideSkin.sortAll();





'javaFX' 카테고리의 다른 글

[리뷰] 예제로 쉽게 배우는 JavaFX  (0) 2010.06.29
Posted by 짱가쟁이
Posted by 짱가쟁이