this has beenm a great learning exp.== any help or pointers?
/**
* @(#)BigFonts4
*
*
* @Kevin
* @version 1.40 2007/4/20
*/
import java.text.*;
import java.io.*;
import java.text.ParseException;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
import java.awt.Color;
import java.awt.Font;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar.*;
import java.util.Date.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import javax.swing.JSpinner.*;
import javax.swing.BorderFactory.*;
import javax.swing.JFrame;
import javax.swing.border.Border;
abstract class BigFonts extends JComponent
implements ActionListener,ChangeListener {
public static String doTime(String ts){
String thetime;
Calendar calendar = Calendar.getInstance();
SimpleDateFormat tf = new SimpleDateFormat( "h:mm:ss aa" ) ;
thetime = tf.format(calendar.getTime());
return thetime;
}
public static String alarmChoice(){
JFrame frame = new JFrame();
//optionPane.addPropertyChangeListener(this);
final JOptionPane optionPane = new JOptionPane(
"Would you like to set an alarm?",
JOptionPane.YES_NO_OPTION);
JOptionPane.showConfirmDialog(frame,"Do you want an
alarm? ");
frame.setVisible(true);
return "no";
}
public void actionPerformed(ActionEvent ae) {
int result = JOptionPane.showConfirmDialog( null,
"Set the Alarm?"+
JOptionPane.YES_NO_OPTION );
String seed = " ";
JSpinner hour = new JSpinner();
JSpinner minute = new JSpinner();
JSpinner second = new JSpinner();
switch (result) {
case JOptionPane.NO_OPTION:
addToBox(doTime(seed));
break;
case JOptionPane.YES_OPTION:
addToBox(doTime(seed));
setAlarm(hour, minute, second);
break;
}
}
public static void addToBox(String thetime){
// make text bigger for visually impaired friend
JFrame display = new JFrame("Time Is: ");
Font big = new Font("Serif", Font.BOLD, 40);
Border matte ;
matte = BorderFactory.createMatteBorder(1, 10, 10, 10, Color.blue);
JButton thedisplay = new JButton(thetime);
thedisplay.setSize(400,400);
display.add(thedisplay);
display.setBounds(30,5,230, 100);
display.setLayout(new GridLayout(1,1));
display.setVisible(true);
display.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
display.setBackground(Color.blue);
thedisplay.setFont(big);
thedisplay.setBackground(Color.blue);
thedisplay.setBorder(matte);
thedisplay.setVisible(true);
}
public static void soundAlarm(JSpinner alarm, JSpinner now){
JLabel go = new JLabel("Time to go ...");
if (alarm.getValue() == now.getValue());
go.setVisible(true);
}
public static void setAlarm(JSpinner hour, JSpinner minute,
JSpinner second){
String value = null;
String value2 = null;
String value3 = null;
String theTime = "";
try{
value = (String)hour.getValue();
hour.commitEdit();
}catch (ParseException p){
System.err.println("Exception: "+ p.getMessage());
}
try{
value2 = (String)minute.getValue();
minute.commitEdit();
}catch (ParseException p2){
System.err.println("Exception: "+ p2.getMessage());
try{
value3 = (String)second.getValue();
second.commitEdit();
}catch (ParseException p3){
System.err.println("Exception: "+
p3.getMessage());
}
theTime = (value + value2 +value3);
{
try{
hour.setValue(new Date(theTime));
hour.commitEdit();
}catch (ParseException p4){
System.err.println("Exception: "+
p4.getMessage());
}
Date alarm = (Date) hour.getValue();
}}}
public static void showit(JSpinner hour, JSpinner minute, JSpinner
second){
JFrame display2 = new JFrame("Set Allarm : ");
Border matte ;
matte = BorderFactory.createMatteBorder(1, 1, 10, 10, Color.blue);
display2.setBounds(30,100,230,80);
display2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
display2.setLayout(new GridLayout(1,1));
hour.setFocusable(true);
hour.setBorder(matte);
display2.add(hour);
minute.setFocusable(true);
minute.setBorder(matte);
display2.add(minute);
second.setBorder(matte);
second.setFocusable(true);
display2.add(second);
display2.setVisible(true);
display2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// spinner action
public void stateChanged(ChangeEvent evt){
try{
JSpinner setit = (JSpinner) (evt.getSource());
setit.commitEdit();
}catch (ParseException ex) {
System.err.println("Parse Exception" + ex);
}
}
public void addSpinners(){
Calendar calendar = Calendar.getInstance();
Date initDate = calendar.getTime();
Date earliestDate = calendar.getTime();
Date latestDate = calendar.getTime();
SpinnerDateModel model = new SpinnerDateModel(initDate,
earliestDate,
latestDate,
Calendar.SECOND);
JSpinner hour = new JSpinner(model);
model.addChangeListener(this);
hour.setEditor(new JSpinner.DateEditor(hour, "00"));
hour.setVisible(true);
JSpinner minute = new JSpinner(model);
model.addChangeListener(this);
minute.setEditor(new JSpinner.DateEditor(minute, "00"));
minute.setVisible(true);
JSpinner second = new JSpinner(model);
model.addChangeListener(this);
second.setEditor(new JSpinner.DateEditor(second, "00"));
second.setVisible(true);
}
public static void main(String[] args){
JSpinner hour = new JSpinner();
JSpinner minute = new JSpinner();
JSpinner second = new JSpinner();
boolean set;
set = true;
String st = " Starting ...";
String theTime = " ";
String theAlarm = " ";
Thread t = new Thread();
t.start();
alarmChoice();
try{
for (;;) {
addToBox(doTime(st));
showit(hour, minute, second);
setAlarm(hour, minute, second);
soundAlarm(hour, hour);
Thread.sleep(1000);
}
}catch (Exception e){
System.err.println("Exception: " + e.getMessage());
}
}
}
--
Sometimes I'm in a good mood.
Sometimes I'm in a bad mood.
When all my moods have cum to pass
i hope they bury me upside down
so the world can kiss me porcelain,
white, Irish bottom.