import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class JavaExam4 {
public static void main(String[] args) {
new GraphicDrawEx();
}
}
class GraphicDrawEx extends JFrame{
private MyPanel myPanel = new MyPanel();
public GraphicDrawEx() {
run();
}
private void run() {
setContentPane(myPanel);
setTitle("GraphicDrawEx");
setBounds(700,300,400,350);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class MyPanel extends JPanel{
String file_path = "C:\\Users\\user\\eclipse-workspace\\Test0830\\images\\grape.jpg";
private ImageIcon imageicon = new ImageIcon(file_path);
//Alt+Shift+S -> Override -> paintComponent
protected void paintComponent(Graphics g) {
super.paintComponent(g);
JLabel label = new JLabel();
label.setBounds(50,10,300,300);
Image image = (imageicon).getImage().getScaledInstance(
label.getWidth(), label.getHeight(), Image.SCALE_SMOOTH);
imageicon = new ImageIcon(image);
label.setIcon(imageicon);
add(label);
}
}
}
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JavaExam{
public static void main(String[] args) {
new PaintComponetEx();
}
}
class PaintComponetEx extends JFrame{
private MyPanel panel = new MyPanel();
public PaintComponetEx() {
run();
}
private void run() {
setContentPane(panel); // Frame의 ContentPane으로 panel객체를 사용함
setBounds(700, 300, 400, 250);
setTitle("PaintComponet Ex");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class MyPanel extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(new Color(255,0,0)); //red
g.drawRect(10, 10, 100, 100);
g.setColor(Color.BLUE);
g.drawRect(90, 55, 100, 100);
}
}
}
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
public class JavaExam {
public static void main(String[] args) {
new P02_JTabbedPane();
}
}
class P02_JTabbedPane extends JFrame{
JPanel panel1, panel2;
public P02_JTabbedPane() {
run();
}
private void run() {
// 탭 생성
JTabbedPane tabbedPane = new JTabbedPane();
// 탭에 들어갈 패널을 추가
panel1 = new JPanel();
panel2 = new JPanel();
//첫번째 패널에 들어갈 메뉴 구성하기
//버튼을 누르면 배경 색이 바뀌도록 코딩
JButton btn_red = new JButton("RED");
btn_red.addActionListener(new backGroundChangeListener());
JButton btn_blue = new JButton("BLUE");
btn_blue.addActionListener(new backGroundChangeListener());
JButton btn_green = new JButton("GREEN");
btn_green.addActionListener(new backGroundChangeListener());
// 버튼을 패널1에 추가하기
panel1.add(btn_red);
panel1.add(btn_blue);
panel1.add(btn_green);
//두번째 패널에 들어갈 메뉴구성하기
//라디오 탭을 선택하면 선택된 내용이 레이블로 결과 표시
JRadioButton radio_apple = new JRadioButton("사과");
JRadioButton radio_banana = new JRadioButton("바나나");
JRadioButton radio_melon = new JRadioButton("멜론");
JRadioButton radio_grape = new JRadioButton("포도");
ButtonGroup radioGroup = new ButtonGroup();
radioGroup.add(radio_apple);
radioGroup.add(radio_banana);
radioGroup.add(radio_melon);
radioGroup.add(radio_grape);
panel2.add(radio_apple);
panel2.add(radio_banana);
panel2.add(radio_melon);
panel2.add(radio_grape);
// 첫번째 패널 두번째 패널을 탭에 올리기
tabbedPane.add("배경색",panel1);
tabbedPane.add("과일",panel2);
add(tabbedPane);
setTitle("P02 JTabbedPane");
setBounds(700, 300, 400, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class backGroundChangeListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JButton btn_cur = (JButton)e.getSource();
String[] bgcolor = {"RED","BLUE","GREEN"};
Color[] colors = {Color.RED, Color.BLUE, Color.GREEN};
for(int i=0; i<bgcolor.length; i++) {
if(btn_cur.getText().equals(bgcolor[i]))
panel1.setBackground(colors[i]);
}
}
}
}
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
public class JavaExam {
public static void main(String[] args) {
new P02_JTabbedPane();
}
}
class P02_JTabbedPane extends JFrame{
JPanel panel1,panel2;
public P02_JTabbedPane() {
run();
}
private void run() {
// 탭 생성
JTabbedPane tabbedPane = new JTabbedPane();
// 탭에 들어갈 패널을 추가
panel1 = new JPanel();
panel2 = new JPanel();
//첫번째 패널에 들어갈 메뉴 구성하기
//버튼을 누르면 배경 색이 바뀌도록 코딩
JButton btn_red = new JButton("RED");
JButton btn_blue = new JButton("BLUE");
JButton btn_green = new JButton("GREEN");
// 버튼을 패널1에 추가하기
panel1.add(btn_red);
panel1.add(btn_blue);
panel1.add(btn_green);
//두번째 패널에 들어갈 메뉴구성하기
//라디오 탭을 선택하면 선택된 내용이 레이블로 결과 표시
JRadioButton radio_apple = new JRadioButton("사과");
JRadioButton radio_banana = new JRadioButton("바나나");
JRadioButton radio_melon = new JRadioButton("멜론");
JRadioButton radio_grape = new JRadioButton("포도");
ButtonGroup radioGroup = new ButtonGroup();
radioGroup.add(radio_apple);
radioGroup.add(radio_banana);
radioGroup.add(radio_melon);
radioGroup.add(radio_grape);
panel2.add(radio_apple);
panel2.add(radio_banana);
panel2.add(radio_melon);
panel2.add(radio_grape);
// 첫번째 패널 두번째 패널을 탭에 올리기
tabbedPane.add("배경색",panel1);
tabbedPane.add("과일",panel2);
add(tabbedPane);
setTitle("P02 JTabbedPane");
setBounds(700, 300, 400, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
public class JavaExam {
public static void main(String[] args) {
new P01_JTable();
}
}
class P01_JTable extends JFrame{
public P01_JTable() {
run();
}
private void run() {
String[] header = {"이름","국어","수학","자바"};
String[][] contents = {
{"김철수","93","92","55"},
{"이철수","83","99","89"},
{"박철수","78","89","79"},
{"홍철수","69","90","99"},
{"홍철1","69","90","99"},
{"홍철2","69","90","99"},
{"홍철3","69","90","99"},
{"홍철4","69","90","99"},
{"홍철5","69","90","99"},
{"홍철6","69","90","99"},
{"홍철7","69","90","99"},
{"홍철8","69","90","99"},
{"홍철9","69","90","99"},
{"강철1","59","77","76"},
{"강철2","59","77","76"}};
JTable table = new JTable(contents, header);
JScrollPane jScrollPane = new JScrollPane(
table,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
add(jScrollPane);
setTitle("P01 JTable");
setBounds(700, 300, 400, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
import javax.swing.JFrame;
public class JavaExam {
public static void main(String[] args) {
new P01_JTable();
}
}
class P01_JTable extends JFrame{
public P01_JTable() {
run();
}
private void run() {
setTitle("P01 JTable");
setBounds(700, 300, 400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
'PROGRAM > JAVA' 카테고리의 다른 글
GUI (0) | 2022.08.29 |
---|---|
CSV파일 처리 (0) | 2022.08.10 |
Intellij 시작하기 (0) | 2020.11.09 |
JDK 1.8.0_271 설치하기 (0) | 2020.10.21 |
Thread TimerEx (0) | 2020.06.20 |