반응형
Notice
Recent Posts
Recent Comments
«   2024/05   »
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 31
Archives
Today
Total
관리 메뉴

Do Something IT

Swing 본문

OtherLanguage/JAVA

Swing

아낙시만더 2010. 6. 30. 10:34
반응형

Vector 클래스

public int capacity()               // 벡터의 크기(용량) 리턴

public int size()                   //벡터 안에 저장된 원소의 수를 리턴

public void addElement(Object element)       //원소의 끝에 element를 추가한다.

add(E obj)

public void removeElement(Object element)    //처음 매칭되는 element를 제거

remove(Object)

public void trimToSize()                 //빈영역 제거

public Object elementAt(int index)     index번째의 엘리먼트를 리턴한다.

get(int index)

 

클래스 다이어그램

추상메소드,추상클래스 (이탤릭체)

static 필드,static 메소드 (밑줄)

◁- - - - - - - - - - -       인터페이스 구현

                            클래스 포함 관계

                            상속관계

 

JLabel

JButton

JTextField

JPasswordField

JtextArea

JPanel

JScrollPane

JCheckBox

JRadioButton

JComboBox

JList

ButtonGroup

 

FlowLayout()

BorderLayout.위치

GridLayout(int row,int col)

new GridLayout(int rows,int cols, int hgap, int vgap);

                   //hgap 수평간격 , vgap 수직간격

 

CardLayout        //객체.next(컨테이너 객체)

BoxLayout

 

메뉴 사용하기 (JMenuBar,JMenu,JMenuItem)

 

1단계     JMenuBar 객체1=new JMenuBar();

2단계     setMenuBar(객체1);

3단계     JMenu 객체2=new JMenu("문자열1");

4단계     JMenuItem 객체3=new JMenuItem("문자열2");

          객체2.add(객체3);

          객체1.add(객체2);

          setMnemonic('문자');   //단축키 지정 (Alt+문자)

 

4단계     JMenuItem();       //일반 메뉴

          JCheckBoxMenuItem();       //체크박스 항목

          JRadioButtonMenuItem();        //그룹버튼중 오로지 1개만 선택가능

 

팝업메뉴

JPopupMenu 클래스 - 마우스 오른쪽 버튼을 누르거나 해제할 때 수행

 

JPopupMenu 객체=new JPopupMenu();

객체.show(e.getComponent(),e.getX(),e.getY());

=>팝업 메뉴를 표시하라는것

  첫번째 매개변수 e.getComponent()는 이벤트가 발생한 컴포넌트가 된다.

  두,세번째 매개변수는 이벤트가 발생한 지점의 x,y 좌표이다

if(e.isPopupTrigger())에서

  e.isPopupTrigger()메소드는 발생한 이벤트가 마우스 오른쪽 버튼을 눌렀거나 놓았을때 true값을

  리턴한다.

 

JInternalFrame

1단계     JDesktopPane 객체=new JDesktopPane();

2단계     JInternalFrame 객체2=new JInternalFrame("문자열",true,true,true,true)

                                      //(타이틀,크기변경,단기단추,최대화,아이콘화)활성여부

3단계     객체.add(객체2)

 

 

new Font("글꼴",글자속성,크기)

글자속성     PLAIN (기본값)    Font.PLAIN

             BOLD  (진하게)    Font.BOLD

             ITALIC (기울임)   Font.ITALIC

객체.setFont(new Font("글꼴",속성,크기));

객체.setFont(new Font("굴림체",Font.PLAIN,10));

 

e.getSource();             //이벤트가 일어난 정보 반환

e.getStateChange();        //아이템의 새로운 선택상태를 리턴한다.

 

객체.requestFocus();      //커서위치 지정

객체.append("");          //문자열 ""를 textarea에 추가하기

객체.setText("");         //객체에 " "fh 대체하기

객체.transferFocus();     //다음 컴포넌트로 입력포커스(=커서)를 이동

객체.setEditable(false);  //창 비활성화(회색상태로 변한다.)

객체.getText();           //객체의 텍스트를 가져옴

객체.pack();              //프레임크기 자동으로 지정

객체.setResizable(false); //창크기 고정(크기 변경 불가)

객체.setLocation(x,y);    //x,y좌표(픽셀)에 창을 띄움

객체.setLocation(new Point(500,300));   

//import java.awt.Point=> 좌표공간의 지정된(x,y)에 점을 구축해 초기화 ,후에 위치 지정

 

 

이클립스에서 import 자동등록  Ctrl + Shift + O

 

