본문 바로가기

Programming/JAVA

[Swing] JFrame 위에 JPanel을 올릴수 없다 awt 는 Frame.add() 로 Panel을 Frame 위에 올린다. 하지만 스윙은 JFrame 위에 Panel을 올리지못한다. awt.Frame을 상속받는 (직접적인 상속)JFrame같은 컨텐츠를 중량 컴포넌트 라고 하고 awt.Container를 상속받는 (간접적인 상속)JPanel 같은 컨텐츠를 경량 컴포넌트 라고 하여 중량 컴포넌트 위에 경량 컴포넌트를 올릴수 없다. 하지만 간접적으로 Container를 이용해서 올릴수있다. 소스 JFrame f = new JFrame(title);Container con = f.getContentPane();con.add(new Panel()); [출처] [자바][스윙] JFrame 위에 JPanel을 올릴수 없다.|작성자 카루 더보기
[Swing] 스윙의 간편한 이벤트 등록 일단 JFrame 에서 적용 할 수 있는 윈도우 이벤트를 보겠다. 윈도우창에서 x 버튼을 눌렀을때 행동요령을 지시한다. JFrame.setDefaultCloseOperation(int operation) 행동요령은 정해진 몇개의 상수가 있다. f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); DO_NOTHING_ON_CLOSE (defined in WindowConstants): Don't do anything; require the program to handle the operation in the windowClosing method of a registered WindowListener object. HIDE_ON_CLOSE (defined in .. 더보기
[Swing] 메세지창 띄우기, JOptionPane.showConfirmDialog, JOptionPane.showMessageDialog import javax.swing.JOptionPane; 이걸 임포트하면 자유롭게 쓸수있다. int JOptionPane.showConfirmDialog(Component parentComponent, Object message, String title, int optionType,int messageType, Icon icon); parentComponent = 이것을 띄어줄 상위 컴포넌트. 이것이 지정된 프레임은 메세지창을 끄기전에 접근 불가. message = 내용 메세지 title = 상단 제목 optionType = 나올 버튼 갯수와 형태 messageType = 좌측 아이콘. 느낌표 물음표 등등.. optionType : //예,확인 = 0, 아니오 = 1, 취소 = 2 YES_NO_OPTIO.. 더보기
[AWT] 이벤트 구현 방법 4모델 이벤트 구현 방법 1모델 implement로 구현해서 this로 자신을 넣어버리기. 구현방법 2모델 구현한 클래스를 리스너에 넣기 클래스 하나 더만들어서 거기서 구현하자. btn.addActionListener(new MyActionEvent(f, btn)); 구현방법 3모델 이너클래스를 통해 이벤트 구현하기. 자신의 멤버를 따로 넘길 필요가 없다. 근데 자기가 직접 implement로 구현하나 별반 다를게 없음. 구현방법 4모델 익명 클래스 활용. f.addWindowListener(new WindowAdapter(){ //사실상 여기 new 부분부터가 익명 클래스임. public void windowClosing(WindowEvent evt){ System.exit(0); } }); [출처] [자바].. 더보기
[AWT] actionPerformed(ActionEvent evt) 버튼클릭 actionPerformed(ActionEvent evt) 매소드 대표적으로 버튼클릭 시에 발동 되는 메소드 이기도 하다. 해당 메소드를 오버라이드 하기전에 ActionListener 더보기
[AWT] 자잘한 컴퍼넌트들의 메소드 프레임의 기본적인 메소드 setSize(800, 600); pack(); //사이즈 안정해줘도 내부에 있는 컴퍼넌트에 따라 크기를 알아서 정해준다. setLocation(100, 100); setVisible(true); dispose(); 할당된 리소스를 반환함. 레이블 new Label(String text, int alignment); //alignment에 Label의 상수가 들어간다. Label.RIGHT 폰트 java.awt.Font setFont(Font 폰트); //폰트 활용방법. Font(String 폰트명, int 스타일, int Size); //스타일은 Font 클래스에 상수로 다양하게 있다. 버튼 btn.setBackground(Color.BLUE); //바탕색 btn.setFore.. 더보기
[AWT] Image, paint() 이용하여 그림그리기 Image 클래스 이미지 클래스는 툴킷 클래스를 생성해서 만든다 Toolkit toolkit = this.getToolkit(); //getToolkit은 Frame 의 자손이어야 하는듯(어쩌면 컴퍼넌트 단계일지도 모름) Image image = toolkit.getImage("D:\\Downloads\\jimin.jpg"); //이미지 클래스는 이렇게 만듬. 이미지를 출력 하려면 void java.awt.Window 클래스의 public void paint(Graphics g) 메소드를 오버라이딩 해야한다. Graphics 의 메소드 drawImage 를 실행한다. g.drawImage(Image img, int x, int y, int width, int height, ImageObserver obs.. 더보기
[AWT] Layout 레이아웃 설정은 아래 메소드로 한다. Frame, Panel, 등이 사용 가능하다. setLayout(LayoutManager 레이아웃) //LayoutManager에 생성한 Layout을 넣으면 된다. ====new BorderLayout(int x축 간격, int y축 간격);==== //해당 레이아웃 화 된 프레임, 판넬에서 다음 메소드를 사용한다. 두가지 추가 메소드가 있으므로 위치는 어디에 들어가도 상관 없다. add(Component comp, Object constraints); add(String name, Component comp); 소스 f = new Frame("Border Layout Demo"); f.setLayout(new BorderLayout(10, 50)); f.add(b.. 더보기
Eclipse의 VE를 이용해서 SWT 어플리케이션을 만든다(上) SWT (이)란 무엇인가 SWT는, Eclipse의 가장 중심적인 윈도우·툴 킷입니다. 윈도우·시스템은 보통, 단순하게 윈도우를 관리·표시할 만한 기능을 제공합니다. 다만, 그 만큼이라면 윈도우는 「뒤로 숨어 있는 윈도우를 클릭하면 앞에 나온다」라고 하는 기본 동작을 해 주지 않습니다. 윈도우·어플리케이션은, 그렇게 말한 처리를 마우스 이벤트 처리등을 적절히 실시하는 것으로 개별적으로 실시하지 않으면 안되지 않고, 모든 윈도우의 출력은, 일일이 그래픽API를 이용하지 않으면 안됩니다. 거기서, 윈도우·시스템에는 모든 윈도우에 공통의 기능을 애드 온(add-on) 해 추가하고 있습니다. 예를 들면, 윈도우의 테두리를 드래그해서 크기를 바꾸거나 타이틀 바를 드래그 해 이동하거나 하는 기능입니다. 이러한 기능.. 더보기
Eclipse의 VE를 이용해서 SWT 어플리케이션을 만든다(下) 본 편에서는 Eclipse 의Visual Editor(이하VE)를 사용해SWT 어플리케이션을 작성하는 방법을 설명합니다. 전편에서는VE를 이용하는 환경을 구축했습니다. 후편에서는 드디어VE를 사용해, SWT 패널을 디자인해 봅시다. VE패널을 디자인하는 기본은, 다음의 스텝입니다. Eclipse를 실행한다 . Java 프로젝트(혹은, Java를 계승한 프로젝트)를 작성한다. [신규]로 비주얼·클래스를 추가한다. 비주얼·클래스(기본은Shell 또는 Composite의 서브 클래스)에, 비주얼 에디터로 컴퍼넌트를 붙여 간다. [실행]→[JavaBeans ]그리고 실행해 테스트한다 4,5 를 반복한다 비주얼·클래스의 원시 코드는 가능한 한 만지지 않고(VE 만으로 편집한다), 서브 클래스를 만드는 등 리스너나.. 더보기
이클립스 비주얼 에디터(Visual Editor) 플러그인 다운로드 및 설정 방법 이클립스 비주얼 에디터(Visual Editor) 플러그인 다운로드 및 설정 방법 이클립스 WTP 2.0.1 (이클립스 3.3 Europa 유로파 버젼) 이라고 가정하고 설명한다. 1. 플러그인을 다운로드 한다. 유로파 용(3.3) 다운로드 => : http://www.ehecht.com/eclipse_ve/ve_eclipse_33_v200709242300_win.zip 가니메데 용(3.4) 다운로드 => : http://www.ehecht.com/eclipse_ve/ve_eclipse_34_200807092330_win.zip 2. 다운로드 결과. ve_eclipse_33_v200709242300_win.zip 파일을 여기서는 바탕 화면에 다운 받았다. 3. 압축 해제 해제하면 features 와 pl.. 더보기
[Eclipse] Visual Editor 플러그인 설치 출처 : http://okjkillo.tistory.com/152자바 프로그래밍을 이용하여 UI를 만드는 것은 쉽지 않은 일이다.MFC나 C#에서 처럼 인터페이스를 작성하기 쉬운 폼을 기본으로 제공하는 것이 아니다보니일일이 위치며 레이아웃등을 지정을 해줘야 하는 상황이 발생한다.논리적인 프로그래밍을 지향하는 자바 프로그래밍에서 이렇게 사람을 고생시키는 것일까?Eclipse의 플러그인(Plug-in)으로 Visual Editor를 사용하면 보다 쉽게 UI를 설계할 수 있다.물론 JBuilder나 Netbeans을 사용하여 UI를 작성할 수도 있다.이클립스를 선호하기 때문에 이클립스에서 Visual Editor를 플러그인으로 설치하는 방법을 알아보고자 한다.이클립스에서 플러그인을 설치하기 전에 Visual .. 더보기
[JAVA] RS232 통신 하기 출처 : http://blog.daum.net/junbc/15774977 JAVA에서 RS232(UART, SERIAL) 통신을 하기 위해서는,몇 가지 준비를 해야 한다. 우선 필요한 Library들을 다운받아야 하는데, SUN 홈페이지에서 제공한다는데...나는 잘 모르겠어서 다른 사람들이 올려놓은 자료를 찾아냈다.우선 첨부된 파일을 다운받자. 압축을 풀면 많은 파일들을 볼 수 있다. 그 중에 아래와 같이 3개의 파일을 복사한다.나의 자바 환경은 JDK/JRE가 설치되었으며, Eclipse를 이용한다.Eclipse를 사용하지 않고 JRE를 설치하지 않으면 CLASS_PATH를 설정해야 한다고 하는데... 찾아보세요~~ win32com.dll [JAVA_HOME]\bin comm.jar [JRE]\lib\.. 더보기