import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import com.deitel.jhtp5.ch08.Time1; // import Time1 class
public class TimeTestApplet extends JApplet implements ActionListener{
JButton button;
Time1 time;
String output;
public void init()
{
button = new JButton( "Click to show result" );
getContentPane().add( button );
time = new Time1(); // calls Time1 constructor
// append String version of time to String output
output = "The initial universal time is: " +
time.toUniversalString() + "\nThe initial standard time is: " +
time.toStandardString();
// change time and append updated time to output
time.setTime( 13, 27, 6 );
output += "\n\nUniversal time after setTime is: " +
time.toUniversalString() +
"\nStandard time after setTime is: " + time.toStandardString();
// set time with invalid values; append updated time to output
time.setTime( 99, 99, 99 );
output += "\n\nAfter attempting invalid settings: " +
"\nUniversal time: " + time.toUniversalString() +
"\nStandard time: " + time.toStandardString();
button.addActionListener( this );
} // end init()
public void actionPerformed( ActionEvent actionEvent )
{
JOptionPane.showMessageDialog( null, output,
"Testing Class Time1", JOptionPane.INFORMATION_MESSAGE );
}
} // end class TimeTestApplet
// Fig. 8.16: Time1.java
// Time1 class declaration maintains the time in 24-hour format.
package com.deitel.jhtp5.ch08;
import java.text.DecimalFormat;
public class Time1 extends Object {
private int hour; // 0 - 23
private int minute; // 0 - 59
private int second; // 0 - 59
// Time1 constructor initializes each instance variable to zero;
// ensures that each Time1 object starts in a consistent state
public Time1()
{
setTime( 0, 0, 0 );
}
// set a new time value using universal time; perform
// validity checks on the data; set invalid values to zero
public void setTime( int h, int m, int s )
{
hour = ( ( h >= 0 && h < 24 ) ? h : 0 );
minute = ( ( m >= 0 && m < 60 ) ? m : 0 );
second = ( ( s >= 0 && s < 60 ) ? s : 0 );
}
// convert to String in universal-time format
public String toUniversalString()
{
DecimalFormat twoDigits = new DecimalFormat( "00" );
return twoDigits.format( hour ) + ":" +
twoDigits.format( minute ) + ":" + twoDigits.format( second );
}
// convert to String in standard-time format
public String toStandardString()
{
DecimalFormat twoDigits = new DecimalFormat( "00" );
return ( (hour == 12 || hour == 0) ? 12 : hour % 12 ) + ":" +
twoDigits.format( minute ) + ":" + twoDigits.format( second ) +
( hour < 12 ? " AM" : " PM" );
}
} // end class Time1