-JTextField에 입력을 불가하게 만들어야 되는경우에 항상 setEnabled(false)를 썼는데 setEnabled(false)를하면 텍스트의 색상이 하얀색으로 고정되어 버린다.
입력은 불가하면서 텍스트 색상도 바꾸고 싶다면 setEditable(false)를 사용하면 된다.
package GUI프로그래밍공부해보자;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class JTextFieldTest extends JFrame{
public JTextFieldTest() {
setLayout(new FlowLayout());
setSize(500,500);
//JTextField wtf = new JTextField("숫자를 입력하세요",15); //열의개수가 15개이고 ,"숫자를 입력하세요"로 초기된 텍스트필스
JTextField jtf = new JTextField(15); //입력창의 열의 개수가 15개(입력창의 길이)
//JTextField:한줄의 입력받는창
// = 텍스트 입력 도중 <ENTER> 키가 입력되면 Action 이벤트 발생
// = 입력 가능한 문자 개수와 입력 창의 크기는 서로 다름
jtf.setText("setEditable(false)");
jtf.setForeground(Color.red); // 텍스트 빨간색으로 변경
jtf.setEditable(false); //setEnabeld(false)를 했을때는 텍스트 색상을 바꿀려고 시도해봐도 적용이 안되는 것을 볼 수 있다.
// 그리고 마우스로 클릭하거나 드래그해봐도 아무런 액션도 할 수 없었다.
//jtf.setEditable(true)일떄는 값을 입력할 수 있다.
add(jtf); //JFrame에 jtf를 넣는다.
setVisible(true);
setLocationRelativeTo(null); //창을 화면 가운데 띄우는 역할을 한다.
setDefaultCloseOperation(EXIT_ON_CLOSE); //윈도우창 종료시 프로세스까지 모두 닫을 수 있다,
}
public static void main(String[] args) {
new JTextFieldTest(); //객체 출력
}
}
label.setHorizontalAlignment(JLabel.CENTER); //JLabel 가운데 정렬
label.setHorizontalAlignment(JLabel.LEFT); //JLabel 왼쪽 정렬
label.setHorizontalAlignment(JLabel.RIGHT); //JLabel 오른쪽 정렬
Font 객체명 = new Font(적용사항);
Font font = new Font("글자체","효과","글자 크기");
//글자체 : Arial,Italic 등등
//효과 : Bold(진하게),Italic(기울여서),Plain(보통)
//글자 크기 : int 로 입력
//폰트적용 : 적용할객체명.setFont(폰트객체명)
package GUI프로그래밍공부해보자;
import javax.swing.*;
import java.awt.*;
class setFontEx extends JFrame{
setFontEx(){
this.setTitle("setFont 사용 예제");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = new MyPanel();
this.add(panel, BorderLayout.CENTER);
this.setLocationRelativeTo(null);
this.setSize(600,300);
this.setVisible(true);
}
class MyPanel extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.green);
Font f = new Font("Arial", Font.ITALIC, 30);
g.setFont(f);
g.drawString("자바는 재밌다.~~", 30, 30);
g.setFont(new Font("궁서체",Font.BOLD, 40));
g.drawString("자바는 재밌다.~~", 30, 90);
g.setFont(new Font("돋움체", Font.CENTER_BASELINE, 50));
g.drawString("자바는 재밌다.~~", 30, 170);
}
}
}
public class JavaApplication6 {
public static void main(String[] args) {
new setFontEx();
}
}
package GUI프로그래밍공부해보자;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PanelLayoutExam extends JFrame {
JButton btn1 = new JButton("WestButton");
JButton btn2 = new JButton("CenterButton");
JPanel jpn = new JPanel();
JButton btn3 = new JButton("File");
JButton btn4 = new JButton("Help");
public PanelLayoutExam() {
super("PanelLayoutExam");
// 레이아웃 변경
// JPanel에 컴포넌트 추가
jpn.add(btn3);
jpn.add(btn4);
// JFrame에 컴포넌트 추가
add(jpn, "North");
add(btn1, "West");
add(btn2, "Center");
// 크기
setSize(300, 200);
// super.pack(); //프레임을 크기를 추가한 컴포넌트들의 크기에 맞도록 조절한다.
// 보이기
setVisible(true);
// 바탕색 변경
jpn.setBackground(new Color(27, 61, 18));
btn1.setBackground(new Color(233, 247, 222));
btn2.setBackground(new Color(201, 231, 248));
btn3.setBackground(Color.white);
btn4.setBackground(Color.white);
// 글꼴 변경
btn2.setFont(new Font("굴림체", Font.ITALIC, 20));
// Font(String name, int style, int size)
btn1.setFont(new Font("궁서체", Font.BOLD, 15));
// 글자색 변경
btn1.setForeground(new Color(0, 200, 120));
btn2.setForeground(new Color(228, 194, 78));
btn3.setForeground(Color.red);
btn4.setForeground(Color.blue);
// x : 종료
super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new PanelLayoutExam();
}
}