JAVA 기초

JAVA 21-2

Vanillwa 2023. 9. 8. 19:42

 

스크롤 만들기

package ex5_item;

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

public class Ex4_JScrollPane {
	public static void main(String[] args) {
		JFrame f = new JFrame("스크로올");
		f.setLayout(new BorderLayout());
		
		JPanel jp = new JPanel();
		jp.setLayout(new GridLayout(10, 5));

		int cnt = 1;
		for (int i = 1; i <= 10; i++) {
			for (int j = 1; j <= 5; j++) {
				jp.add(new JButton("버튼"+cnt++));
			}
		}
		
		//수직 수평 스크롤바 설정을 위한 상수
		int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
		int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
		JScrollPane js = new JScrollPane(jp,v,h);
		f.add(js,BorderLayout.CENTER);
		
		f.setBounds(300, 200, 200, 200);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

실행 결과 : 상하, 좌우 스크롤 생성

 


 

테이블 만들기

package ex5_item;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;

// JTable : 데이터를 테이블 형태로 행과 열로 나타내고자 할 때 사용

public class Ex5_JTable {
	public static void main(String[] args) {
		JFrame f = new JFrame("테이블!");
		f.setLayout(new BorderLayout());

		String title[] = { "사번", "성명", "부서" };
		String data[][] = { { "1", "홍길동", "총무과" }, { "2", "김길동", "인사과" }, { "3", "이자바", "전산과" } };

		JTable table = new JTable(data, title);

		int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
		int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
		JScrollPane js = new JScrollPane(table, v, h);

		f.add(js,BorderLayout.CENTER);
		f.setBounds(300,300,300,300);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}

실행 결과

 


 

상단 메뉴바 만들기

package ex6_menu;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Ex1_JMenu {
	public static void main(String[] args) {
		JFrame f = new JFrame("메뉴 생성하기");
		JMenuBar jmb = new JMenuBar();
		JMenu jmn1 = new JMenu("파일");
		JMenu jmn2 = new JMenu("편집");
		JMenu jmn3 = new JMenu("보기");
		
		JMenuItem jmi1 = new JMenuItem("새로만들기");
		JMenuItem jmi2 = new JMenuItem("열기");
		JMenuItem jmi3 = new JMenuItem("저장");
		
		jmn1.add(jmi1);
		jmn1.add(jmi2);
		jmn1.add(jmi3);
		
		JMenuItem jmi4 = new JMenuItem("잘라내기");
		JMenuItem jmi5 = new JMenuItem("복사");
		JMenuItem jmi6 = new JMenuItem("붙여넣기");
		
		jmn2.add(jmi4);
		jmn2.add(jmi5);
		jmn2.add(jmi6);
		
		JMenuItem jmi7 = new JMenuItem("도구모음");
		JMenuItem jmi8 = new JMenuItem("상태표시줄");
		
		jmn3.add(jmi7);
		jmn3.add(jmi8);
		
		jmb.add(jmn1);
		jmb.add(jmn2);
		jmb.add(jmn3);
		
		f.setJMenuBar(jmb);
		
		f.setBounds(300,300,300,300);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

실행 결과

 


 

우클릭 메뉴 만들기

package ex6_menu;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;

public class Ex2_JPopupMenu {
	public static void main(String[] args) {
		JFrame f = new JFrame("팝업메뉴");
		String title[] = { "사번", "성명", "부서" };
		JRadioButtonMenuItem rbm[] = new JRadioButtonMenuItem[3];
		
		JPopupMenu pmn = new JPopupMenu();
		ButtonGroup tgrp = new ButtonGroup();
		
		for(int i=0;i<rbm.length;i++) {
			rbm[i] = new JRadioButtonMenuItem(title[i]);
			pmn.add(rbm[i]);
			tgrp.add(rbm[i]);
		}
		
		f.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent e) {
				checkForTriggerEvent(e);
			}
			@Override
			public void mouseReleased(MouseEvent e) {
				checkForTriggerEvent(e);
			}
			private void checkForTriggerEvent(MouseEvent e) {
				if(e.isPopupTrigger()) {
					pmn.show(e.getComponent(), e.getX(), e.getY());
				}
			}
		});
		
		
		
		f.setBounds(300, 300, 300, 300);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

실행 결과 : 프레임 내에서 마우스 우클릭 시 팝업메뉴 출력

 


 

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

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