본문 바로가기
솔루션모음/파워자바 프로그래밍

[파워자바] 14장 프로그래밍 솔루션 답지

by 이얏호이야호 2023. 2. 15.

 

1.

// 패키지 포함
import java.awt.GridLayout;

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

// JFrame을 상속받는 MyFrame 클래스 선언
class MyFrame extends JFrame {

	// 필드선언
	private JButton button;
	private JLabel label;
	private JTextField textInput,textResult;
	private JPanel panel,panel1,panel2,panel3; 
	
	// 생성자 선언
	public MyFrame()
	{
		setSize(500,200); // 프레임의 크기 설정 
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                // 종료버튼을 눌렀을때 프레임이 닫히도록 설정
		setTitle("마일을 킬로미터로 변환"); // 프레임의 제목 설정
		
		panel = new JPanel(); // panel에 패널 객체 생성
		panel.setLayout(new GridLayout(0, 1));
		panel1 = new JPanel(); // panel에 패널 객체 생성
		panel2 = new JPanel(); // panel에 패널 객체 생성
		panel3 = new JPanel(); // panel에 패널 객체 생성
		
		label= new JLabel("거리를 마일 단위로 입력하세요"); // label에 레이블 객체 생성
		textInput = new JTextField(10);	// textInput에 텍스트 필드 객체 생성
		panel1.add(label); // 패널에 레이블 추가
		panel1.add(textInput); // 패널에 텍스트 필드 추가
		
		button = new JButton("변환"); // button에 버튼 객체 생성
		panel2.add(button); // 패널에 버튼 추가
		
		textResult = new JTextField(30); // textResult에 크기가 30인 텍스트 필드 객체 생성
		panel3.add(textResult); // 패널에 텍스트 필드 추가
		
		panel.add(panel1);
		panel.add(panel2);
		panel.add(panel3);
		add(panel); // 프레임에 패널 추가
		setVisible(true); // 프레임 출력 메소드
		
	}
	
}

public class MyFrameTest {
	public static void main(String[] args) {
		MyFrame f = new MyFrame(); // 객체 생성
	}
}

 

 

2.

import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;

class Myframe extends JFrame
{
	JButton button;
	JTextField t1;
	JTextField t2;
	JTextField t3;
	private JPanel panel,panel1,panel2,panel3, panel4; 
	
	public Myframe()
	{
		setSize(230,150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("이자 계산기");
		
		JPanel panel=new JPanel(new GridLayout(0, 1));
		JPanel panel1=new JPanel();
		JPanel panel2=new JPanel();
		JPanel panel3=new JPanel();
		JPanel panel4=new JPanel();

		JLabel label1=new JLabel("원금을 입력하시오");
		t1=new JTextField(5); 
		panel1.add(label1);
		panel1.add(t1);
		
		
		JLabel label2=new JLabel("이율을 입력하시오");
		t2=new JTextField(5);
		panel2.add(label2);
		panel2.add(t2);
		
		button=new JButton("변환");
		panel3.add(button);
		
		t3=new JTextField(20);
		panel4.add(t3);

		panel.add(panel1);
		panel.add(panel2);
		panel.add(panel3);
		panel.add(panel4);
		this.add(panel);

		setVisible(true);
	}
}
public class MyFrameTest {
	public static void main(String[] arge)
	{
		Myframe f=new Myframe();
	}
}

 

3.

import java.awt.FlowLayout;
import java.awt.GridLayout;

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

class MyFrame extends JFrame {

	public MyFrame() {
		JPanel p, p1, p2, p3;
		JTextField tf;
		JButton[] b = new JButton[17];

		p = new JPanel();
		p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
		p1 = new JPanel();
		FlowLayout layout = new FlowLayout();
		layout.setAlignment(FlowLayout.LEFT);
		layout.setVgap(0);
		p1.setLayout(layout);

		p2 = new JPanel();
		p2.setLayout(layout);
		p3 = new JPanel(new GridLayout(0, 4));

		tf = new JTextField(30);
		p1.add(tf);
		
		b[0] = new JButton("C");
		b[1] = new JButton("7");
		b[2] = new JButton("8");
		b[3] = new JButton("9");
		b[4] = new JButton("/");
		b[5] = new JButton("4");
		b[6] = new JButton("5");
		b[7] = new JButton("6");
		b[8] = new JButton("*");
		b[9] = new JButton("1");
		b[10] = new JButton("2");
		b[11] = new JButton("3");
		b[12] = new JButton("-");
		b[13] = new JButton("0");
		b[14] = new JButton("+/-");
		b[15] = new JButton("=");
		b[16] = new JButton("+");

		p2.add(b[0]);
		for (int i=1; i<17; i++) {
			p3.add(b[i]);
		}
		p.add(p1);
		p.add(p2);
		p.add(p3);
		add(p);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		pack();
		setVisible(true);
	}

}

public class MyFrameTest {
	public static void main(String[] args) {
		new MyFrame();
	}
}

 

댓글