MiniChatter 객체=new MiniChatter("타이틀");

객체.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

                          //닫기를 누르면 창이 사라지고 메모리는 제거해 주지 않는다

객체.setIconImage(getChatterImage("경로"));

객체.setSize(가로,세로);

객체.setVisible(true);

 

JList에서 객체.setVisibleRowCount(숫자);        //표시할 항목 수

setSelectionMode(ListSelectionModel.MULTIPLE_INVERVAL_SELECTION);    //선택모드 설정

               MULTIPLE_INVERVAL_SELECTION   

                               //선택대상으로 제한없음

               SINGLE_SELECTION

                               //1회에 1개의 인텍스만을 선택할 수 있다.

               SINGLE_INTERVEL_SELECTION

                               //연속해 있는 여러개의 아이템들이 선택될 수 있도록 한다.

 

repaint();   =>public void paint(Graphics g){

                   g.fillRect(xValue,yValue,5,5);

                         //사각형으로 채워서 사각도트를 생성

               }

 

ItemListener 클래스

        메소드(이벤트 핸들러)=>itemStateChanged(ItemEvent)

                                      //아이템을 선택하거나 해제했을때 수행되는 이벤트를

                                        처리하는 메소드

        public void itemStateChanged(ItemEvent e){       //아이템에서만 아이템상태를 리턴

                   if(e.getStateChange()==ItemEvent.SELECTED)    //아이템을 선택했을때

        }

 

콤보박스

객체.setMaximumRowCount(int a);            //표시할 갯수

객체.getSelectedIndex();                   //선택되어진 인덱스번호 리턴

 

색상넣기

컨테이너.setBackground(Color.BLACK);   //Color클래스 BLACK은 상수

 

어뎁터 사용(implements를 받지 않는다)

addXXXListener(

     new XXXAdapter(){

            public void 메소드(){

            }

     }

);

Adapter리스너=> implements 받지않은 상태에서

                바로등록(리스너등록과 동시에 Adapter생성,오버라이딩)

 

e.getX();      //마우스 포인터 X좌표값

e.getY();      //마우스 포인터 Y좌표값

 

JTable 생성자

JTable 객체=new JTable(2차배열,1차배열);     //(2차배열 데이터,1차배열 컬럼명)

 

setPreferredSize(new Dimension(300,150));   //해당 컴포넌트의 기본크기를 결정해 줌

                                            //BorderLayout을 쓰고 있다면 영향을 줄 수 없다.

 

TableModel 객체=table의객체.getModel();

                    //getModel() 메소드에 의해 객체에 저장됨

                    //=> table의 모든 데이터를 TableModel에 저장

 

이벤트와 리스너 관계

리스너 등록 XXXEvent는

            XXXListener에

            addXXXListener()메소드를 이용해서 등록

 

String 변수=model.getColumnName(col);

      //TableModel 객체인 model 에서 'col'번째 컬럼을 리턴해서 변수에 저장

model.getValueAt(row,col)

      //TableModel 객체인 model에서 (row,col)번째 값을 리턴

 

DefaultTableModel 객체=new DefaultTableModel(String colNames[],0);

      //컬럼명이 colNames인 rowCount가 null인 값으로 생성

 

JTable 객체=new JTable(DafaultTableModel의 객체);

       //DafaultTableModel로 초기화되는 JTable 구축

 

DefaultTableModel의 객체.addRow(형식에 맞는 배열);   //로우 추가

DefaultTableModel의 객체.removeRow(int rowCount);    //해당 로우카운트의 로우를 제거

JTable객체.getSelectedRow();                         //선택된 로우 번호 값

 

JTextArea의 객체.setDisabledTextColor(Color.BLACK);

 

변수=String.format("key pressed:%s",event.getKeyText(event.getKeyCode()));

String.format(내용);       //c언어 형태의 코딩 허용

.getKeyCode();             //키의 ASCII코드값 리턴

.getKeyText();             //ASCII값에 해당하는 문자열반환

.getKeyChar();             //ASCII코드값에 해당하는 문자반환

event.isActionKey();       //이벤트키가 action(F1,F2,...)키 였는지 판단

String temp=event.getKeyModifiersText(event.getModifiers());

             //Shift,Alt,Ctrl과 같은 modifier키가 눌러졌는지 판단

             //눌러졌다면 키이름 리턴

 

import java.io.*;

DataInputStream dis=new DataInputStream(System.in);

dis.readLine();    //입력스트림으로 부터 라인을 읽어낸 값 리턴

 

EtchedBorder 객체1=new EtchedBorder();           //테두리

