[Autopacage] 2009년 5월 6일 첫삽(?) 뜨다.

자바 | 2009.05.06 16:28 | Posted by imesu-문경원
임베디드 보드의 시리언 콘솔은 다양한 역할을 한다.

특히나 디버깅에 상당히 요긴한데, 시리얼 케이블과 몇가지 시리얼 통신 설정만 하여 간단히 디버깅할 수 있다.

그런데 Falinux의 Autopacage이라는 프로그램을 보면 생산을 위한 용도로 사용되고 있다.

예전에도 한번 만들어 볼 생각을 하다가 중도에 그만 두곤 했는데

이벤에 자바SWT를 하면서 다시 진행해 보려는 생각이 문뜩 들었다.

그래서 개발일지를 차근 차근 써 볼까 한다.

현재 대략적은 화면 구성은 마쳤고, 우선을 동일하게 만들었다.



시리얼 콘솔을 이용해서 메시지를 내가 만든 Autopacage에 화면에 뿌리는 일을 진행 중이다.

시리얼 관련 부분은 유영창 선배님이 남든 소스를 가져가다 쓰고 있다. ^^

현재는 [open port] 버튼을 누르면 유영창 선배님이 만든 시리얼 창이 나온다.

시리얼 포트를 열고 장비와 연결하니까.

커널 어떤 메시지가 나온다. 굿~

그런데 화면에 깨져서 나온다. 여기에 대한 보정인 나중에 하고

우선 오늘은 오늘 까지 디버깅 메시지 [Terminal]를 화면에 뿌릴 수 있게 해야지 ~~^^

고고~

[SWT/JFace]1개 버튼에 2개 리스너 등록하기

자바/SWT / JFace | 2009.05.05 15:02 | Posted by imesu-문경원

아래 예제는 한개의 버튼에 대해서 두개의 리스너를 등록한 방법에 대한 예제이다.

아래 그림 "예" 버튼에 두개의 리스너를 등록했다.
첫번째, 마우스가 움직임에 대한 리스너(MouseTrackListener)
두번째, 버튼을 눌려 선택에 대한 리스너(SelectionListener)

버튼(컨트롤) 에 이벤트 리스너를 등록하는 방법은 아주 간단하다.

내가 사용고자 하는 컨트롤에 addXXXListener() 가 있으면 된다.
아래 소스의 경우, 내가 사용하고자 하는 버튼에 리스너
addMouseTrackListener ,
addSelectionListener
를 추가했다.







1. 실행 결과 


1) "예", "아니오" 버튼이 나온다.



2) 마우스를 "예" 버튼에 옮기면 MouseTrackListener 의 매소드 mouseEnter() 가 호출된다.


3) 마우스를 "예" 버튼에 계속 있음면  MouseTrackListener 의 매소드 mouseHover() 가 호출된다.


4) 마우스를 "예" 버튼에서 빠져 나오면   MouseTrackListener 의 매소드 mouseExit() 가 호출된다.



2. 전체 소스 보기




1. 과정



1)  윈도우의 '닫기' 버튼을 누를때 발생하는 이벤트를 처리하기 위해서 리스너를 생성한다.  
여기선 ShellListener 를 생성하였다. 



2) 리스너를 사용했기 때문에, 반드시 해당 리스너(ShellListener)에 속해있는 모든 매서드를 재정의 해야한다.


3. addXXXListenerr에 등록한다. 우리가 사용할 매소드는 shell.addShellListener(shellListener) 이다.




2. 실행결과




1. 닫기 버튼을 누른다.


2. 메시지 박스가 나온다.



3. 전체 소스 보기

[SWT/JFace] 시간 함수

자바/SWT / JFace | 2009.04.29 23:58 | Posted by imesu-문경원


   SimpleDateFormat format = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");    // yyy MM ...등은 이대로 써야한다.
   Date d = new Date();

   String str = format.format(d);    
   System.out.println("현재시간: " + str);    // 현재시간 표시

아래 샘플의 목적은 특정 파일을 읽어 들인 후에 내용을 화면에 뿌리기 위한 목적으로 만든 샘플이다.

1. 실행 결과




1)기본 화면이 뜬다.

2) 파일 열기 버튼을 누르면 아래의 탐색기가 나온다.


3) "file_read.java" 파일을 열어서, 내용을 화면에 표시한다.



2. 소스 분석




 

[자바]이클립스 강좌링크

자바 | 2009.04.26 22:33 | Posted by imesu-문경원

