Study/Java

12. 09. 26 테스트

Houkibosi 2012. 10. 1. 13:40

import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;

import javax.swing.*;
import javax.swing.border.TitledBorder;

class Donate extends JFrame
{
 private JPanel panel = new JPanel();
 private JLabel DonationText = new JLabel("Donation"),
   AfterExpensesText = new JLabel("AfterExpenses"), TotalRaisedText = new JLabel("TotalRaised");
 private JTextField DonationField = new JTextField(),
   AfterExpensesField = new JTextField("$0.00"),
   TotalRaisedField = new JTextField("$0.00");
 private JButton DonateButton = new JButton("Donate");
 
 DecimalFormat dollars = new DecimalFormat( "$0.00" );
 
 double Total=0;

 public Donate()
 {
  setTitle("Fund Raiser");
  setSize(500, 300);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  panel.setLayout(null);
  
  DonationText.setBounds(50, 50, 100, 25);
  panel.add(DonationText);
  AfterExpensesText.setBounds(50, 100, 100, 25);
  panel.add(AfterExpensesText);
  TotalRaisedText.setBounds(50, 150, 100, 25);
  panel.add(TotalRaisedText);
  
  DonationField.setBounds(200, 50, 200, 25);
  
  panel.add(DonationField);
  AfterExpensesField.setBounds(200, 100, 200, 25);
  AfterExpensesField.setEditable(false);
  panel.add(AfterExpensesField);
  TotalRaisedField.setBounds(200, 150, 200, 25);
  TotalRaisedField.setEditable(false);
  panel.add(TotalRaisedField);
  
  DonateButton.setBounds(150, 200, 150, 40);
  DonateButton.addActionListener(new MyListener());
  panel.add(DonateButton);
  
  add(panel);
  setVisible(true);
 }

 public class MyListener implements ActionListener
 {
  public void actionPerformed(ActionEvent e)
  {
   if(e.getSource() == DonateButton)
   {
    double temp = Integer.parseInt(DonationField.getText()) * 0.83;
    Total += temp;    
    
    AfterExpensesField.setText(dollars.format(temp)); 
    TotalRaisedField.setText(dollars.format(Total));
   }
  }
 }
}

public class Test
{
 public static void main(String[] args)
 {
  Donate donate = new Donate();

  // System.exit(0);
 }
}