객체.setBorder(객체1);                           //테두리 넣기

객체.setToolTipText("문자열");                   //마우스를 오버하면 뜨는 text

 

스크롤바 넣기

JTextArea 객체1=new JTextArea(행,열);

JScrollPane 객체2=enw JScrollPane(객체1);

c.add(객체2);

 

JComboBox 객체=new JComboBox(배열);

JList 객체=new JList(배열);

객체.setMaximumRowCount(숫자);            //JComboBox에서 표시할 항목수

객체.setVisibleRowCount(숫자);            //JList에서 표시할 항목수

 

new FlowLayout();

BorderLayout.위치;                       //레이아웃 기본값

new GridLayout(행,열);

Box 객체=Box.createVerticalBox();       //수직

Box 객체=Box.createHorizontalBox();     //수평

객체.add(Box.createVertical Strut(int 여백));   //여백주기

객체.add(Box.createGlue());             //창크기에 따라 자동으로 늘거나 줄어드는 여백

 

객체.setBorder(new TitledBorder(new EtchedBorder(),"car Name"));

                              //(선종류,타이틀);

아래와 같은 형태로 표현됨

           ┌─car Name───────────────┐

           └────────────────────┘

 

객체[0].setSelected(true);         //첫번째 항목을 기본 선택 값으로 설정

 

JTabbedPane 객체=new JTabbedPane(JTabbedPane.TOP);

                                            .BOTTOM

                                            .LEFT

                                            .RIGTH

패널에 테이블넣고 => 테이블을 탭팬에 넣기

탭팬의 객체.addtab("타이틀",패널객체);

getContentPane().add(탭팬의객체,레이아웃);

 

핸들러

CheckBoxHandler handler=new CheckBoxHandler();

위의 클래스를 private로 지정

이벤트등록할 객체A.addItemListener(handler);

이벤트등록할 객체B.addItemListener(handler);

 

private class CheckBoxHandler implements ItemListener{

         public void itemStateChanged(ItemEvent e){

               if(e.getSource()==객체A)           //A와 B에 해당 하는 내용 추가

                    if(e.getStateChange()==ItemEvent.SELECTED)

                      //아이템상태값 리턴==선택되었다면

         }

}       //★★이벤트 핸들러사용시 클래스는 private선언★★

 

RadioButtonHandler handler=new RadioButtonHandler();

m.additemListener(handler);

f.additemListener(handler);

~중략

private class RadioButtonHandler implements ItemListener{

         public void itemStateChanged(ItemEvent e){

                   내용

         }

}       //★★이벤트 핸들러사용시 클래스는 private선언★★

 

ListSelectionEvent는 JList의 아이템을 선택할 때 발생된다.

ListSelectionListener를 implements받아

          valueChanged(ListSelectionEvent e) 메소드 오버라이딩해서 사용

          해당 컴포넌트를 리스너에 등록하면 리스트에서 아이템을 마우스 클릭할 때마다

          valueChanged(ListSelectionEvent e)메소드가 실행된다.

    public void valueChanged(ListSelectionEvent e){

    }

 

Icon 객체=new ImageIcon("경로");             //아이콘 생성

JLable 객체=new JLabel(아이콘객체);

JLable의객체.setIcon(아이콘객체);

Label.CENTER          //라벨내의 텍스트or이미지 위치 지정

Label.LEFT            //라벨내의 텍스트or이미지 위치 지정

Label.RIGHT           //라벨내의 텍스트or이미지 위치 지정

 

아이콘객체[리스트객체.getSelectedIndex()]

객체.getSelectedIndex();             //선택된 인덱스번호 리턴 (int형으로 리턴)

 

 

JSlider   슬라이더의 이벤트는 =>ChangeEvent (ChangeListener)

슬라이더.setMajorTickSpacing(int 크기);           //한 눈금당 늘어나는 크기

                                                  //슬라이더의 주 눈금을 int만큼 하겠다는 뜻

슬라이더.setPaintTicks(true);                     //슬라이더의 주 눈금 표시 여부 결정

 

JSlider 객체=new JSlider(SwingConstants.HORIZONTAL,0,100,10);

                       //수평슬라이더,최소값,최대값,슬라이더의 단계값

 

JColorChooser               // 이벤트내에서 사용

Color 객체=JColorChooser.showDialog(this,"색선택",color);

 

name_Label=new JLabel("이름");                            //폰트색, 바꾸기
name_Label.setForeground(Color.WHITE);

[출처] Swing|작성자 자꾸만또또


반응형
Comments