승진이의 세상 살아가는 이야기  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'자바'에 해당하는 글(10)
2008.01.11   자바 프로퍼티 한글 사용문제!exception 발생 !해결법
2007.11.23   Daemon쓰레드 설정으로 프로그램 종료와 함께 쓰레드 종료시키기!
2007.11.23   자바 쓰레드 안전하게 종료시키는 것!!
2007.11.08   넷빈즈(netbeans)에서 CardLayout을 이용해서 이미 만들어놓은 jpanel 붙이기..
2007.11.06   시스템 정보 알아오기..


자바 프로퍼티 한글 사용문제!exception 발생 !해결법
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence

간단하다-_-;; XML문서에서 인코딩을 밑에와 같이 바꺼준다..

<?xml version="1.0" encoding="eucKR" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>SetTitle.properties</comment>
<entry key="1001-1">마녀배달부키키-(상)</entry>
<entry key="1001-2">마녀배달부키키-(하)</entry>
</properties>
신고
Tag : 인코딩, 자바


Daemon쓰레드 설정으로 프로그램 종료와 함께 쓰레드 종료시키기!
public class DaemonThreadTest {
    public DaemonThreadTest() {
    }
    public static void main(String[] args) {
        Thread test = new Thread(){
            public void run(){
                try{
                    Thread.sleep(5000);
                    System.out.println("MyThread 종료");
                }catch(Exception e){
                    //무시
                }
            }
        };
        test.setDaemon(true);
        test.start();
        System.out.println("main() 종료");
    }
}
자바에서는 모든 쓰레드가 종료되어야 JVM이 종료되는데, 상황에 따라 분리된 쓰레드로 백그라운드 작업을 해야 하는 경우도 있다.
위 프로그램은 쓰레드를 데몬쓰레드로 설정함으로써 프로그램 종료시 쓰레드에 남아있는 작업이 있더라도 종료시킨다.
주의할 점은 쓰레드를 시작 전에 setDaemon을 주어야 한다는 것이다 .
어떤 스레드가 데몬 스레드인지, 일반 쓰레드인지 알고 싶다면 isDaemon()메소드를 통하여 알 수 있다.
신고
Tag : 쓰레드, 자바


자바 쓰레드 안전하게 종료시키는 것!!
class AdvancedStopThread implements Runnable {
    public void run() {
        try{
           while(!Thread.currentThread().isInterrupted()){
               System.out.println("Thread is alive..");
               Thread.sleep(250);
           }
        }catch(InterruptedException e){
            //e.printStackTrace()'; 예상했던 예외이므로 넘긴다.
        }finally{     //마무리할 작업(소켓,스트림,DB커넷션 등)이 있다면 이곳에서 정리.
            System.out.println("Thread is dead..");
        }
    }
}
public class ThreadTest {

    public static void main(String[] args) {
        AdvancedStopThread tt = new AdvancedStopThread();
        Thread test = new Thread(tt);
        test.start();
        try{
            Thread.sleep(1000);
        }catch(InterruptedException e){
            e.printStackTrace();
        }
        test.interrupt();
    }
}
위 프로그램은 자바에서 while조건문에서 isInterrupted()메소드로 스레드가 일시 정지되었는지를 확인한다. 또한 interrupt()메소드를 호출한 즉시 스레드를 중지시키고 finally문에서 안전하게 마무리 작업까지 할 수 있게 된다.
신고
Tag : 쓰레드, 자바


넷빈즈(netbeans)에서 CardLayout을 이용해서 이미 만들어놓은 jpanel 붙이기..

일단 넷빈으로
이미 작업되어있는 A.java
Class A extends JPanel..{
}
머 이런 클래스 파일이 있고 GUI가 상당히 복잡하면 붙여넣는 방법을 생각해보아야한다.
어떤 메인 화면 작업에서 이 파일을 붙여넣으면서
화면 이동이 가능한 것은 CardLayout이 있다..
이것을 이용해서
만약 jPanel1이라는 패널을 카드레이아웃으로 지정했다면
그 jPanel1을 public static으로 지정해준다.

DataTable dt = new DataTable(iTmp);
dt.setTableWidth();
dt.setBounds(0, 0, 1016, 698);
jPanel1.add(dt,"table1");
CardLayout card = (CardLayout ) (jPanel1.getLayout());
card.show(jPanel1, "table1");

그런 다음에 이렇게 하면 보여줄 수 있다.
그리고 DataTable안에서 메인 화면을 다시 보여주려면..
MFrame을 메인 클래스 화면이라고 생각하면..

CardLayout card = (CardLayout) (MFrame.jPanel1.getLayout());
card.show(MFrame.jPanel1,"main");

이렇게 버튼이나 기타 이벤트에 넣어주면 메인화면을 보여준다.

신고
Tag : CardLayout, 스윙, 자바


시스템 정보 알아오기..
시스템 정보,
시스템 현재 작업 디렉토리,
시스템 파일 구분자,
패스 구분자
줄 구분자

등등의 정보를 갖고 있다.

이 정보들은 java.util.Properties.*;

getProperties

public static Properties getProperties()
Determines the current system properties.

First, if there is a security manager, its checkPropertiesAccess method is called with no arguments. This may result in a security exception.

