라벨이 스윙인 게시물 표시

Swing Launcher

main() 함수에서 다음과 같은 방식으로 JFrame등을 실행시킬 수 있다. 1 SwingUtilities . invokeLater ( new Runnable (){ 2 public void run () { 3 JFrame win = new JFrame (); 4 win . pack (); 5 win . setVisible ( true ); 6 } 7 });

OSX에서의 Swing

자바로 구현된 스윙 어플리케이션을 맥 OSX에서 구동하는 경우, 시스템 룩앤필을 적용하는 것만으로는 뭔가 아쉽다는 것을 깨달았다. 윈도우즈나 리눅스와 달리 OSX에서는 메뉴바가 화면 위에 있다거나 해서 좀 더 손 봐줘야 할 곳이 있다. 아래 링크된 사이트의 몇 가지 항목을 번역해 두기로 한다. http://www.devdaily.com/apple/mac/java-mac-native-look/ https://developer.apple.com/library/mac/#documentation/Java/Conceptual/Java14Development/04-JavaUIToolkits/JavaUIToolkits.html#//apple_ref/doc/uid/TP40001901-SW1 시스템이 OSX인지를 판별 String lcOSName = System . getProperty ( "os.name" ). toLowerCase (); boolean IS_MAC = lcOSName . startsWith ( "mac os x" ); 시스템 룩앤필을 적용 UIManager . setLookAndFeel ( UIManager . getSystemLookAndFeelClassName ()); 메뉴바를 화면 맨 위로 이동 System . setProperty ( "apple.laf.useScreenMenuBar" , "true" ); 메뉴바에 패키지명 대신 어플리케이션 이름을 지정 System . setProperty ( "com.apple.mrj.application.apple.menu.about.name" , "어플리케이션명" ); 독 바 아이콘을 지정하려한다거나 보다 자세한 내용이 필요한 경우에는 원문을 참조하기 바란다.

스윙에서 데스크탑의 브라우저 실행하기

버튼 등에서 이벤트를 받아서 임의의 URL로 이동하는 브라우저를 띄우려거든 리스너에 다음과 같이 구현한다. 1 public void actionPerformed ( ActionEvent e ) { 2 try { 3 Desktop . getDesktop (). browse ( new java . net . URI ( "www.elex.pe.kr" )); 4 } catch ( IOException e1 ) { 5 e1 . printStackTrace (); 6 } catch ( URISyntaxException e1 ) { 7 e1 . printStackTrace (); 8 } 9 }