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

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

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

1.

 
import java.awt.event.*;
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
public class Average extends JApplet implements ActionListener{
	private JPanel panel1, panel2, panel3;
	private JTextField field1, field2, field3;
	private JLabel label1, label2, label3;
	private JLabel label4, label5, label6, label7, label8, label9;
	private JButton button;
	private float num1, num2, num3;
	private float avg, max , min;
	
	public void init(){
		setLayout(new GridLayout(0,1));
		panel1 = new JPanel();
		panel2 = new JPanel();
		panel3 = new JPanel();
		field1 = new JTextField(5);
		field2 = new JTextField(5);
		field3 = new JTextField(5);
		label1 = new JLabel("실수 1");
		label2 = new JLabel("실수 2");
		label3 = new JLabel("실수 3");
		label4 = new JLabel("평균값");
		label5 = new JLabel("최소값");
		label6 = new JLabel("최대값");
		label7 = new JLabel();
		label8 = new JLabel();
		label9 = new JLabel();
		button = new JButton("계산하기");
		button.addActionListener(this);
		
		panel1.setLayout(new GridLayout(0,2));
		panel1.add(label1);
		panel1.add(field1);
		panel1.add(label2);
		panel1.add(field2);
		panel1.add(label3);
		panel1.add(field3);
		
		panel2.add(button);
		
		panel3.setLayout(new GridLayout(0,2));
		panel3.add(label4);
		panel3.add(label7);
		panel3.add(label5);
		panel3.add(label8);
		panel3.add(label6);
		panel3.add(label9);
		add(panel1);
		add(panel2);
		add(panel3);
		setVisible(true);
	}
	public void actionPerformed(ActionEvent arg0) {
		num1 = Float.parseFloat(field1.getText());
		num2 = Float.parseFloat(field2.getText());
		num3 = Float.parseFloat(field3.getText());
		avg = (num1 + num2 + num3) / 3;
		max = num1;
		min = num1;
		if(max < num2)
			max = num2;
		else if(max < num3)
			max = num3;
		else
			max = num1;
		if(min > num2)
			min = num2;
		else if(min > num3)
			min = num3;
		else
			min = num1;
		label7.setText("" +avg);
		label8.setText("" +min);
		label9.setText("" +max);
	}
	
}

 

3.

 
import java.awt.event.*;
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
public class FtoC extends JApplet implements ActionListener{
	private JEditorPane edPane;
	private JScrollPane scroll;
	private JPanel panel1, panel2,panel3;
	private JLabel label1, label2;
	private JTextField text1, text2;
	private JButton button;
	private double num1, num2;
	public void init(){
		setSize(400,300);
		setLayout(new BorderLayout());
		panel1 = new JPanel();
		panel2 = new JPanel();
		panel3 = new JPanel();
		edPane = new JEditorPane();
		scroll = new JScrollPane(edPane);
		edPane.setContentType("text/html");
		edPane.setText("<html><body>" +
		"<h1>화씨 온도를 섭씨 온도로 변환하기<h1>"+
		"<font size=5>섭씨온도 ↔ 화씨온도<br>"+
		"화씨온도를 F라 하고, 섭씨온도를 C라 할때,<br>"+
		"- 섭씨온도를 화씨온도로 : F = (9/5)C + 32<br>" +
		"- 화씨온도를 섭씨온도로 : C = (5/9)(F - 32)<br>" +
		"<body></html>");
		label1 = new JLabel("화씨 온도   ");
		label2 = new JLabel("섭씨 온도   ");
		text1 = new JTextField(15);
		text2 = new JTextField(15);
		button = new JButton("변환하려면 누르시오");
		button.addActionListener(this);
		
		this.getContentPane().add(scroll, BorderLayout.PAGE_START);
		panel1.setLayout(new BorderLayout());
		panel1.add(label1, BorderLayout.WEST);
		panel1.add(text1, BorderLayout.EAST);
		panel2.add(label2, BorderLayout.WEST);
		panel2.add(text2, BorderLayout.EAST);
		
		panel3.add(panel1, BorderLayout.PAGE_END);
		panel3.add(panel2, BorderLayout.CENTER);
		panel3.add(button, BorderLayout.PAGE_START);
		add(panel3);
		setVisible(true);
		
	}
	public void actionPerformed(ActionEvent e) {
		num1 = Double.parseDouble(text1.getText());
		num2 = (5.0/9.0*(num1-32));
		text2.setText(""+num2);
	}

}

 

4.

 
import java.applet.Applet;
import java.awt.*;

public class Test extends Applet {
  public void paint(Graphics g) {
        // Blue Ring
    g.setColor(new Color(5, 120, 182));
    g.drawOval(0, 0, 100, 100);
    g.fillOval(0,0, 100, 100);
    
   // Rectangle rect = new Rectangle( 30, 30, 100, 100);
   // Color pn = new Color(5, 120, 182);
   // g.drawArc(pn, rect, 50, 100);
    
    g.setColor(new Color(255, 255, 255));
    g.drawOval(5, 5, 90, 90);
    g.fillOval(5, 5, 90, 90);
    // Black Ring
    g.setColor(new Color(0, 0, 0));
    g.drawOval(110, 0, 100, 100);
    g.fillOval(110, 0, 100, 100);
    g.setColor(new Color(255, 255, 255));
    g.drawOval(115, 5, 90, 90);
    g.fillOval(115, 5, 90, 90);    
    // Red Ring
    g.setColor(new Color(251, 24, 51));
    g.drawOval(220, 0, 100, 100);
    g.fillOval(220, 0, 100, 100);
    g.setColor(new Color(255, 255, 255));
    g.drawOval(225, 5, 90, 90);
    g.fillOval(225, 5, 90, 90);      
    // Yellow Ring
    g.setColor(new Color(255, 173, 26));
    g.drawOval(50, 50, 100, 100);
    g.fillOval(50, 50, 100, 100);
    g.setColor(new Color(255, 255, 255));
    g.drawOval(55, 55, 90, 90);
    g.fillOval(55, 55, 90, 90);      
    // Green Ring
    g.setColor(new Color(12, 137, 73));
    g.drawOval(160, 50, 100, 100);
    g.fillOval(160, 50, 100, 100);
    g.setColor(new Color(255, 255, 255));
    g.drawOval(165, 55, 90, 90);
    g.fillOval(165, 55, 90, 90);   
  }
}

댓글