컴퓨터프로그래밍/JAVA

Swing의 기능과 컴포넌트

zelkova 2016. 6. 10. 19:06

<목차로 돌아가기>


    

  Swing의 특징


1. 풍선도움말 (툴팁) 

 특정 컴포넌트에 마우스를 올려놓을 대 나타나는 일종의 도움말 기능

 JComponent를 상속하는 모든 컴포넌트가 쓸 수 있는 기능


public String getToolTipText()

-> 현재 컴포넌트에 적용된 툴팁의 내용을 리턴해준다.


public void setToolTipText(String s)

-> 현재 컴포넌트에 s의 내용으로 풍선도움말을 설정한다. 



2. Look & Feel

똑같은 인터페이스라 하더라도 각 콤퍼넌트의 디자인을 다르게 보이도록 표시하는 기능

UIManager.setLookAndFeel("적용할 룩앤필 명칭");


XML을 통해서 구현하거나 UIManager으로 구성할 수 있음.



3. 컴포넌트 테두리 설정하기

테두리가 없는 컴포넌트에 테두리를 설정하여 인터페이스를 가능하도록 한다 

javax.swing.border를 이용하면됩니다.


 종류

 기능

 BevelBorder

 3차원적 입체 효과를 내기위한 테두리 설정

 SoftBevelBorder

 Bevel보다 조금 더 부드러운외곽 처리 설정

 LineBorder

 일반 선으로 외곽선 효과를 설정함

 EtechedBorder 

 끌로 판듯한 효과의 테두리 설정 

 EmptyBorder

 외곽선 없음. 다른 컴포넌트와의 공간 확보

 MatteBorder

 아이콘이나 컬러로 매트 효과 설정

 CompoundBorder

 여러 테두리 효과를 동시에 나타냄

 TitleBorder 지정한 위치에 타이틀을 나타내주는 테두리








    

  연습해보기


툴팁 및 스킨 씌우기


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 import javax.swing.*;


 public class Exam

 {

// 룩앤필 com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel

 public static void main(String args[])

 {

    try{

   UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");

    }

    catch(Exception e) {}

    JFrame jf=new JFrame("예문");

    jf.setSize(200,200);

    JButton jb=new JButton("마우스올리셈");

    jb.setToolTipText("다음으로 이동");

    jf.add(jb,"North");

    jf.setVisible(true);

 }

}


기타 룩앤필


javax.swing.plaf.nimbus.NimbusLookAndFeel


보더사용해보기

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

20

27

import java.awt.*;

import javax.swing.border.*;

import javax.swing.*;


 public class Exam 

 {

    public static void main(String args[])

    {

        JFrame f = new JFrame("보더연습");

        f.setSize(400,200);

        Container cont = f.getContentPane();


        cont.setLayout(new GridLayout(1,2));


        JLabel lbl1 = new JLabel("BevelBorder 입니다.");

        BevelBorder border1=new BevelBorder(BevelBorder.RAISED);

        lbl1.setBorder(border1);

        cont.add(lbl1);


        JLabel lbl2 = new JLabel("eteched border 입니다.");

        EtchedBorder border2=new EtchedBorder(EtchedBorder.LOWERED);

        lbl1.setBorder(border2);

        cont.add(lbl2);


        f.setVisible(true);

    }

 }





반응형

'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글

Java-Swing-JTextField, JTextArea  (0) 2016.06.10
Java-Swing-JButton  (0) 2016.06.10
Java-Swing의 이해  (4) 2016.06.10
Java-이미지 삽입하기  (0) 2016.06.09
Java_이벤트_adapter  (0) 2016.06.01