JText
JLabel : 정보 또는 텍스트를 위한 레벨 생성. 문자열이나 아이콘을 사용하여 객체 생성
JTextField : 한 줄의 문자열을 입력할 수 있는 컴포넌트
JTextField의 주요 메서드
String getText() : 텍스트 필드에 입력된 문자열 반환
void setText(String text) : 지정된 문자열을 텍스트 필드에 작성
void setEditable(boolean) : 텍스트를 입력할 수 있는지 설정
boolean isEditable() : 텍스트를 입력할 수 있는지 반환
JTextArea : 여러줄의 문자열을 입력할 수 있는 컴포넌트
JTextArea 영역보다 많은 문자열을 입력해도 자동으로 스크롤이 생기지 않음
스크롤을 사용하기 위해선 JScrollPane클래스를 사용해야한다
JPasswordField : 입력받은 문자열을 보여주지 않아야 할 때 사용하는 컴포넌트
package ex4_jlabel;
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.Border;
public class Ex1_Jtext {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setLayout(new FlowLayout());
JLabel lb1 = new JLabel("이름");
JLabel lb2 = new JLabel("주소");
JLabel lb3 = new JLabel("비밀번호");
JTextField tf = new JTextField(20);
Border lineBorder = BorderFactory.createLineBorder(Color.BLACK,1);
JTextArea ta = new JTextArea(7, 20);
ta.setBorder(lineBorder);
JPasswordField pf = new JPasswordField(20);
f.add(lb1);
f.add(tf);
f.add(lb2);
f.add(ta);
f.add(lb3);
f.add(pf);
f.setBounds(30,30,300,210);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Item
RadioButton과 CheckBox
package ex5_item;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
//JCheckBoxs : 체크박스 기능
//JRadioButton : 라디오 버튼 기능
public class Ex1_Item extends JFrame{
JCheckBox jcb1,jcb2,jcb3;
JPanel jp1,jp2,jp3;
JRadioButton jrb1,jrb2,jrb3,jrb4,jrb5;
public Ex1_Item() {
super("체크박스와 라디오버튼 만들기");
jp1 = new JPanel();
jcb1 = new JCheckBox("음악감상",true);
jcb2 = new JCheckBox("등산");
jcb3 = new JCheckBox("조깅");
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3);
add(jp1,"North");
jp2 = new JPanel();
jrb1 = new JRadioButton("이과",true);
jrb2 = new JRadioButton("문과");
jrb3 = new JRadioButton();
jrb4 = new JRadioButton();
jrb5 = new JRadioButton();
ButtonGroup bg1 = new ButtonGroup();
bg1.add(jrb1);
bg1.add(jrb2);
jp2.add(jrb1);
jp2.add(jrb2);
add(jp2,"Center");
jp3 = new JPanel();
jrb3 = new JRadioButton("자가",true);
jrb4 = new JRadioButton("전세");
jrb5 = new JRadioButton("월세");
ButtonGroup bg2 = new ButtonGroup();
bg2.add(jrb3);
bg2.add(jrb4);
bg2.add(jrb5);
jp3.add(jrb3);
jp3.add(jrb4);
jp3.add(jrb5);
add(jp3,"South");
setBounds(30,30,300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Ex1_Item();
}
}
RadioButton 클릭시 내용 출력하기
package ex5_item;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class Ex2_ItemEvent {
public static void main(String[] args) {
JFrame f = new JFrame("ItemEvent 처리");
f.setLayout(new BorderLayout());
ButtonGroup rgroup = new ButtonGroup();
JRadioButton r1 = new JRadioButton("선택1");
JRadioButton r2 = new JRadioButton("선택2");
JRadioButton r3 = new JRadioButton("선택3");
rgroup.add(r1);
rgroup.add(r2);
rgroup.add(r3);
JPanel jp1 = new JPanel();
jp1.setLayout(new FlowLayout());
jp1.add(r1);
jp1.add(r2);
jp1.add(r3);
f.add(jp1,BorderLayout.CENTER);
JPanel jp2 = new JPanel(new FlowLayout());
JLabel txt1 = new JLabel("선택 항목 : ");
JLabel txt2 = new JLabel();
jp2.add(txt1);
jp2.add(txt2);
f.add(jp2, BorderLayout.SOUTH);
//라디오 버튼 선택시 선택한 버튼의 문자열을 라벨에 띄우기
ItemListener il = new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
if(e.getSource() == r1) {
txt2.setText(r1.getText());
} else if(e.getSource() == r2) {
txt2.setText(r2.getText());
} else if(e.getSource() == r3) {
txt2.setText(r3.getText());
}
}
}
};
r1.addItemListener(il);
r2.addItemListener(il);
r3.addItemListener(il);
f.setBounds(30,30,300,200);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
ComboBox
package ex5_item;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class Ex3_JComboBox {
public static void main(String[] args) {
JFrame f = new JFrame("콤보박스 만들기");
f.setLayout(null);
String title[] = { "C", "비주얼베이직", "JAVA", "자료구조", "이산수학" };
JComboBox<String> jcm1 = new JComboBox<>(title);
jcm1.addItem("파이썬"); //jcm1에 요소 추가
JButton getVaule = new JButton("선택된 값 가져오기");
getVaule.setBounds(50, 150, 150, 80);
getVaule.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println((String)jcm1.getSelectedItem());
}
});
jcm1.setBounds(50,50,100,30);
f.add(jcm1);
f.add(getVaule);
f.setBounds(30,30,300,300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}