23 [이클립스]  Eclipse용 Ajax Toolkit Framework (한글)
22 [이클립스]  eclipse에 SQLExplorer 추가하기
21 [이클립스]  Eclipse에서 Ruby사용하기.
20 [이클립스]  eclipse 사용시 JSP의 컴파일 경로
19 [이클립스]  JSP 개발환경 구축 이클립스 3.2 + WTP 1.5 + 톰캣 5.5.17
18 [이클립스]  이클립스 3.2 & 한글언어팩 다운로드
17 [이클립스]  Ant 에서 사용하는 xml 정리
16 [이클립스]  Eclipse 에서 유저 코딩 규칙 설정중..
15 [이클립스]  SQL Explorer 사용하기
14 [이클립스]  Eclipse에서 Flex와 PHP로 작업하기
13 [이클립스]   Eclipse 웹 관련 설정
12 [이클립스]  자동 war 풀기
11 [이클립스]  이클립스 디버깅 방법과 자주사용되는 이클립스 기능
10 [이클립스]  Eclipse javadoc주석 설정하기
9 [이클립스]  [이클립스]DBEdit을 이용한 데이타베이스 관리
8 [이클립스]  <이클립스> eclipse 다운로드
7 [이클립스]  이클립스 플러그인 모음
6 [이클립스]  이클립스 팁
5 [이클립스]  이클립스 3.0 단축키 정리
4 [이클립스]  getter setter에서 comment 지우기
3 [이클립스]   이클립스 속도 향상
2 [이클립스]   [플러그인]업데이트 사이트 모음
1 [이클립스]  이클립스에 관한것(마이 이클립스)

[SWT/JFace] 설치하기

자바/SWT / JFace | 2009.04.17 15:22 | Posted by imesu-문경원

SWT/JFace를 설치하면서 궁금한 점이  두가지 있었다.

"어떻게 프로젝트를 만들어야 하는가?"
"추가적인 프로젝트 생성 시 동일한 과정을 번복적으로 이루어져야 하는가" 



 첫번째 질문의 답은 이렇다.
일반적인 java 프로젝트로 만든 후 , SWT/JFace관련 부분인 Build Paeh를 추가해 주어야한다. 
왜냐하면, 이클립스에서는 SWT/JFace 프로젝트를 현재 바로 만들 수 없기 때문이다.

두번째 질문의 답은 반복적으로 해야 한다는 것이다.
많이 번거롭기는 하지만, 이클립스에서는 SWT/JFace 프로젝트를 현재 바로 만들 수 없기 때문에 어쩔 수 없다.
그나마 다행인 것은 첫번째 과정해서 만들어놓은 Build Path를 그냥 사용할 수 있다는 점이다.

아래의 과정을 차근차근 따라가면서 이클립스에서는 SWT/JFace 프로젝트를 만들어 봅시다.


1.일반적인 JAVA Project를 생성한다.





2. 자바 프로젝트를 선택한 후 Next를 누른다.





3. 프로젝트 명을정한다. 난 jazzSWT 라고 프로젝트 명을 설정했다.







4. Libraries를 선택한 후 Add_Varible.. 버튼을 누른다.

  




5.Configure Variables를 누른 후 PATH를 추가한다.

 




6. New 버튼을 누른 후 새로운, PATH를 추가한다. (그림 006.png)

 




7. 아래의 내용을 추가한다. (그림 012.png)

 
 

추가된 PATH

내용

BOOT_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.core.boot_3.1.100.v20060603.jar

COMMAND_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.core.commands_3.2.0.I20060605-1400.jar

COMMON_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.equinox.common_3.2.0.v20060603.jar

JFACE_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.jface_3.2.1.M20060908-1000.jar

RUNTIME_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.core.runtime_3.2.0.v20060603.jar

SWT_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar

WORKBENCH_LIB

D:/Eclipse/eclipse/plugins/org.eclipse.ui.workbench_3.2.1.M20060906-0800.jar


만일 프로젝트를 이미 생성한 후 사용 중이라면,  프로젝트 명에서 오른쪽 마우스를 클릭한 후 Properties를 누르면 면 PATH를 추가하는 화면을 찾을 수 있다.
여기서 Add Variable 버튼을 누르면 된다.






8. Class 를 생성하여 샘플 코드를 만들어 보자.

 





9. HellowWorld.java 와 HelloWorldJFace.java Class를 만들었다.


 



10. 샘플 코드를 작성한다.

 

샘플 1)  JFace 이용한 소스 <HelloWorld.java>


import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Text;

 

public class HelloWorld{

 

       public static void main(String[] args){

             Display display = new Display();

             Shell shell = new Shell(display);

      

             Text helloText = new Text(shell,SWT.CENTER);

             helloText.setText("Hello World!");

      

             helloText.pack();

             shell.pack();

 

             shell.open();

 

             while(!shell.isDisposed()){

                    if(!display.readAndDispatch()) display.sleep();

             }     

             display.dispose();

       }

}


샘플 2)  JFace 이용한 소스 <HelloWorldJFace.java>


import org.eclipse.jface.window.*;

import org.eclipse.swt.*;

import org.eclipse.swt.widgets.*;

 

public class HelloWorldJFace extends ApplicationWindow{

      

       public HelloWorldJFace(){

             super(null);

       }

       protected Control createContents(Composite parent){

             Text HelloWorldJFace = new Text(parent, SWT.CENTER);

            

             HelloWorldJFace.setText("Hello World JFace");

             parent.pack();

             return parent;

       }     

       public static void main(String[] args){

             HelloWorldJFace hw = new HelloWorldJFace();

             hw.setBlockOnOpen(true);        

             hw.open();

             Display.getCurrent().dispose();        

       }

}





11. 컴파일 한다.


 





12. 컴파일 할 것(SWT Application)을 선택한다.






13. 실행 결과

 
<HelloWorld.java>


<HelloWorldJFace.java>


 

티스토리 툴바