GUI창에서의 글자체(Font), 크기(size) 및 기타 설정 을 해주는 방법임.
00. Font 객체를 만들어줄때 입력해주면된다. Font("글씨체", 기능, Size) 를 입력하고 글씨나타내자.
01. 위에서 만든 폰트객체의 폰트변수를 사용하여 이번에는 'SanSerif' 글씨체로 해보자.
(※. SanSerif 글씨체는 삐침이 없는 글씨체이다.)
02. 이번에는 'monospaced' 글씨체로 바꾸고 '이텔리체'를 추가해보자.
(※. '|' 연산자는 'or' 가 아니라 폰트에서만 'and' 연산자이다. )
03. 'Dialog' 글씨체와 기본값(plain)으로 설정 해보자.
04. 한글을 추가해서 '궁서체'로 만들어보자.
※ 혹시몰라서 전체 코드를 붙여넣었다. 참고바람.
※. 코드
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
class MyComponent extends JComponent {
public void paint(Graphics g)
{
g.setColor(Color.GREEN);
Font font = new Font("Serif", Font.BOLD, 30); // default 색 = black
font = new Font("SansSerif", Font.BOLD, 30); // default 색 = black
font = new Font("monospaced", Font.BOLD | Font.ITALIC, 30); //and operator
font = new Font("Dialog", Font.PLAIN, 30);
font = new Font("궁서체", Font.PLAIN, 30);
g.setFont(font);
g.drawString("한글 Hello JAVA Graphic World", 100, 100);
//g.drawLine(100, 200, 300, 350);
/*int[] x = { 5, 50, 100, 200, 300, 450 };
int[] y = { 90, 10, 150, 20, 300, 150};
g.drawPolyline(x, y, 6); // , 라인갯수);
g.drawRect(100, 200, 100, 200); // (시작x, 시작y, 가로길이, 세로길이); 의 사각형
//g.setColor(Color.RED);
g.setColor( new Color(0xff, 0x0, 0x0, 0x55) ); //red
g.fillRect(200, 50, 200, 200);
g.setColor( new Color(0x0, 0x0, 0xFF, 0x55) ); //blue
g.fillOval(150, 150, 200, 150); //
g.setColor( new Color(0xff, 0x0, 0xFF, 0xBB) );
g.fillRoundRect(50, 125, 100, 100, 30, 30);
g.drawArc(200, 80, 150, 150, 45, -180); // x,y,넓,높,시작각도,끝각도(degree)
g.fillArc(300, 80, 150, 150, 0, 45);
g.setColor( new Color(0xff, 0xFF, 0x00, 0xBB) );
g.fillArc(300, 200, 150, 150, 0, 45);*/
}// paint Method
}// MyComponent Class
class MyFrame extends JFrame {
public MyFrame()
{
this.setTitle("No Title");
}// MyFrame Constructor
public MyFrame(String title)
{
createFrame(title);
this.add( new MyComponent() );
}// MyFrame<String> Constructor
void createFrame(String title){
this.setTitle(title);
this.setSize(500,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout( new BorderLayout() );
this.setVisible(true);
}// createFrame Constructor
}// MyFrame Class
public class Test {
public static void main(String[] args) {
new MyFrame("Graphic");
}// main
}// Main Class