문제풀이/명품 자바 프로그래밍(개정4판)

명품 자바 프로그래밍(개정4판) 제 9장 실습문제

Hyeon-Uk 2020. 12. 7. 19:21
반응형

[1번]

import javax.swing.JFrame;

class MyFrame extends JFrame{
	public MyFrame() {
		setTitle("Let's study Java");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		
		setSize(400,200);
		setVisible(true);
	}
}

public class p0901 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame();
	}

}

[2번]

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;

class MyFrame1 extends JFrame{
	public MyFrame1() {
		setTitle("BorderLayout Practice");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new BorderLayout(5,7));
		c.add(new JButton("North"),BorderLayout.NORTH);
		c.add(new JButton("West"),BorderLayout.WEST);
		c.add(new JButton("Center"),BorderLayout.CENTER);
		c.add(new JButton("East"),BorderLayout.EAST);
		c.add(new JButton("South"),BorderLayout.SOUTH);
		
		setSize(300,200);
		setVisible(true);
	}
}

public class p0902 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame1();
	}

}

[3번]

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

class MyFrame2 extends JFrame{
	public MyFrame2() {
		setTitle("Ten Color Buttons Frame");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new GridLayout(1,10));
		
		JButton btn[]=new JButton[10];
		
		for(int i=0;i<10;i++) {
			btn[i]=new JButton(Integer.toString(i));
			c.add(btn[i]);
		}
		
		setSize(500,200);
		setVisible(true);
	}
}


public class p0903 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame2();
	}

}

[4번]

import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

class MyFrame3 extends JFrame{
	public MyFrame3() {
		Color color[]= {Color.RED,Color.ORANGE,Color.YELLOW,Color.GREEN,Color.CYAN,Color.BLUE,Color.magenta,Color.GRAY,Color.PINK,Color.LIGHT_GRAY};
		setTitle("Ten Color Buttons Frame");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container c=getContentPane();
		c.setLayout(new GridLayout(1,10));
		
		JButton btn[]=new JButton[10];
		
		for(int i=0;i<10;i++) {
			btn[i]=new JButton(Integer.toString(i));
			btn[i].setBackground(color[i]);
			c.add(btn[i]);
		}
		
		setSize(500,200);
		setVisible(true);
	}
}


public class p0904 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame3();
	}

}

[5번]

import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;

class MyFrame4 extends JFrame{
	public MyFrame4() {
		Color color[]= {Color.RED,Color.ORANGE,Color.YELLOW,Color.GREEN,Color.CYAN,Color.BLUE,Color.magenta,Color.DARK_GRAY,Color.PINK,Color.LIGHT_GRAY,Color.WHITE,Color.BLACK,Color.BLACK,Color.ORANGE,Color.BLUE,Color.MAGENTA};
		System.out.println(color.length);
		setTitle("4x4 Color Frame");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c=getContentPane();
		c.setLayout(new GridLayout(4,4));
		
		for(int i=0;i<16;i++) {
			JLabel l=new JLabel(Integer.toString(i));
			l.setBackground(color[i]);
			l.setOpaque(true);
			c.add(l);
		}
		
		setSize(400,200);
		setVisible(true);
	}
}

public class p0905 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame4();
	}

}

반응형

[6번]

import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;

class MyFrame5 extends JFrame{
	public MyFrame5() {
		setTitle("Random Labels");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c=getContentPane();
		
		c.setLayout(null);

		for(int i=0;i<20;i++) {
			int x=(int )(Math.random()*200)+50;
			int y=(int )(Math.random()*200)+50;
			JLabel l=new JLabel(" ");
			l.setBounds(x,y,10,10);
			l.setOpaque(true);
			l.setBackground(Color.blue);
			c.add(l);
		}
		
		setSize(300,300);
		setVisible(true);
	}
}

public class p0906 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame5();
	}

}

[7번]

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

class MyFrame6 extends JFrame{
	public MyFrame6() {
		setTitle("계산기 프레임");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c=getContentPane();
		c.setLayout(new BorderLayout());
		
		JPanel top=new JPanel();
		top.setLayout(new FlowLayout());
		top.setBackground(Color.LIGHT_GRAY);
		top.add(new JLabel("수식입력"));
		top.add(new JTextField(" ",20));
		
		c.add(top,BorderLayout.NORTH);
		
		JPanel center=new JPanel();
		center.setLayout(new GridLayout(4,4,5,5));
		JButton btn[]=new JButton[16];
		String name[]= {"0","1","2","3","4","5","6","7","8","9","CE","계산","+","-","x","/"};
		for(int i=0;i<16;i++) {
			btn[i]=new JButton(name[i]);
			if(i>=12) {
				btn[i].setBackground(Color.green);
			}
			center.add(btn[i]);
		}
		c.add(center,BorderLayout.CENTER);
		
		JPanel bottom=new JPanel();
		bottom.setLayout(new FlowLayout());
		bottom.setBackground(Color.yellow);
		bottom.add(new JLabel("계산 결과"));
		bottom.add(new JTextField(" ",20));
		c.add(bottom,BorderLayout.SOUTH);
		
		setSize(400,200);
		setVisible(true);
	}
}

public class p0907 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame6();
	}

}

[8번]

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

class MyFrame7 extends JFrame{
	public MyFrame7() {
		setTitle("여러개의 패널을 가진 프레임");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c=getContentPane();
		c.setLayout(new BorderLayout());
		
		JPanel top=new JPanel();
		top.setLayout(new FlowLayout());
		top.setBackground(Color.LIGHT_GRAY);
		top.add(new JButton("열기"));
		top.add(new JButton("닫기"));
		top.add(new JButton("나가기"));
		
		c.add(top,BorderLayout.NORTH);
		
		JPanel center=new JPanel();
		center.setLayout(null);

		for(int i=0;i<10;i++) {
			int x=(int )(Math.random()*200)+50;
			int y=(int )(Math.random()*200)+50;
			JLabel l=new JLabel("*");
			l.setBounds(x,y,10,10);
			l.setOpaque(true);
			l.setBackground(Color.red);
			center.add(l);
		}
		
		c.add(center,BorderLayout.CENTER);
		
		JPanel bottom=new JPanel();
		bottom.setLayout(new FlowLayout());
		bottom.setBackground(Color.yellow);
		bottom.add(new JButton("Word Input"));
		bottom.add(new JTextField(" ",20));
		c.add(bottom,BorderLayout.SOUTH);
		
		setSize(600,400);
		setVisible(true);
	}
}

public class p0908 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new MyFrame7();
	}

}
반응형