본문 바로가기

Programming

이클립스 실행 오류 해결 Ubuntu 환경에서 이클립스를 설치하고 실행했더니 다음과 같은 오류가 발생하였습니다. (An error has occurred. See the log file ...) 경고창에 적힌 See the log file 문구대로 로그파일을 gedit를 이용하여 읽어보았습니다. ↓ 로그 내용중 빨간 밑줄을 보시면 SWT library를 찾을 수 없다라고 나옵니다. (Could not load SWT library) 또한 /home/mooyou/.swt/lib/linux/x86_64/ 폴더에서 SWT library를 찾는 것을 볼 수 있습니다. 이것 때문에 문제가 발생한 것입니다. 따라서 다음과 같이 터미널에 입력하여 SWT library 파일들을 링크시켜주면 해결됩니다. ln -s /usr/lib/jni/lib.. 더보기
[안드로이드] Preference – UI 정보, 간단한 변수 저장하기 이번에는 Preference에 대해 다루어 보겠습니다. Preference(이하 프리퍼런스)는 화면 이동 시 간에 발생하는 데이터 손실을 방지하기 위해 사용되는 자료형입니다. 간단한 예로 들자면, 친구에게 메시지를 보내기 위해 열심히 문자를 쓰고 있는 와중에, 전화와 온다고 가정합시다. 전화를 받고 나서 긴 장문의 메시지가 날라간다면 어떤 느낌이 들까요? 이런 일을 방지하기 위해서 프리퍼런스라는 자료형을 사용합니다. 화면 전환 시, UI 정보를 저장하고, 다시 그 화면으로 돌아왔을 때의 UI 정보를 불러와서 다시 화면에 뿌려주는 역할을 합니다. 이 밖에도 화면 전환 시에 저장하고 싶은 데이터를 저장할 수도 있습니다. 즉 간단하게 말하면, 임시 저장소라고 생각하시면 될 것 같습니다. [핵심 코드] Pref.. 더보기
How to Load a Java Native/Shared Library (.so) How to Load a Java Native/Shared Library (.so) http://www.chilkatsoft.com/java-loadLibrary-Linux.asp http://xyplot.com/jni.simple.htm http://www.jvmhost.com/articles/using-native-methods-shared-libraries-in-java-jsp-code http://stackoverflow.com/questions/8650472/how-do-i-import-a-native-library-so-file-into-eclipse 더보기
안드로이드 어플리케이션 종료하기 How to quit an application in Android 안드로이드는 멀티태스킹 그리고 어플리케이션 생명주기에 대하여 조금 독특한 철학을 갖고 있습니다. 덕분에, 기존 윈도우나 다른 OS 에서 어플리케이션을 만들었던 개발자들이 안드로이드를 시작할 때, 굉장히 간단해 보이는 일 때문에 고생을 하곤 하는데요. 무엇보다도 '어플리케이션 종료' 에 대하여, 도대체 어떻게 하면 어플리케이션을 종료 시킬 수 있는지 헤매는 경우가 많습니다. (저도 관련해서 여러가지 고생을 했습니다...ㅠㅠ) 난감한 '안드로이 어플리케이션 종료' 에 대하여, 그 동안 삽질한 내용을 기반으로 간단히 5 단계로 정리해 보았습니다. 1. 안드로이드 사전에 '어플리케이션 종료' 는 없습니다. 안드로이드 어플리케이션 생명주기에 관해.. 더보기
자바 Eclipse 이클립스 SWT/JFace 참고 사이트 http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm 더보기
[SWT] Java Tutorial http://www.java2s.com/Tutorial/Java/0280__SWT/Catalog0280__SWT.htm 더보기
SWT 컴포넌트 http://lovedev.tistory.com/267 더보기
[안드로이드] 탭 레이아웃(Tab Layout) 사용하기 - Intent 방식1 트랙백 주소 : http://www.tipssoft.com/bulletin/tb.php/FAQ/987 Download : TipsTabWidgetProject.zip(72.9K), 2011-08-09 19:44:02 팁스소프트에서 제공하는 프로그래밍과 관련된 자료나 정보들을 무단으로 복제하거나 게재하는 행위는 상호간의 신뢰를 무너뜨리는 행위이며, 법적인 문제를 야기할 수 있으므로 각별한 주의를 당부드립니다. * 팁스소프트 저작권 정책 보기 - http://www.tipssoft.com/bulletin/tb.php/FAQ/637 이 자료들은 팁스소프트에서 제공하는 [ 알짜배기 ] 프로그램을 이용하면 더 편리하게 볼수 있습니다. * 알짜배기 프로그램 받기 - http://www.tipssoft.com/bul.. 더보기
비주얼 스튜디오 없을 때 웹으로 코딩하자! 아래의 사이트를 통해 C언어를 개발 및 테스트를 할 수 있다. (단! 간단하게만!) http://codepad.org/ 더보기
안드로이드에서 화면 캡쳐(코드) 안드로이드에서 화면 캡쳐(코드) http://sailerya.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%99%94%EB%A9%B4-%EC%BA%A1%EC%B3%90%ED%95%98%EA%B8%B0-%EC%BD%94%EB%93%9C%EC%97%90%EC%84%9C http://blog.naver.com/PostView.nhn?blogId=jess0718&logNo=40122824255 더보기
CustomView // Start MyView.java --------------------------------------------------------------------------------------------------------------------------- package kr.or.ddit.excustom; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Pa.. 더보기
Page Refresh & Button Click // Page Refresh try{ Thread.sleep(2000); } catch(Exception e) {} String url = driver.getCurrentUrl(); driver.navigate().to(url); try{ Thread.sleep(2000); } catch(Exception e) {} ---------------------------------------------------------------------------------------------- // Click Button driver.findElement(By.xpath("//button[contains(text(), 'OK')]")).click(); 더보기
[Selenium] 튜토리얼 ※ Selenium 설치, 실행법은 다음 링크를 참고하세요. http://xinics.tistory.com/entry/Selenium-설치-및-사용법 인터페이스 더보기
자바 룩앤필 try { UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace();} 더보기
Eclipse에서 Selenium 테스트 http://soonrok.tistory.com/177 더보기
셀레니엄 명령어 Selenium Actions addLocationStrategy ( strategyName,functionDefinition ) Defines a new function for Selenium to locate elements on the page. For example, if you define the strategy "foo", and someone runs click("foo=blah"), we'll run your function, passing you the string "blah", and click on the element that your function returns, or throw an "Element not found" error if your function returns nu.. 더보기
EL 함수 사용하기 EL 표현에서도 함수(메소드)를 사용할 수 있다.EL에서 메소드를 사용하기 위해서는 다음과 같은 순서를 따라 작성해야 한다.1. 정적인 공용 메소드를 제공하는 클래스를 만든다.해당 메소드는 EL(JSP)에서 사용할 메소드이므로 반드시 정적인 공용 메소드여야 하며, 리턴 타입이 있어야 한다. 그래야지 JSP에서 브라우져에 내용을 그릴 수 있다.2. 태그 라이브러리 서술자 파일을 만든다.  EL 함수를 사용하기 위해서는 TLD(Tag Library Descriptor)란 파일로 자바 클래스, 메소드와 EL에서 호출할 메소드 명을 맵핑해야 한다.3. JSP에 taglib 지시자를 코딩한다.4. 함수를 호출하는 EL을 작성한다.위 형식대로 EL을 작성해 보면 아래 처럼 작성할 수 있다.* DiceRoller.j.. 더보기
자바 정적메소드를 EL(익스프레션언어)함수로 등록하는 방법 - 등록할 파일 : TLD 파일(ex : 웹어플리케이션/web-app/WEB-INF/tld/math-functons.tld) - TLD 파일의 골격(TLD 파일 생성하기) (TLD 문법의 식별자) (TLD 문법의 버전) 1.0 -> 태그 라이브러리의 버젼 math -> 태그 라이브러리의 이름 squareroot -> EL 함수의 이름(나름대로 정한 EL 함수의 명칭) java.lang.Math -> 자바 정적메서드(static method)가 속하는 클래스 풀네임 double sqrt(double) -> 정적 메서드의 시그니처 - TLD 파일 생성을 하여도 바로 호출할 수 없다. web.xml 파일에 TLD 파일을 등록해야한다. /math-functions.tld -> TLD 파일의 식별자 명칭 tlds.. 더보기
구글맵 길찾기 http://www.androidpub.com/1602294 더보기
[C언어] 난수 발생 예제 #include#include#include void main() { int a[10]; int i, j; int temp; // 값 교환을 위한 임시 변수 srand(time(NULL)); // 0~99사이의 정수 저장 for(i=0; i 더보기
JSP 컴파일 시 인터넷창으로 이클립스의 windows - Preferences - General - web Browser 에서 오른쪽에 user external web browse를 클릭하신 후 밑에 있는 브라우져를 클릭 하시면 됩니다. 더보기
자바와 오라클(Oracle) 연동하기 출처 : http://cafe.naver.com/breakjava/93package db;/* * 자바와 db연동 시키기 * insert, select, delete, update를 db를 이용해서 작성및 변경, 삭제하기 */import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import org.omg.CORBA.SetOverrideType;public class DbTest1 { Connection conn; Statement stmt; // 필요한것을 매번 불러옴 .스테이트 먼트의 특징 ResultSet rs; String sql; // 전역변수 초기값은 0 .. 더보기
[자바] Infinity 처리 참고 : http://www.java2s.com/Code/Java/Data-Type/ShowINFINITYandNaN.htm /** * Show INFINITY and NaN * @author Ian F. Darwin, http://www.darwinsys.com/ * @version $Id: InfNaN.java,v 1.4 2004/02/09 03:33:57 ian Exp $ */public class InfNaN { //+ public static void main(String[] argv) { double d = 123; double e = 0; if (d/e == Double.POSITIVE_INFINITY) System.out.println("Check for POSITIVE_INFINITY w.. 더보기
[자바] NaN, Infinity 자바에서 NaN(Not a Number)와 Infinity(무한대) - NaN : 실수 연산에서만 존재 cf) 0/0, 5/0, -5%0 과 같은 정수연산은 컴파일은 되나 실행시 오류(예외처리) 발생 - 자바에서 0 으로 나누기 연산 / 나머지 연산 관련 소스코드 ------------------------------------------------------------------ public class TestNaN { public static void main(String[] args) { System.out.println("나눗셈(/) 연산"); System.out.println("0.0/0.0 : "+0.0/0.0); System.out.println("0.0/0 : "+0.0/0); System.. 더보기
JSP에서 컴파일 에러 (Compile Error) 혹은 런타임 예외 (Runtime Exception) 발생 시 원하는 페이지 보여주기 JSP에서 컴파일 에러 혹은 런타임 예외 발생 시디폴트로 HTTP Status Code, Java Stack Trace 등을 보여준다.이는 user-friendly하지 않을 뿐만 아니라코드가 노출되는 등 보안 관점에서도 유익하지 못하다.디폴트 에러 페이지 대신 원하는 페이지를 보여주기 위해 web.xml에 다음을 추가한다.            java.lang.Exception        /error.jsp    이는 예외가 발생한 경우를 핸들링하기 때문에 404의 경우에는 해당되지 않는다.예외와 무관하게 HTTP Status Code가 에러인 경우에 대한 처리는 다음과 같이 할 수 있다.            404        /error.jsp    Stack Trace는 다음에서 확인할 수 있다... 더보기
[Swing] 스크린 가운데 배치 // 스크린을 가운데 배치dim=Toolkit.getDefaultToolkit().getScreenSize(); // 스크린의 사이즈 측정dim1=super.getSize();xpos=(int)(dim.getWidth()/2-dim1.getWidth()/2);ypos=(int)(dim.getHeight()/2-dim1.getHeight()/2);super.setLocation(xpos,ypos);super.setVisible(true); 더보기
[Swing]JTable 에 체크박스 넣기 import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;public class JTableTesterII extends JFrame { private final Object [] colNames = {"ChkBox","이름","나이","성별"}; private Object [][] datas = {{false,"홍길동","20","남"},{true,"김말자","18","여"}}; public JTableTesterII(){ super("JTable Tester"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(ne.. 더보기
[Swing] JTree의 이벤트들 1. addTreeSelectionListener ( TreeSelectionListener listen) //트리 노드가 선택 되었을때 일어나는 이벤트 2. addTreeWillExpandListener ( TreeWillExpandListener listen) //트리 노드가 펼쳐졌을떄 일어나는 이벤트 1. addTreeSelectionListener ( TreeSelectionListener listen) public void valueChanged(TreeSelectionEvent e) { < --이 매서드 Override 해야함. TreeSelectionEvent의 매소드 TreePath getPath(); 리턴받은 트리패스는 toString 하면 해당 트리의 요소들을 [ROOT명, 자식, 손자.. 더보기
[Swing]JSplitPane 반으로 쪼개는 판넬 JSplitPane은 대상을 반으로 쪼갠다. 세로 , 혹은 가로로. 쪼개내는 부분을 Divider 라고 하는데 이 이치를 설정 할 수 있다. 생성자 이다. new JSplitPane(int newOrientation,boolean newContinuousLayout); 1번째 : 어떤형태로 나눌것인가. JSplitPane.HORIZONTAL_SPLIT // 좌우 등분 JSplitPane.VERTICAL_SPLIT // 상하 등분 2번째 : true로 하면 디바이더를 이동시킬떄 바로바로 이동되고 false로 하면 디바이더를 끌어서 내려놓았을때 이동이 된다 ㅋㅅㅋ;; newContinuousLayout a boolean, true for the components to redraw continuously a.. 더보기
[Swing] JTree를 이용해 트리 구성하기 TreeNode 인터페이스를 구현한 DefaultMutableTreeNode 클래스를 사용합니다. 방법은 간단합니다. DefaultMutableTreeNode를 만들때 생성자로 노드명을 적습니다. DefaultMutableTreeNode root = DefaultMutableTreeNode("루트노드요"); 이러면 노드가 한개 생긴검니다. DefaultMutableTreeNode child1 = DefaultMutableTreeNode("1번째자식"); DefaultMutableTreeNode child2 = DefaultMutableTreeNode("2번째 자식"); 이렇게 두개 만들수도 있지요. 얘들을 루트노드 하위노드로 만들수 있습니다. root.add(child1); root.add(child2).. 더보기