일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 나지보 특성
- 포트(Port)
- 아이패드
- php 홈디렉토리 변경방법
- 안드로이드 Application Lifecycle
- 컬렉션 프레임
- 소캣(Socket)
- 벨팡
- 아이폰
- 어플
- 명령어
- 자바
- game
- 안드로이드
- 기업의 행포
- tcp
- TCP 네트워크 방식의 연결
- 히오스
- 비행기 모드
- tcp네트워크
- unity
- 게임
- End of Darkness
- 집 정리
- 나지보
- 에셋
- 리눅스
- 변경된 정보
- 스랄 특성
- Collection Framework
- Today
- Total
Do Something IT
Swing 본문
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);
'OtherLanguage > JAVA' 카테고리의 다른 글
[JAVA] (오목네트워크게임)TCP 소켓 네트워크 프로그램 (1) | 2010.07.07 |
---|---|
[[컬렉션 클래스]] Vector클래스 ,Stack 클래스,Queue와 LinkedList 클래스,Iterator 인터페이스,Enumeration 인터페이스,set 인터페이스_Hashset 클래스,set 인터페이스_Hashset 클래스 (0) | 2010.06.30 |
쓰레드의 Wait()와 notify()사용 (0) | 2010.06.29 |
컬렉션 프레임 워크의 핵심 인터페이스(Java Collection Framework) (0) | 2010.06.28 |
Java 정리노트 (0) | 2010.06.01 |