The current set of system properties for use by the getProperty(String) method is returned as a Properties object. If there is no current set of system properties, a set of system properties is first created and initialized. This set of system properties always includes values for the following keys:
Key Description of Associated Value
java.version Java Runtime Environment version
java.vendor Java Runtime Environment vendor
java.vendor.url Java vendor URL
java.home Java installation directory
java.vm.specification.version Java Virtual Machine specification version
java.vm.specification.vendor Java Virtual Machine specification vendor
java.vm.specification.name Java Virtual Machine specification name
java.vm.version Java Virtual Machine implementation version
java.vm.vendor Java Virtual Machine implementation vendor
java.vm.name Java Virtual Machine implementation name
java.specification.version Java Runtime Environment specification version
java.specification.vendor Java Runtime Environment specification vendor
java.specification.name Java Runtime Environment specification name
java.class.version Java class format version number
java.class.path Java class path
java.library.path List of paths to search when loading libraries
java.io.tmpdir Default temp file path
java.compiler Name of JIT compiler to use
java.ext.dirs Path of extension directory or directories
os.name Operating system name
os.arch Operating system architecture
os.version Operating system version
file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
line.separator Line separator ("\n" on UNIX)
user.name User's account name
user.home User's home directory
user.dir User's current working directory

Multiple paths in a system property value are separated by the path separator character of the platform.

Note that even if the security manager does not permit the getProperties operation, it may choose to permit the getProperty(String) operation.

Returns:
the system properties
Throws:
SecurityException - if a security manager exists and its checkPropertiesAccess method doesn't allow access to the system properties.
See Also:
setProperties(java.util.Properties), SecurityException, SecurityManager.checkPropertiesAccess(), Properties


API 내용중 일부분에서 현재 시스템 정보를 갖고 오는 것이다.
관련 api를 이용해서 현재 작업 디렉토리를 변경할 수도 있다.
신고
Tag : 시스템 정보, 자바


BLOG main image
항상 0에서 시작한다는 자세를 갖고 앞으로 나에게 가장 유리한 것이 무엇인지를 찾아라.
 Notice
 Category
분류 전체보기 (228)
승진이 이야기 (29)
승진이 공부중 (16)
승진이 자료실 (1)
승진이와 Android (1)
승진이와 Java (49)
승진이와 DB (10)
승진이와 영어 (3)
승진이와 책 (8)
승진이와 C (6)
승진이와 Web (15)
승진이와 정보 (68)
승진이와 XML (3)
승진이와 Q&A (2)
승진이의 Logs (0)
승진이와 사진 (1)
승진이와 Android (0)
승진이와 자동차 (4)
승진이와 이클립스 RCP (6)
승진이와 프로젝트들 (0)
승진이와 JavaScript (2)
승진이와 쉘프로그래밍 (0)
Flex (0)
 TAGS
IzPack surge 자바 문자열 검색 FTP업로드 java.lang.NoClassDefFoundError 리눅스 informix 객체 참조 Android 새창으로 열기 수식 검색 신협중앙회 얼린 문 열기 c 스윙 C언어 문자열 디렉토리명 넷빈즈 에러 크로스 브라우저 펀드 특수 문자 엑셀 오라클 SDK Setup.exe 자격증 LPIC Preference 디렉토리 변경 java install.xml 뒤로가기 버튼 쓰레드 pk fk 조회 리눅스 팁 쉘스크립트
 Calendar
«   2017/11   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
 Recent Entries
ORA-32039: 순환 WITH 절에는 열 별칭 목록..
rexpert 오라클 접속 설정 방법
간단한 코드 테이블 설계
String padding 자바스크립트
jquery selector 셀렉터 표현식으로 찾기
이광영 부장판사 솜방망이 처벌 관련 링크들
sql 디벨로퍼 각주 제거 생성 단축키
jquery 이용하여 프린트 1
테이블 자동 줄바꿈 처리 방법
문자 찍는 함수 CHR() 함수와 ASCII()함수
 Recent Comments
5년이란 시간동안 my..
은성훈 - 2014
한국새끼들이 이래서..
qweqwe - 2014
mysql도 rollup기능..
ㄴㄴㄴ - 2014
감사합니다
고마워요 - 2012
헐.. 정말인가요? 사..
BreathAir - 2011
저는 이제서야 관련..
originkim - 2011
아주 막장 그자체라..
기술자 - 2010
request의 parameter..
님 짱!! - 2010
제가 목격한 건데요...
^^ - 2010
네 도대체 왜 그렇게..
BreathAir - 2010
 Recent Trackbacks
スタッドレスタイヤ..
スタッドレスタイヤ..
野球ス ミズノ
野球ス ミズノ
ve may bay
ve may bay
visit this web page..
visit this web page..
timeshare vacation..
timeshare vacation..
joogle.in
joogle.in
arassegaf.com
arassegaf.com
new Software techno..
new Software techno..
www.douloschurch.com
www.douloschurch.com
fix DBF file
fix DBF file
 Archive
2013/12
2013/11
2013/04
2013/03
2012/09
 Link Site
내 마음속 폭풍은 아직 아..
괴짜 프로그래머의 일상사~..
Joel on Software
Android 개발자 커뮤니티 ,..
developer.com
Jace\'s Blog
오라클 10g Documentation
Programing Note (승만이)
실용주의를 꿈꾸며(이클립..
http://pragmatic.kr
자바 누리 기술 문서 / 매..
Reflect
Java API 6.0 한글번역
eclipse resources 문서 링..
자바 관련 소스 많은 곳
미디어 파일 (무제한 웹하드)
http://younghoe.info/
Open Knowledge Share Drea..
키스포토 (사진강좌와 사진..
외국 드라마 TV show 자막..
무료 ebooks
지금샵
 Visitor Statistics
Total : 233,018
Today : 29
Yesterday : 14
rss