2014년 1월 22일 수요일

SWT - JFaceColors 클래스




JFaceColors 클래스


JFaceColors 클래스는 SWT와 JFace 양쪽에서 호출할 수 있는 유용한 메서드인 setColors()를 제공합니다. setColors() 메서드는 한 번에 위젯의 전경색과 배경색을 설정할 수 있습니다. 

JFaceColors.setColors(Control control, Color foreground, background);



예제코드



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
32
33
34
35
36
37
38
39
40
41
package com.swtjface.Ch7;
 
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
 
/**
 * JFaceColors 테스트
 *
 * @since 2013. 6. 15.
 * @author Cremazer
 *
 */
public class JFaceColorsTest {
 public static void main(String[] args) {
  Display display = new Display();
  Shell shell = new Shell(display);
  shell.setText("My First SWT GUI");
  shell.setSize(200,100);
  
  Button button = new Button(shell, SWT.NONE);
  //전경색 설정
  Color red = display.getSystemColor(SWT.COLOR_RED); 
  //배경색 설정
  Color green = display.getSystemColor(SWT.COLOR_GREEN); 
  JFaceColors.setColors(button, red, green);
  button.setText("Hello SWT!");
  button.setBounds(47,20,100,20);
  
     
  shell.open();
  while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) 
   display.sleep();
  }
  display.dispose();
 }
}


테스트





※ 전경색과 배경색


포토샵에서 전경색 배경색은 색칠할때 사용하는 것이 아니라 두가지의 색을 사용할 때 필요합니다. 예를 들어 그라디언트효과에서 전경색에서 배경색으로 라는 효과는 두가지 색을 설정해야 가능하죠. 또한 필터 사용시 전경색과 배경색에 따라서 효과가 달라집니다.


위 사진은 전경색을 빨강 배경색을 녹색으로 설정하고 필터의 사진복사효과를 낸 것입니다. 전경색 배경색은 어떤 색을 칠할 때 배경색까지 칠하는 의미가 아니라 색칠할 때는 전경색만 칠해집니다. 하지만 어떤 효과가 필요한 경우는 배경색까지 포함해서 작용하는 경우가 많습니다.



참고서적 : SWT/JFace in Action



댓글 없음:

댓글 쓰기