JAVA 기초

JAVA 21-1

Vanillwa 2023. 9. 8. 19:35

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);
	}
}

실행 결과 : 콤보 박스

 

콤보박스에서 원하는 값 선택 후 아래의 버튼을 누를 시 콘솔에 해당 값 출력

 


 

'JAVA 기초' 카테고리의 다른 글

JAVA 22-1  (0) 2023.09.12
JAVA 21-2  (0) 2023.09.08
JAVA 20-2  (0) 2023.09.07
JAVA 20-1  (0) 2023.09.07
JAVA 19-2  (0) 2023.09.06