Home Java Java-tips GUI Q Rainfall GUI Questions

Ask Questions?

View Latest Questions


 
 

Rainfall GUI Questions
Posted on: July 26, 2006 at 12:00 AM
You known the Rainfall GUI Questions

Java Notes

Rainfall GUI Questions

Name ______________________________

This is part of the code to implement the GUI that was used with the Rainfall program. The problem is that there is no button to calculate the average. Add the button to the layout, and create a listener for the button. Be sure to check for values that aren't correctly converted to double. You are free to make layout changes if you wish.

Changes can be indicated as insertions, or the program can be rewritten.

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
// RainfallGUI.java - Provides a GUI interface to the RainfallStats class.
// Fred Swartz - 2005 - Dec - 08

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

public class RainfallGUI2 extends JFrame {
    
    //================================================ my instance variables
    private RainfallStats _rainLogic;  // Keeps data, calculates statistics.
    
    private JTextField _averageTF      = new JTextField(4);
    private JTextField _numberTF       = new JTextField(4);
    private JTextArea  _rainfallDataTA = new JTextArea(5, 20);
    private JTextField _totalTF        = new JTextField(4);
    
    //========================================================== constructor
    public RainfallGUI2() {
        //... Set up the model / logic
        _rainLogic = new RainfallStats(500);  // Room for 500 data points.
        
        //=========================================================== layout
        //... Result Panel
        JPanel resultPanel = new JPanel();
        resultPanel.setLayout(new GridLayout(3, 2, 5, 5));
        resultPanel.add(new JLabel("Total"));
        resultPanel.add(_totalTF);
        resultPanel.add(new JLabel("Number"));
        resultPanel.add(_numberTF);
        resultPanel.add(new JLabel("Average"));
        resultPanel.add(_averageTF);
        
        //... Build content pane
        JPanel content = new JPanel();
        content.setLayout(new BorderLayout(5, 5));
        content.add(new JScrollPane(_rainfallDataTA), BorderLayout.C