Drop_of_Rain
asked on
Adjust time with inner class
I have a inner class AlarmMode built but am not able to get it to change the time, i stop the thread, but it still don't work. Can someone help me get it to work?
import java.awt.event.ActionListe ner;
import java.awt.event.ActionEvent ;
import java.awt.event.KeyListener ;
import javax.swing.AbstractAction ;
import javax.swing.JLabel;
import java.lang.String;
import javax.swing.*;
import java.util.Formatter;
import java.util.*;
import java.util.GregorianCalenda r;
import java.text.DecimalFormat;
/**
*
* @author HP_Owner
*/
public class ReminderGUI extends javax.swing.JFrame
{
enum Mode {
CLOCK, ALARM, TIMER, STOPWATCH, DATE, AUDIO, REMINDERS, CUSTOM, SETUP
};
private java.util.List<Mode> modes;
private int modeIndex;
private Mode currentMode;
boolean alarmStarted = false;
public String alarmTime;
private javax.swing.JLabel timeDisplay;
private ClockDisplay clockDisplay;
private DateDisplay dateDisplay;
private StopWatch stopWatchPanel;
private Thread runner;
/**
* Creates new form ReminderGUI
*/
public ReminderGUI() {
initComponents();
initModes();
}
private void initModes()
{
modes = new java.util.ArrayList<Mode>( );
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode")) ;
advanceMode(); // Advance mode to Clock
clockDisplay = new ClockDisplay();
dateDisplay = new DateDisplay();
}
private class AdvanceModeAction extends javax.swing.AbstractAction
{
public AdvanceModeAction(String name)
{
super(name);
}
public void actionPerformed(java.awt.e vent.Actio nEvent e)
{
advanceMode();
enableAllButtons();
if (currentMode == Mode.ALARM)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
setButton.setEnabled(false );
stop();
}
else if (currentMode == Mode.AUDIO)
{
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
}
else if (currentMode == Mode.CLOCK)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
}
else if (currentMode == Mode.DATE)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
}
else if (currentMode == Mode.TIMER)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
//dispProv.setDispListener (timeDispl ay);
}
else if (currentMode == Mode.REMINDERS)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
upButton.setEnabled(false) ;
downButton.setEnabled(fals e);
}
else if (currentMode == Mode.CUSTOM)
{
setButton.setEnabled(false );
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
upButton.setEnabled(false) ;
downButton.setEnabled(fals e);
}
else if (currentMode == Mode.SETUP)
{
setButton.setEnabled(false );
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
upButton.setEnabled(false) ;
downButton.setEnabled(fals e);
}
else if (currentMode == Mode.STOPWATCH)
{
setButton.setEnabled(false );
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
upButton.setEnabled(false) ;
downButton.setEnabled(fals e);
stopWatchPanel = new StopWatch();
}
}
private void enableAllButtons()
{
downButton.setEnabled(true );
setButton.setEnabled(true) ;
hourButton.setEnabled(true );
minutesButton.setEnabled(t rue);
modeButton.setEnabled(true );
okButton.setEnabled(true);
playButton.setEnabled(true );
recordButton.setEnabled(tr ue);
stopButton.setEnabled(true );
upButton.setEnabled(true);
}
}
private void advanceMode()
{
currentMode = modes.get(modeIndex++ % modes.size());
modeDisplay.setText(curren tMode.toSt ring());
}
void getModeDisplay()
{
currentMode = modes.get(modeIndex++ % modes.size());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
timeDisplay3 = new javax.swing.JLabel();
datePanel = new javax.swing.JPanel();
monthDisplay = new javax.swing.JLabel();
dateLabel = new javax.swing.JLabel();
dayDisplay = new javax.swing.JLabel();
yearDisplay = new javax.swing.JLabel();
buttonPanel = new javax.swing.JPanel();
modeButton = new javax.swing.JButton();
okButton = new javax.swing.JButton();
hourButton = new javax.swing.JButton();
minutesButton = new javax.swing.JButton();
recordButton = new javax.swing.JButton();
playButton = new javax.swing.JButton();
upButton = new javax.swing.JButton();
downButton = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
setButton = new javax.swing.JButton();
stopButton = new javax.swing.JButton();
modeDisplay = new javax.swing.JTextField();
panelNamePanel = new javax.swing.JPanel();
panelNameLabel = new javax.swing.JLabel();
timePanel = new javax.swing.JPanel();
timeLabel = new javax.swing.JLabel();
hoursDisplay = new javax.swing.JLabel();
minutesDisplay = new javax.swing.JLabel();
secondsDisplay = new javax.swing.JLabel();
amPmDisplay = new javax.swing.JLabel();
timeDisplay3.setFont(new java.awt.Font("Tahoma", 0, 30));
timeDisplay3.setForeground (new java.awt.Color(204, 0, 0));
timeDisplay3.setHorizontal Alignment( javax.swin g.SwingCon stants.CEN TER);
timeDisplay3.setText("00") ;
setDefaultCloseOperation(j avax.swing .WindowCon stants.EXI T_ON_CLOSE );
setResizable(false);
datePanel.setBackground(ne w java.awt.Color(0, 102, 102));
monthDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
monthDisplay.setForeground (new java.awt.Color(204, 255, 204));
monthDisplay.setHorizontal Alignment( javax.swin g.SwingCon stants.CEN TER);
monthDisplay.setText("00") ;
dateLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
dateLabel.setForeground(ne w java.awt.Color(255, 255, 255));
dateLabel.setHorizontalAli gnment(jav ax.swing.S wingConsta nts.CENTER );
dateLabel.setText("Date");
dayDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
dayDisplay.setForeground(n ew java.awt.Color(204, 255, 204));
dayDisplay.setHorizontalAl ignment(ja vax.swing. SwingConst ants.CENTE R);
dayDisplay.setText("00");
yearDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
yearDisplay.setForeground( new java.awt.Color(204, 255, 204));
yearDisplay.setHorizontalA lignment(j avax.swing .SwingCons tants.CENT ER);
yearDisplay.setText("0000" );
javax.swing.GroupLayout datePanelLayout = new javax.swing.GroupLayout(da tePanel);
datePanel.setLayout(datePa nelLayout) ;
datePanelLayout.setHorizon talGroup(
datePanelLayout.createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.LEADIN G)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, datePanelLayout.createSequ entialGrou p()
.addGap(20, 20, 20)
.addComponent(dateLabel)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D, javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE)
.addComponent(monthDisplay )
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(dayDisplay)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(yearDisplay)
.addGap(24, 24, 24))
);
datePanelLayout.setVertica lGroup(
datePanelLayout.createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.LEADIN G)
.addGroup(datePanelLayout. createSequ entialGrou p()
.addContainerGap()
.addGroup(datePanelLayout. createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.BASELI NE)
.addComponent(monthDisplay )
.addComponent(dayDisplay)
.addComponent(dateLabel)
.addComponent(yearDisplay, javax.swing.GroupLayout.PR EFERRED_SI ZE, 37, javax.swing.GroupLayout.PR EFERRED_SI ZE))
.addContainerGap(javax.swi ng.GroupLa yout.DEFAU LT_SIZE, Short.MAX_VALUE))
);
buttonPanel.setBackground( new java.awt.Color(0, 102, 102));
modeButton.setBackground(n ew java.awt.Color(0, 0, 0));
modeButton.setFont(new java.awt.Font("Tahoma", 1, 12));
modeButton.setForeground(n ew java.awt.Color(0, 204, 204));
modeButton.setText("Mode") ;
modeButton.setHorizontalTe xtPosition (javax.swi ng.SwingCo nstants.CE NTER);
modeButton.addActionListen er(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
okButton.setBackground(new java.awt.Color(0, 0, 0));
okButton.setFont(new java.awt.Font("Tahoma", 1, 12));
okButton.setForeground(new java.awt.Color(0, 204, 204));
okButton.setText("OK");
okButton.setHorizontalText Position(j avax.swing .SwingCons tants.CENT ER);
okButton.addActionListener (new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
hourButton.setBackground(n ew java.awt.Color(0, 0, 0));
hourButton.setFont(new java.awt.Font("Tahoma", 1, 12));
hourButton.setForeground(n ew java.awt.Color(0, 204, 204));
hourButton.setText("Hour") ;
hourButton.setHorizontalTe xtPosition (javax.swi ng.SwingCo nstants.CE NTER);
hourButton.addActionListen er(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
minutesButton.setBackgroun d(new java.awt.Color(0, 0, 0));
minutesButton.setFont(new java.awt.Font("Tahoma", 1, 12));
minutesButton.setForegroun d(new java.awt.Color(0, 204, 204));
minutesButton.setText("Min utes");
minutesButton.setHorizonta lTextPosit ion(javax. swing.Swin gConstants .CENTER);
minutesButton.addActionLis tener(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
recordButton.setBackground (new java.awt.Color(0, 0, 0));
recordButton.setFont(new java.awt.Font("Tahoma", 1, 12));
recordButton.setForeground (new java.awt.Color(0, 204, 204));
recordButton.setText("Reco rd");
recordButton.setHorizontal TextPositi on(javax.s wing.Swing Constants. CENTER);
recordButton.addActionList ener(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
playButton.setBackground(n ew java.awt.Color(0, 0, 0));
playButton.setFont(new java.awt.Font("Tahoma", 1, 12));
playButton.setForeground(n ew java.awt.Color(0, 204, 204));
playButton.setText("Play") ;
playButton.setHorizontalTe xtPosition (javax.swi ng.SwingCo nstants.CE NTER);
playButton.addActionListen er(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
upButton.setBackground(new java.awt.Color(0, 0, 0));
upButton.setFont(new java.awt.Font("Tahoma", 1, 12));
upButton.setForeground(new java.awt.Color(0, 204, 204));
upButton.setText("Up");
upButton.setHorizontalText Position(j avax.swing .SwingCons tants.CENT ER);
upButton.addActionListener (new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
downButton.setBackground(n ew java.awt.Color(0, 0, 0));
downButton.setFont(new java.awt.Font("Tahoma", 1, 12));
downButton.setForeground(n ew java.awt.Color(0, 204, 204));
downButton.setText("Down") ;
downButton.setHorizontalTe xtPosition (javax.swi ng.SwingCo nstants.CE NTER);
downButton.addActionListen er(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
jButton1.setBackground(new java.awt.Color(0, 0, 0));
jButton1.setFont(new java.awt.Font("Tahoma", 1, 11));
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText("Loop");
setButton.setBackground(ne w java.awt.Color(0, 0, 0));
setButton.setFont(new java.awt.Font("Tahoma", 1, 12));
setButton.setForeground(ne w java.awt.Color(0, 204, 204));
setButton.setText("Set");
setButton.setHorizontalTex tPosition( javax.swin g.SwingCon stants.CEN TER);
stopButton.setBackground(n ew java.awt.Color(0, 0, 0));
stopButton.setFont(new java.awt.Font("Tahoma", 1, 12));
stopButton.setForeground(n ew java.awt.Color(0, 204, 204));
stopButton.setText("Stop") ;
stopButton.setHorizontalTe xtPosition (javax.swi ng.SwingCo nstants.CE NTER);
stopButton.addActionListen er(new java.awt.event.ActionListe ner() {
public void actionPerformed(java.awt.e vent.Actio nEvent evt) {
event(evt);
}
});
javax.swing.GroupLayout buttonPanelLayout = new javax.swing.GroupLayout(bu ttonPanel) ;
buttonPanel.setLayout(butt onPanelLay out);
buttonPanelLayout.setHoriz ontalGroup (
buttonPanelLayout.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.LEAD ING)
.addGroup(buttonPanelLayou t.createSe quentialGr oup()
.addGap(180, 180, 180)
.addComponent(jButton1, javax.swing.GroupLayout.PR EFERRED_SI ZE, 0, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addGap(259, 259, 259))
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, buttonPanelLayout.createSe quentialGr oup()
.addContainerGap(12, Short.MAX_VALUE)
.addGroup(buttonPanelLayou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.LEAD ING)
.addGroup(buttonPanelLayou t.createSe quentialGr oup()
.addComponent(modeButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(hourButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE))
.addGroup(buttonPanelLayou t.createSe quentialGr oup()
.addComponent(okButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(minutesButto n, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE)))
.addGap(6, 6, 6)
.addGroup(buttonPanelLayou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.TRAI LING)
.addComponent(stopButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)
.addComponent(setButton, javax.swing.GroupLayout.Al ignment.LE ADING, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE))
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addGroup(buttonPanelLayou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.LEAD ING)
.addGroup(buttonPanelLayou t.createSe quentialGr oup()
.addComponent(recordButton , javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(upButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE))
.addGroup(buttonPanelLayou t.createSe quentialGr oup()
.addComponent(playButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(downButton, javax.swing.GroupLayout.DE FAULT_SIZE , 83, Short.MAX_VALUE)))
.addContainerGap())
);
buttonPanelLayout.linkSize (javax.swi ng.SwingCo nstants.HO RIZONTAL, new java.awt.Component[] {downButton, hourButton, minutesButton, modeButton, okButton, playButton, recordButton, setButton, stopButton, upButton});
buttonPanelLayout.setVerti calGroup(
buttonPanelLayout.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.LEAD ING)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, buttonPanelLayout.createSe quentialGr oup()
.addContainerGap()
.addGroup(buttonPanelLayou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.BASE LINE)
.addComponent(hourButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(modeButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(recordButton , javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(upButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(setButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE))
.addGap(17, 17, 17)
.addGroup(buttonPanelLayou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.BASE LINE)
.addComponent(minutesButto n, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(stopButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(playButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(downButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE)
.addComponent(okButton, javax.swing.GroupLayout.DE FAULT_SIZE , 32, Short.MAX_VALUE))
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(jButton1))
);
buttonPanelLayout.linkSize (javax.swi ng.SwingCo nstants.VE RTICAL, new java.awt.Component[] {downButton, hourButton, minutesButton, modeButton, okButton, playButton, recordButton, setButton, stopButton, upButton});
modeDisplay.setBackground( new java.awt.Color(0, 0, 0));
modeDisplay.setEditable(fa lse);
modeDisplay.setFont(new java.awt.Font("Tahoma", 1, 16));
modeDisplay.setForeground( new java.awt.Color(204, 255, 204));
modeDisplay.setHorizontalA lignment(j avax.swing .JTextFiel d.CENTER);
modeDisplay.setText("CLOCK ");
panelNamePanel.setBackgrou nd(new java.awt.Color(0, 0, 0));
panelNameLabel.setFont(new java.awt.Font("Tahoma", 0, 30));
panelNameLabel.setForegrou nd(new java.awt.Color(0, 204, 204));
panelNameLabel.setHorizont alAlignmen t(javax.sw ing.SwingC onstants.C ENTER);
panelNameLabel.setText("Au dio Reminder Panel");
javax.swing.GroupLayout panelNamePanelLayout = new javax.swing.GroupLayout(pa nelNamePan el);
panelNamePanel.setLayout(p anelNamePa nelLayout) ;
panelNamePanelLayout.setHo rizontalGr oup(
panelNamePanelLayout.creat eParallelG roup(javax .swing.Gro upLayout.A lignment.L EADING)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, panelNamePanelLayout.creat eSequentia lGroup()
.addContainerGap(100, Short.MAX_VALUE)
.addComponent(panelNameLab el, javax.swing.GroupLayout.PR EFERRED_SI ZE, 300, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addGap(61, 61, 61))
);
panelNamePanelLayout.setVe rticalGrou p(
panelNamePanelLayout.creat eParallelG roup(javax .swing.Gro upLayout.A lignment.L EADING)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, panelNamePanelLayout.creat eSequentia lGroup()
.addContainerGap()
.addComponent(panelNameLab el, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE)
.addContainerGap())
);
timePanel.setBackground(ne w java.awt.Color(0, 102, 102));
timePanel.setPreferredSize (new java.awt.Dimension(100, 100));
timeLabel.setBackground(ne w java.awt.Color(255, 255, 255));
timeLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
timeLabel.setForeground(ne w java.awt.Color(255, 255, 255));
timeLabel.setHorizontalAli gnment(jav ax.swing.S wingConsta nts.CENTER );
timeLabel.setText("Time");
hoursDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
hoursDisplay.setForeground (new java.awt.Color(204, 255, 204));
hoursDisplay.setHorizontal Alignment( javax.swin g.SwingCon stants.CEN TER);
hoursDisplay.setText("00") ;
minutesDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
minutesDisplay.setForegrou nd(new java.awt.Color(204, 255, 204));
minutesDisplay.setHorizont alAlignmen t(javax.sw ing.SwingC onstants.C ENTER);
minutesDisplay.setText("00 ");
secondsDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
secondsDisplay.setForegrou nd(new java.awt.Color(204, 255, 204));
secondsDisplay.setHorizont alAlignmen t(javax.sw ing.SwingC onstants.C ENTER);
secondsDisplay.setText("00 ");
amPmDisplay.setFont(new java.awt.Font("Tahoma", 1, 14));
amPmDisplay.setForeground( new java.awt.Color(204, 255, 204));
amPmDisplay.setHorizontalA lignment(j avax.swing .SwingCons tants.CENT ER);
javax.swing.GroupLayout timePanelLayout = new javax.swing.GroupLayout(ti mePanel);
timePanel.setLayout(timePa nelLayout) ;
timePanelLayout.setHorizon talGroup(
timePanelLayout.createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.LEADIN G)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, timePanelLayout.createSequ entialGrou p()
.addContainerGap(41, Short.MAX_VALUE)
.addComponent(timeLabel)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(hoursDisplay )
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(minutesDispl ay)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(secondsDispl ay)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(amPmDisplay, javax.swing.GroupLayout.PR EFERRED_SI ZE, 29, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addContainerGap())
);
timePanelLayout.setVertica lGroup(
timePanelLayout.createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.LEADIN G)
.addGroup(timePanelLayout. createSequ entialGrou p()
.addContainerGap()
.addGroup(timePanelLayout. createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.BASELI NE)
.addComponent(secondsDispl ay)
.addComponent(minutesDispl ay)
.addComponent(hoursDisplay )
.addComponent(timeLabel)
.addComponent(amPmDisplay, javax.swing.GroupLayout.PR EFERRED_SI ZE, 27, javax.swing.GroupLayout.PR EFERRED_SI ZE))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(ge tContentPa ne());
getContentPane().setLayout (layout);
layout.setHorizontalGroup(
layout.createParallelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG)
.addGroup(layout.createSeq uentialGro up()
.addContainerGap()
.addGroup(layout.createPar allelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG)
.addGroup(layout.createSeq uentialGro up()
.addComponent(datePanel, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(timePanel, javax.swing.GroupLayout.DE FAULT_SIZE , 233, Short.MAX_VALUE))
.addComponent(panelNamePan el, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE)
.addComponent(modeDisplay, javax.swing.GroupLayout.DE FAULT_SIZE , 461, Short.MAX_VALUE)
.addComponent(buttonPanel, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG)
.addGroup(javax.swing.Grou pLayout.Al ignment.TR AILING, layout.createSequentialGro up()
.addContainerGap()
.addComponent(panelNamePan el, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addGroup(layout.createPar allelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG)
.addComponent(timePanel, javax.swing.GroupLayout.PR EFERRED_SI ZE, 59, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addComponent(datePanel, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE))
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(modeDisplay, javax.swing.GroupLayout.PR EFERRED_SI ZE, 41, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addPreferredGap(javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D)
.addComponent(buttonPanel, javax.swing.GroupLayout.PR EFERRED_SI ZE, 107, javax.swing.GroupLayout.PR EFERRED_SI ZE)
.addGap(6, 6, 6))
);
pack();
}// </editor-fold>
private class DateDisplay implements Runnable
{
Thread t;
int i;
private DecimalFormat formatter = new DecimalFormat( "00" ) ;
public DateDisplay() {
runner = new Thread(this);
start();
}
public void run() {
while(true) {
clockCalendar = new GregorianCalendar();
currentMonth = clockCalendar.get(Calendar .MONTH);
currentDay = clockCalendar.get(Calendar .DATE);
currentYear = clockCalendar.get(Calendar .YEAR);
monthDisplay.setText("" + formatter.format( currentMonth ) );
dayDisplay.setText("" + formatter.format( currentDay ) );
yearDisplay.setText("" + formatter.format( currentYear ) );
try {
Thread.sleep(1000);
} catch(InterruptedException interruptedexception) { }
}
}
}
private class ClockDisplay implements Runnable
{
Thread t;
int i;
private DecimalFormat formatter = new DecimalFormat( "00" ) ;
public ClockDisplay() {
runner = new Thread(this);
start();
}
public void run() {
while(runner != null) {
//currentTimeZone = TimeZone.getDefault() ;
clockCalendar = new GregorianCalendar();
if(hourFormat == 24)
currentHour = clockCalendar.get(Calendar .HOUR_OF_D AY);
else
currentHour = clockCalendar.get(Calendar .HOUR);
currentMinute = clockCalendar.get(Calendar .MINUTE);
currentSecond = clockCalendar.get(Calendar .SECOND);
currentAmPm = clockCalendar.get(Calendar .AM_PM);
hoursDisplay.setText("" + formatter.format( currentHour) );
minutesDisplay.setText("" + formatter.format( currentMinute) );
secondsDisplay.setText("" + formatter.format( currentSecond) );
if(Calendar.AM_PM == Calendar.AM) {
amPmDisplay.setText("AM");
}
else{
amPmDisplay.setText("PM");
}
try {
t.sleep(1000);
} catch(InterruptedException interruptedexception) { }
}
}
}
private void event(java.awt.event.Actio nEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invoke Later(new Runnable() {
public void run() {
new ReminderGUI().setVisible(t rue);
}
});
}
private TimeZone currentTimeZone;
private int currentDay;
private int currentMonth;
private int currentYear;
private int currentHour;
private int currentMinute;
private int currentSecond;
private int currentAmPm;
private GregorianCalendar clockCalendar;
private int hourFormat;
// Variables declaration - do not modify
private javax.swing.JLabel amPmDisplay;
private javax.swing.JPanel buttonPanel;
private javax.swing.JLabel dateLabel;
private javax.swing.JPanel datePanel;
private javax.swing.JLabel dayDisplay;
private javax.swing.JButton downButton;
private javax.swing.JButton hourButton;
private javax.swing.JLabel hoursDisplay;
private javax.swing.JButton jButton1;
private javax.swing.JButton minutesButton;
private javax.swing.JLabel minutesDisplay;
private javax.swing.JButton modeButton;
private javax.swing.JTextField modeDisplay;
private javax.swing.JLabel monthDisplay;
private javax.swing.JButton okButton;
private javax.swing.JLabel panelNameLabel;
private javax.swing.JPanel panelNamePanel;
private javax.swing.JButton playButton;
private javax.swing.JButton recordButton;
private javax.swing.JLabel secondsDisplay;
private javax.swing.JButton setButton;
private javax.swing.JButton stopButton;
private javax.swing.JLabel timeDisplay3;
private javax.swing.JLabel timeLabel;
private javax.swing.JPanel timePanel;
private javax.swing.JButton upButton;
private javax.swing.JLabel yearDisplay;
// End of variables declaration
private class AlarmMode extends AbstractAction {
public final int HR = 0;
public final int MIN = 1;
private int timerTime;
int hr =0;
int min = 0;
int selected = -1;
private Mode currentMode;
DecimalFormat formatter;
String hourtime;
String minutestime;
public AlarmMode(){
}
public void actionPerformed(ActionEven t event) {
String cmd = event.getActionCommand();
formatter = new DecimalFormat("00") ;
if (currentMode == Mode.ALARM) {
if (cmd.equals(hourButton.get Text())) {
selected = HR;
} else if (cmd.equals(minutesButton. getText()) )
{
selected = MIN;
} else if (cmd.equals(upButton.getTe xt())) {
if (selected == HR) {
String hourtime = hoursDisplay.getText();
int hr = Integer.parseInt(hourtime) ;
hourtime = Integer.toString(hr + 1);
//hoursDisplay.setText("" + formatter.format (hourtime)); //modified time
} else
if (selected == MIN) {
String minutestime = minutesDisplay.getText();
int min = Integer.parseInt(minutesti me);
minutestime = Integer.toString(min + 1);
//minutesDisplay.setText(" " + formatter.format(minutesti me)); //modified time
}
} else
if (selected == HR) {
String hourtime = hoursDisplay.getText();
int hr = Integer.parseInt(hourtime) ;
hourtime = Integer.toString(hr - 1);
//hoursDisplay.setText("" + formatter.format(hourtime) ); //modified time
} else
if (selected == MIN) {
String minutestime = minutesDisplay.getText();
int min = Integer.parseInt(minutesti me);
minutestime = Integer.toString(min - 1);
//minutesDisplay.setText(" " + formatter.format( minutestime)); //modified time
}
} else
if (cmd.equals(okButton.getTe xt())) {
selected = HR;
currentMode = Mode.CLOCK;
modeDisplay.setText(curren tMode.toSt ring());
//clockDisplay = new ClockDisplay();
hoursDisplay.setText("" + formatter.format (hourtime)); //modified time
minutesDisplay.setText("" + formatter.format( minutestime)); //modified time
start();
}
}
public void timerTime(){
hr = hr * 60 * 60 * 1000;
min = min * 60 * 1000;
timerTime = hr + min;
}
}
public void start() {
if(runner == null)
runner = new Thread();
runner.start();
}
public void stop() {
runner = null;
}
}
import java.awt.event.ActionListe
import java.awt.event.ActionEvent
import java.awt.event.KeyListener
import javax.swing.AbstractAction
import javax.swing.JLabel;
import java.lang.String;
import javax.swing.*;
import java.util.Formatter;
import java.util.*;
import java.util.GregorianCalenda
import java.text.DecimalFormat;
/**
*
* @author HP_Owner
*/
public class ReminderGUI extends javax.swing.JFrame
{
enum Mode {
CLOCK, ALARM, TIMER, STOPWATCH, DATE, AUDIO, REMINDERS, CUSTOM, SETUP
};
private java.util.List<Mode> modes;
private int modeIndex;
private Mode currentMode;
boolean alarmStarted = false;
public String alarmTime;
private javax.swing.JLabel timeDisplay;
private ClockDisplay clockDisplay;
private DateDisplay dateDisplay;
private StopWatch stopWatchPanel;
private Thread runner;
/**
* Creates new form ReminderGUI
*/
public ReminderGUI() {
initComponents();
initModes();
}
private void initModes()
{
modes = new java.util.ArrayList<Mode>(
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode"))
advanceMode(); // Advance mode to Clock
clockDisplay = new ClockDisplay();
dateDisplay = new DateDisplay();
}
private class AdvanceModeAction extends javax.swing.AbstractAction
{
public AdvanceModeAction(String name)
{
super(name);
}
public void actionPerformed(java.awt.e
{
advanceMode();
enableAllButtons();
if (currentMode == Mode.ALARM)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
setButton.setEnabled(false
stop();
}
else if (currentMode == Mode.AUDIO)
{
hourButton.setEnabled(fals
minutesButton.setEnabled(f
}
else if (currentMode == Mode.CLOCK)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
}
else if (currentMode == Mode.DATE)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
}
else if (currentMode == Mode.TIMER)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
//dispProv.setDispListener
}
else if (currentMode == Mode.REMINDERS)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
hourButton.setEnabled(fals
minutesButton.setEnabled(f
upButton.setEnabled(false)
downButton.setEnabled(fals
}
else if (currentMode == Mode.CUSTOM)
{
setButton.setEnabled(false
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
hourButton.setEnabled(fals
minutesButton.setEnabled(f
upButton.setEnabled(false)
downButton.setEnabled(fals
}
else if (currentMode == Mode.SETUP)
{
setButton.setEnabled(false
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
hourButton.setEnabled(fals
minutesButton.setEnabled(f
upButton.setEnabled(false)
downButton.setEnabled(fals
}
else if (currentMode == Mode.STOPWATCH)
{
setButton.setEnabled(false
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
hourButton.setEnabled(fals
minutesButton.setEnabled(f
upButton.setEnabled(false)
downButton.setEnabled(fals
stopWatchPanel = new StopWatch();
}
}
private void enableAllButtons()
{
downButton.setEnabled(true
setButton.setEnabled(true)
hourButton.setEnabled(true
minutesButton.setEnabled(t
modeButton.setEnabled(true
okButton.setEnabled(true);
playButton.setEnabled(true
recordButton.setEnabled(tr
stopButton.setEnabled(true
upButton.setEnabled(true);
}
}
private void advanceMode()
{
currentMode = modes.get(modeIndex++ % modes.size());
modeDisplay.setText(curren
}
void getModeDisplay()
{
currentMode = modes.get(modeIndex++ % modes.size());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
timeDisplay3 = new javax.swing.JLabel();
datePanel = new javax.swing.JPanel();
monthDisplay = new javax.swing.JLabel();
dateLabel = new javax.swing.JLabel();
dayDisplay = new javax.swing.JLabel();
yearDisplay = new javax.swing.JLabel();
buttonPanel = new javax.swing.JPanel();
modeButton = new javax.swing.JButton();
okButton = new javax.swing.JButton();
hourButton = new javax.swing.JButton();
minutesButton = new javax.swing.JButton();
recordButton = new javax.swing.JButton();
playButton = new javax.swing.JButton();
upButton = new javax.swing.JButton();
downButton = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
setButton = new javax.swing.JButton();
stopButton = new javax.swing.JButton();
modeDisplay = new javax.swing.JTextField();
panelNamePanel = new javax.swing.JPanel();
panelNameLabel = new javax.swing.JLabel();
timePanel = new javax.swing.JPanel();
timeLabel = new javax.swing.JLabel();
hoursDisplay = new javax.swing.JLabel();
minutesDisplay = new javax.swing.JLabel();
secondsDisplay = new javax.swing.JLabel();
amPmDisplay = new javax.swing.JLabel();
timeDisplay3.setFont(new java.awt.Font("Tahoma", 0, 30));
timeDisplay3.setForeground
timeDisplay3.setHorizontal
timeDisplay3.setText("00")
setDefaultCloseOperation(j
setResizable(false);
datePanel.setBackground(ne
monthDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
monthDisplay.setForeground
monthDisplay.setHorizontal
monthDisplay.setText("00")
dateLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
dateLabel.setForeground(ne
dateLabel.setHorizontalAli
dateLabel.setText("Date");
dayDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
dayDisplay.setForeground(n
dayDisplay.setHorizontalAl
dayDisplay.setText("00");
yearDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
yearDisplay.setForeground(
yearDisplay.setHorizontalA
yearDisplay.setText("0000"
javax.swing.GroupLayout datePanelLayout = new javax.swing.GroupLayout(da
datePanel.setLayout(datePa
datePanelLayout.setHorizon
datePanelLayout.createPara
.addGroup(javax.swing.Grou
.addGap(20, 20, 20)
.addComponent(dateLabel)
.addPreferredGap(javax.swi
.addComponent(monthDisplay
.addPreferredGap(javax.swi
.addComponent(dayDisplay)
.addPreferredGap(javax.swi
.addComponent(yearDisplay)
.addGap(24, 24, 24))
);
datePanelLayout.setVertica
datePanelLayout.createPara
.addGroup(datePanelLayout.
.addContainerGap()
.addGroup(datePanelLayout.
.addComponent(monthDisplay
.addComponent(dayDisplay)
.addComponent(dateLabel)
.addComponent(yearDisplay,
.addContainerGap(javax.swi
);
buttonPanel.setBackground(
modeButton.setBackground(n
modeButton.setFont(new java.awt.Font("Tahoma", 1, 12));
modeButton.setForeground(n
modeButton.setText("Mode")
modeButton.setHorizontalTe
modeButton.addActionListen
public void actionPerformed(java.awt.e
event(evt);
}
});
okButton.setBackground(new
okButton.setFont(new java.awt.Font("Tahoma", 1, 12));
okButton.setForeground(new
okButton.setText("OK");
okButton.setHorizontalText
okButton.addActionListener
public void actionPerformed(java.awt.e
event(evt);
}
});
hourButton.setBackground(n
hourButton.setFont(new java.awt.Font("Tahoma", 1, 12));
hourButton.setForeground(n
hourButton.setText("Hour")
hourButton.setHorizontalTe
hourButton.addActionListen
public void actionPerformed(java.awt.e
event(evt);
}
});
minutesButton.setBackgroun
minutesButton.setFont(new java.awt.Font("Tahoma", 1, 12));
minutesButton.setForegroun
minutesButton.setText("Min
minutesButton.setHorizonta
minutesButton.addActionLis
public void actionPerformed(java.awt.e
event(evt);
}
});
recordButton.setBackground
recordButton.setFont(new java.awt.Font("Tahoma", 1, 12));
recordButton.setForeground
recordButton.setText("Reco
recordButton.setHorizontal
recordButton.addActionList
public void actionPerformed(java.awt.e
event(evt);
}
});
playButton.setBackground(n
playButton.setFont(new java.awt.Font("Tahoma", 1, 12));
playButton.setForeground(n
playButton.setText("Play")
playButton.setHorizontalTe
playButton.addActionListen
public void actionPerformed(java.awt.e
event(evt);
}
});
upButton.setBackground(new
upButton.setFont(new java.awt.Font("Tahoma", 1, 12));
upButton.setForeground(new
upButton.setText("Up");
upButton.setHorizontalText
upButton.addActionListener
public void actionPerformed(java.awt.e
event(evt);
}
});
downButton.setBackground(n
downButton.setFont(new java.awt.Font("Tahoma", 1, 12));
downButton.setForeground(n
downButton.setText("Down")
downButton.setHorizontalTe
downButton.addActionListen
public void actionPerformed(java.awt.e
event(evt);
}
});
jButton1.setBackground(new
jButton1.setFont(new java.awt.Font("Tahoma", 1, 11));
jButton1.setForeground(new
jButton1.setText("Loop");
setButton.setBackground(ne
setButton.setFont(new java.awt.Font("Tahoma", 1, 12));
setButton.setForeground(ne
setButton.setText("Set");
setButton.setHorizontalTex
stopButton.setBackground(n
stopButton.setFont(new java.awt.Font("Tahoma", 1, 12));
stopButton.setForeground(n
stopButton.setText("Stop")
stopButton.setHorizontalTe
stopButton.addActionListen
public void actionPerformed(java.awt.e
event(evt);
}
});
javax.swing.GroupLayout buttonPanelLayout = new javax.swing.GroupLayout(bu
buttonPanel.setLayout(butt
buttonPanelLayout.setHoriz
buttonPanelLayout.createPa
.addGroup(buttonPanelLayou
.addGap(180, 180, 180)
.addComponent(jButton1, javax.swing.GroupLayout.PR
.addGap(259, 259, 259))
.addGroup(javax.swing.Grou
.addContainerGap(12, Short.MAX_VALUE)
.addGroup(buttonPanelLayou
.addGroup(buttonPanelLayou
.addComponent(modeButton, javax.swing.GroupLayout.DE
.addPreferredGap(javax.swi
.addComponent(hourButton, javax.swing.GroupLayout.DE
.addGroup(buttonPanelLayou
.addComponent(okButton, javax.swing.GroupLayout.DE
.addPreferredGap(javax.swi
.addComponent(minutesButto
.addGap(6, 6, 6)
.addGroup(buttonPanelLayou
.addComponent(stopButton, javax.swing.GroupLayout.DE
.addComponent(setButton, javax.swing.GroupLayout.Al
.addPreferredGap(javax.swi
.addGroup(buttonPanelLayou
.addGroup(buttonPanelLayou
.addComponent(recordButton
.addPreferredGap(javax.swi
.addComponent(upButton, javax.swing.GroupLayout.DE
.addGroup(buttonPanelLayou
.addComponent(playButton, javax.swing.GroupLayout.DE
.addPreferredGap(javax.swi
.addComponent(downButton, javax.swing.GroupLayout.DE
.addContainerGap())
);
buttonPanelLayout.linkSize
buttonPanelLayout.setVerti
buttonPanelLayout.createPa
.addGroup(javax.swing.Grou
.addContainerGap()
.addGroup(buttonPanelLayou
.addComponent(hourButton, javax.swing.GroupLayout.DE
.addComponent(modeButton, javax.swing.GroupLayout.DE
.addComponent(recordButton
.addComponent(upButton, javax.swing.GroupLayout.DE
.addComponent(setButton, javax.swing.GroupLayout.DE
.addGap(17, 17, 17)
.addGroup(buttonPanelLayou
.addComponent(minutesButto
.addComponent(stopButton, javax.swing.GroupLayout.DE
.addComponent(playButton, javax.swing.GroupLayout.DE
.addComponent(downButton, javax.swing.GroupLayout.DE
.addComponent(okButton, javax.swing.GroupLayout.DE
.addPreferredGap(javax.swi
.addComponent(jButton1))
);
buttonPanelLayout.linkSize
modeDisplay.setBackground(
modeDisplay.setEditable(fa
modeDisplay.setFont(new java.awt.Font("Tahoma", 1, 16));
modeDisplay.setForeground(
modeDisplay.setHorizontalA
modeDisplay.setText("CLOCK
panelNamePanel.setBackgrou
panelNameLabel.setFont(new
panelNameLabel.setForegrou
panelNameLabel.setHorizont
panelNameLabel.setText("Au
javax.swing.GroupLayout panelNamePanelLayout = new javax.swing.GroupLayout(pa
panelNamePanel.setLayout(p
panelNamePanelLayout.setHo
panelNamePanelLayout.creat
.addGroup(javax.swing.Grou
.addContainerGap(100, Short.MAX_VALUE)
.addComponent(panelNameLab
.addGap(61, 61, 61))
);
panelNamePanelLayout.setVe
panelNamePanelLayout.creat
.addGroup(javax.swing.Grou
.addContainerGap()
.addComponent(panelNameLab
.addContainerGap())
);
timePanel.setBackground(ne
timePanel.setPreferredSize
timeLabel.setBackground(ne
timeLabel.setFont(new java.awt.Font("Tahoma", 1, 14));
timeLabel.setForeground(ne
timeLabel.setHorizontalAli
timeLabel.setText("Time");
hoursDisplay.setFont(new java.awt.Font("Tahoma", 0, 30));
hoursDisplay.setForeground
hoursDisplay.setHorizontal
hoursDisplay.setText("00")
minutesDisplay.setFont(new
minutesDisplay.setForegrou
minutesDisplay.setHorizont
minutesDisplay.setText("00
secondsDisplay.setFont(new
secondsDisplay.setForegrou
secondsDisplay.setHorizont
secondsDisplay.setText("00
amPmDisplay.setFont(new java.awt.Font("Tahoma", 1, 14));
amPmDisplay.setForeground(
amPmDisplay.setHorizontalA
javax.swing.GroupLayout timePanelLayout = new javax.swing.GroupLayout(ti
timePanel.setLayout(timePa
timePanelLayout.setHorizon
timePanelLayout.createPara
.addGroup(javax.swing.Grou
.addContainerGap(41, Short.MAX_VALUE)
.addComponent(timeLabel)
.addPreferredGap(javax.swi
.addComponent(hoursDisplay
.addPreferredGap(javax.swi
.addComponent(minutesDispl
.addPreferredGap(javax.swi
.addComponent(secondsDispl
.addPreferredGap(javax.swi
.addComponent(amPmDisplay,
.addContainerGap())
);
timePanelLayout.setVertica
timePanelLayout.createPara
.addGroup(timePanelLayout.
.addContainerGap()
.addGroup(timePanelLayout.
.addComponent(secondsDispl
.addComponent(minutesDispl
.addComponent(hoursDisplay
.addComponent(timeLabel)
.addComponent(amPmDisplay,
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(ge
getContentPane().setLayout
layout.setHorizontalGroup(
layout.createParallelGroup
.addGroup(layout.createSeq
.addContainerGap()
.addGroup(layout.createPar
.addGroup(layout.createSeq
.addComponent(datePanel, javax.swing.GroupLayout.PR
.addPreferredGap(javax.swi
.addComponent(timePanel, javax.swing.GroupLayout.DE
.addComponent(panelNamePan
.addComponent(modeDisplay,
.addComponent(buttonPanel,
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup
.addGroup(javax.swing.Grou
.addContainerGap()
.addComponent(panelNamePan
.addPreferredGap(javax.swi
.addGroup(layout.createPar
.addComponent(timePanel, javax.swing.GroupLayout.PR
.addComponent(datePanel, javax.swing.GroupLayout.PR
.addPreferredGap(javax.swi
.addComponent(modeDisplay,
.addPreferredGap(javax.swi
.addComponent(buttonPanel,
.addGap(6, 6, 6))
);
pack();
}// </editor-fold>
private class DateDisplay implements Runnable
{
Thread t;
int i;
private DecimalFormat formatter = new DecimalFormat( "00" ) ;
public DateDisplay() {
runner = new Thread(this);
start();
}
public void run() {
while(true) {
clockCalendar = new GregorianCalendar();
currentMonth = clockCalendar.get(Calendar
currentDay = clockCalendar.get(Calendar
currentYear = clockCalendar.get(Calendar
monthDisplay.setText("" + formatter.format( currentMonth ) );
dayDisplay.setText("" + formatter.format( currentDay ) );
yearDisplay.setText("" + formatter.format( currentYear ) );
try {
Thread.sleep(1000);
} catch(InterruptedException
}
}
}
private class ClockDisplay implements Runnable
{
Thread t;
int i;
private DecimalFormat formatter = new DecimalFormat( "00" ) ;
public ClockDisplay() {
runner = new Thread(this);
start();
}
public void run() {
while(runner != null) {
//currentTimeZone = TimeZone.getDefault() ;
clockCalendar = new GregorianCalendar();
if(hourFormat == 24)
currentHour = clockCalendar.get(Calendar
else
currentHour = clockCalendar.get(Calendar
currentMinute = clockCalendar.get(Calendar
currentSecond = clockCalendar.get(Calendar
currentAmPm = clockCalendar.get(Calendar
hoursDisplay.setText("" + formatter.format( currentHour) );
minutesDisplay.setText("" + formatter.format( currentMinute) );
secondsDisplay.setText("" + formatter.format( currentSecond) );
if(Calendar.AM_PM == Calendar.AM) {
amPmDisplay.setText("AM");
}
else{
amPmDisplay.setText("PM");
}
try {
t.sleep(1000);
} catch(InterruptedException
}
}
}
private void event(java.awt.event.Actio
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invoke
public void run() {
new ReminderGUI().setVisible(t
}
});
}
private TimeZone currentTimeZone;
private int currentDay;
private int currentMonth;
private int currentYear;
private int currentHour;
private int currentMinute;
private int currentSecond;
private int currentAmPm;
private GregorianCalendar clockCalendar;
private int hourFormat;
// Variables declaration - do not modify
private javax.swing.JLabel amPmDisplay;
private javax.swing.JPanel buttonPanel;
private javax.swing.JLabel dateLabel;
private javax.swing.JPanel datePanel;
private javax.swing.JLabel dayDisplay;
private javax.swing.JButton downButton;
private javax.swing.JButton hourButton;
private javax.swing.JLabel hoursDisplay;
private javax.swing.JButton jButton1;
private javax.swing.JButton minutesButton;
private javax.swing.JLabel minutesDisplay;
private javax.swing.JButton modeButton;
private javax.swing.JTextField modeDisplay;
private javax.swing.JLabel monthDisplay;
private javax.swing.JButton okButton;
private javax.swing.JLabel panelNameLabel;
private javax.swing.JPanel panelNamePanel;
private javax.swing.JButton playButton;
private javax.swing.JButton recordButton;
private javax.swing.JLabel secondsDisplay;
private javax.swing.JButton setButton;
private javax.swing.JButton stopButton;
private javax.swing.JLabel timeDisplay3;
private javax.swing.JLabel timeLabel;
private javax.swing.JPanel timePanel;
private javax.swing.JButton upButton;
private javax.swing.JLabel yearDisplay;
// End of variables declaration
private class AlarmMode extends AbstractAction {
public final int HR = 0;
public final int MIN = 1;
private int timerTime;
int hr =0;
int min = 0;
int selected = -1;
private Mode currentMode;
DecimalFormat formatter;
String hourtime;
String minutestime;
public AlarmMode(){
}
public void actionPerformed(ActionEven
String cmd = event.getActionCommand();
formatter = new DecimalFormat("00") ;
if (currentMode == Mode.ALARM) {
if (cmd.equals(hourButton.get
selected = HR;
} else if (cmd.equals(minutesButton.
{
selected = MIN;
} else if (cmd.equals(upButton.getTe
if (selected == HR) {
String hourtime = hoursDisplay.getText();
int hr = Integer.parseInt(hourtime)
hourtime = Integer.toString(hr + 1);
//hoursDisplay.setText("" + formatter.format (hourtime)); //modified time
} else
if (selected == MIN) {
String minutestime = minutesDisplay.getText();
int min = Integer.parseInt(minutesti
minutestime = Integer.toString(min + 1);
//minutesDisplay.setText("
}
} else
if (selected == HR) {
String hourtime = hoursDisplay.getText();
int hr = Integer.parseInt(hourtime)
hourtime = Integer.toString(hr - 1);
//hoursDisplay.setText("" + formatter.format(hourtime)
} else
if (selected == MIN) {
String minutestime = minutesDisplay.getText();
int min = Integer.parseInt(minutesti
minutestime = Integer.toString(min - 1);
//minutesDisplay.setText("
}
} else
if (cmd.equals(okButton.getTe
selected = HR;
currentMode = Mode.CLOCK;
modeDisplay.setText(curren
//clockDisplay = new ClockDisplay();
hoursDisplay.setText("" + formatter.format (hourtime)); //modified time
minutesDisplay.setText("" + formatter.format( minutestime)); //modified time
start();
}
}
public void timerTime(){
hr = hr * 60 * 60 * 1000;
min = min * 60 * 1000;
timerTime = hr + min;
}
}
public void start() {
if(runner == null)
runner = new Thread();
runner.start();
}
public void stop() {
runner = null;
}
}
ASKER
In the inner class AlarmMode at the bottom.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I added that class to: thanks i missed that i though i had did it, i did but to another version, But it still doesn't work.
private void initModes()
{
modes = new java.util.ArrayList<Mode>( );
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode")) ;
advanceMode(); // Advance mode to Clock
clockDisplay = new ClockDisplay();
dateDisplay = new DateDisplay();
alarmMode = new AlarmMode();
}
private void initModes()
{
modes = new java.util.ArrayList<Mode>(
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode"))
advanceMode(); // Advance mode to Clock
clockDisplay = new ClockDisplay();
dateDisplay = new DateDisplay();
alarmMode = new AlarmMode();
}
Your program gets more readable if you delete all those redundant class names:
After you say:
import javax.swing.JLabel;
You can replace all:
private javax.swing.JLabel timeDisplay;
by:
private JLabel timeDisplay;
Obviously you don't use a tool like ECLIPSE; it would make many things easier for you.
Then: you do many things you don't have to, like converting a string to a number and back.
If you store some number, do not store it as text, but only convert it to String for display.
Finally: your class AlarmMode does nothing:: the constructor is empty, no ActionListener is set.
;JOOP!
After you say:
import javax.swing.JLabel;
You can replace all:
private javax.swing.JLabel timeDisplay;
by:
private JLabel timeDisplay;
Obviously you don't use a tool like ECLIPSE; it would make many things easier for you.
Then: you do many things you don't have to, like converting a string to a number and back.
If you store some number, do not store it as text, but only convert it to String for display.
Finally: your class AlarmMode does nothing:: the constructor is empty, no ActionListener is set.
;JOOP!
ASKER
I use NetBeans 5.5. Just to let you know I started with the GUI al over again and copied the classes that were working in the other GUI. The class you are telling me about is a class that someone from here helped create, I followed his examples. I have some other code to do it but no one from here has looked at it to help me put it together, which i like much better. In you code how do I declare the [k] it asks for that variable.
I answered that question already.
This is the result of the chaos you create with so many parallel questions.
I go.
This is the result of the chaos you create with so many parallel questions.
I go.
ASKER
This is the old GUI and those classes worked, what is the difference?
import java.awt.Color;
import java.awt.Container;
import java.util.Calendar;
import javax.swing.AbstractAction ;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.Border;
import java.awt.event.ActionEvent ;
import javax.swing.JLabel;
public class GuiPanel extends javax.swing.JFrame
{
enum Mode {
Alarm, Timer, Clock, Date, Audio
};
private java.util.List<Mode> modes;
private int modeIndex;
private Mode currentMode;
boolean alarmStarted = false;
public String alarmTime;
// private/** Creates new form GuiPanel */
public GuiPanel()
{
initComponents();
initModes();
}
private void initModes()
{
modes = new java.util.ArrayList<Mode>( );
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode")) ;
}
private class AdvanceModeAction extends javax.swing.AbstractAction
{
public AdvanceModeAction(String name)
{
super(name);
}
public void actionPerformed(java.awt.e vent.Actio nEvent e)
{
advanceMode();
modeDisplay.setText(curren tMode.toSt ring());
enableAllButtons();
if (currentMode == Mode.Alarm)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
fastButton.setEnabled(fals e);
alarmTempDisplay = new JLabel(timeDisplay.getText ());
alarmStarted = false;
dispProv.setDispListener(a larmTempDi splay);
}
else if (currentMode == Mode.Audio)
{
hourButton.setEnabled(fals e);
minutesButton.setEnabled(f alse);
}
else if (currentMode == Mode.Clock)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
}
else if (currentMode == Mode.Date)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
}
else if (currentMode == Mode.Timer)
{
recordButton.setEnabled(fa lse);
playButton.setEnabled(fals e);
stopButton.setEnabled(fals e);
dispProv.setDispListener(t imeDisplay );
}
}
}
private class AlarmButtonSelectAction extends javax.swing.AbstractAction
{
public final int HR = 0;
public final int MIN = 1;
int selected = -1;
public void actionPerformed(ActionEven t e)
{
String cmd = e.getActionCommand();
if (currentMode == Mode.Alarm)
{
if (cmd.equals(hourButton.get Text()))
{
selected = HR;
}
else if (cmd.equals(minutesButton. getText()) )
{
selected = MIN;
}
else if (cmd.equals(upButton.getTe xt()))
{
if (selected == HR)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int hr = Integer.parseInt(splitTime [0].trim() );
time = Integer.toString(hr + 1) + ":" + splitTime[1] + ":" + splitTime[2];
timeDisplay.setText(time); //modified time
}
else if (selected == MIN)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int min = Integer.parseInt(splitTime [1].trim() );
time = splitTime[0] + ":" + Integer.toString(min + 1) + ":" + splitTime[2];
timeDisplay.setText(time); //modified time
}
}
else if (cmd.equals(downButton.get Text()))
{
if (selected == HR)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int hr = Integer.parseInt(splitTime [0].trim() );
time = Integer.toString(hr - 1) + ":" + splitTime[1] + ":" + splitTime[2];
timeDisplay.setText(time); //modified time
}
else if (selected == MIN)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int min = Integer.parseInt(splitTime [1].trim() );
time = splitTime[0] + ":" + Integer.toString(min - 1) + ":" + splitTime[2];
timeDisplay.setText(time); //modified time
}
}
else if (cmd.equals(okButton.getTe xt()))
{
//time should be stored in alarmDisplay
alarmStarted = true;
alarmTime = timeDisplay.getText();
selected = -1;
}
}
}
}
private void enableAllButtons()
{
downButton.setEnabled(true );
fastButton.setEnabled(true );
hourButton.setEnabled(true );
minutesButton.setEnabled(t rue);
modeButton.setEnabled(true );
okButton.setEnabled(true);
playButton.setEnabled(true );
recordButton.setEnabled(tr ue);
stopButton.setEnabled(true );
upButton.setEnabled(true);
}
private void advanceMode()
{
currentMode = modes.get(modeIndex++ % modes.size());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents()
{
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
timeDisplay = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
modeDisplay = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
modeButton = new javax.swing.JButton();
okButton = new javax.swing.JButton();
hourButton = new javax.swing.JButton();
minutesButton = new javax.swing.JButton();
recordButton = new javax.swing.JButton();
playButton = new javax.swing.JButton();
fastButton = new javax.swing.JButton();
stopButton = new javax.swing.JButton();
upButton = new javax.swing.JButton();
downButton = new javax.swing.JButton();
AlarmButtonSelectAction alarmButtonSelectAction = new AlarmButtonSelectAction();
setDefaultCloseOperation(j avax.swing .WindowCon stants.EXI T_ON_CLOSE );
setResizable(false);
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jLabel1.setFont(new java.awt.Font("Tahoma", 2, 18));
jLabel1.setForeground(new java.awt.Color(51, 51, 255));
jLabel1.setHorizontalAlign ment(javax .swing.Swi ngConstant s.CENTER);
jLabel1.setText("Audio Reminder Panel");
timeDisplay.setFont(new java.awt.Font("Tahoma", 0, 36));
timeDisplay.setForeground( new java.awt.Color(204, 0, 0));
timeDisplay.setHorizontalA lignment(j avax.swing .SwingCons tants.CENT ER);
timeDisplay.setText("00:00 :00");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jP anel1);
jPanel1.setLayout(jPanel1L ayout);
jPanel1Layout.setHorizonta lGroup(jPa nel1Layout .createPar allelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG).addCom ponent(tim eDisplay, javax.swing.GroupLayout.DE FAULT_SIZE , 439, Short.MAX_VALUE).addCompon ent(jLabel 1, javax.swing.GroupLayout.DE FAULT_SIZE , 439, Short.MAX_VALUE));
jPanel1Layout.setVerticalG roup(jPane l1Layout.c reateParal lelGroup(j avax.swing .GroupLayo ut.Alignme nt.LEADING ).addGroup (jPanel1La yout.creat eSequentia lGroup().a ddContaine rGap().add Component( jLabel1, javax.swing.GroupLayout.PR EFERRED_SI ZE, 26, javax.swing.GroupLayout.PR EFERRED_SI ZE).addPre ferredGap( javax.swin g.LayoutSt yle.Compon entPlaceme nt.RELATED ).addCompo nent(timeD isplay, javax.swing.GroupLayout.DE FAULT_SIZE , 47, Short.MAX_VALUE).addContai nerGap())) ;
jPanel2.setBackground(new java.awt.Color(0, 0, 0));
modeDisplay.setBackground( new java.awt.Color(255, 255, 255));
modeDisplay.setEditable(fa lse);
modeDisplay.setFont(new java.awt.Font("Tahoma", 1, 12));
modeDisplay.setHorizontalA lignment(j avax.swing .JTextFiel d.CENTER);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jP anel2);
jPanel2.setLayout(jPanel2L ayout);
jPanel2Layout.setHorizonta lGroup(jPa nel2Layout .createPar allelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG).addGro up(jPanel2 Layout.cre ateSequent ialGroup() .addGap(15 2, 152, 152).addComponent(modeDisp lay, javax.swing.GroupLayout.PR EFERRED_SI ZE, 129, javax.swing.GroupLayout.PR EFERRED_SI ZE).addCon tainerGap( 158, Short.MAX_VALUE)));
jPanel2Layout.setVerticalG roup(jPane l2Layout.c reateParal lelGroup(j avax.swing .GroupLayo ut.Alignme nt.LEADING ).addCompo nent(modeD isplay, javax.swing.GroupLayout.Al ignment.TR AILING, javax.swing.GroupLayout.DE FAULT_SIZE , 33, Short.MAX_VALUE));
jPanel3.setBackground(new java.awt.Color(255, 255, 255));
modeButton.setBackground(n ew java.awt.Color(0, 0, 0));
modeButton.setFont(new java.awt.Font("Tahoma", 1, 11));
modeButton.setForeground(n ew java.awt.Color(255, 255, 255));
modeButton.setText("Mode") ;
modeButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
okButton.setBackground(new java.awt.Color(0, 0, 0));
okButton.setFont(new java.awt.Font("Tahoma", 1, 11));
okButton.setForeground(new java.awt.Color(255, 255, 255));
okButton.setText("OK");
okButton.addActionListener (new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
okButton.addActionListener (alarmButt onSelectAc tion);
hourButton.setBackground(n ew java.awt.Color(0, 0, 0));
hourButton.setFont(new java.awt.Font("Tahoma", 1, 11));
hourButton.setForeground(n ew java.awt.Color(255, 255, 255));
hourButton.setText("Hour") ;
hourButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
hourButton.addActionListen er(alarmBu ttonSelect Action);
minutesButton.setBackgroun d(new java.awt.Color(0, 0, 0));
minutesButton.setFont(new java.awt.Font("Tahoma", 1, 11));
minutesButton.setForegroun d(new java.awt.Color(255, 255, 255));
minutesButton.setText("Min utes");
minutesButton.addActionLis tener(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
minutesButton.addActionLis tener(alar mButtonSel ectAction) ;
recordButton.setBackground (new java.awt.Color(0, 0, 0));
recordButton.setFont(new java.awt.Font("Tahoma", 1, 11));
recordButton.setForeground (new java.awt.Color(255, 255, 255));
recordButton.setText("Reco rd");
recordButton.addActionList ener(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
playButton.setBackground(n ew java.awt.Color(0, 0, 0));
playButton.setFont(new java.awt.Font("Tahoma", 1, 11));
playButton.setForeground(n ew java.awt.Color(255, 255, 255));
playButton.setText("Play") ;
playButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
fastButton.setBackground(n ew java.awt.Color(0, 0, 0));
fastButton.setFont(new java.awt.Font("Tahoma", 1, 11));
fastButton.setForeground(n ew java.awt.Color(255, 255, 255));
fastButton.setText("Fast") ;
fastButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
stopButton.setBackground(n ew java.awt.Color(0, 0, 0));
stopButton.setFont(new java.awt.Font("Tahoma", 1, 11));
stopButton.setForeground(n ew java.awt.Color(255, 255, 255));
stopButton.setText("Stop") ;
stopButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
upButton.setBackground(new java.awt.Color(0, 0, 0));
upButton.setFont(new java.awt.Font("Tahoma", 1, 11));
upButton.setForeground(new java.awt.Color(255, 255, 255));
upButton.setText("Up");
upButton.addActionListener (new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
upButton.addActionListener (alarmButt onSelectAc tion);
downButton.setBackground(n ew java.awt.Color(0, 0, 0));
downButton.setFont(new java.awt.Font("Tahoma", 1, 11));
downButton.setForeground(n ew java.awt.Color(255, 255, 255));
downButton.setText("Down") ;
downButton.addActionListen er(new java.awt.event.ActionListe ner()
{
public void actionPerformed(java.awt.e vent.Actio nEvent evt)
{
event(evt);
}
});
downButton.addActionListen er(alarmBu ttonSelect Action);
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jP anel3);
jPanel3.setLayout(jPanel3L ayout);
jPanel3Layout.setHorizonta lGroup(jPa nel3Layout .createPar allelGroup (javax.swi ng.GroupLa yout.Align ment.LEADI NG).addGro up(jPanel3 Layout.cre ateSequent ialGroup() .addContai nerGap().a ddGroup(jP anel3Layou t.createPa rallelGrou p(javax.sw ing.GroupL ayout.Alig nment.LEAD ING).addGr oup(jPanel 3Layout.cr eateSequen tialGroup( ).addCompo nent(modeB utton).add PreferredG ap(javax.s wing.Layou tStyle.Com ponentPlac ement.RELA TED).addCo mponent(ho urButton). addPreferr edGap(java x.swing.La youtStyle. ComponentP lacement.R ELATED).ad dComponent (recordBut ton).addPr eferredGap (javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D).addComp onent(fast Button).ad dPreferred Gap(javax. swing.Layo utStyle.Co mponentPla cement.REL ATED).addC omponent(u pButton)). addGroup(j Panel3Layo ut.createS equentialG roup().add Component( okButton). addPreferr edGap(java x.swing.La youtStyle. ComponentP lacement.R ELATED).ad dComponent (minutesBu tton).addP referredGa p(javax.sw ing.Layout Style.Comp onentPlace ment.RELAT ED).addCom ponent(pla yButton).a ddPreferre dGap(javax .swing.Lay outStyle.C omponentPl acement.RE LATED).add Component( stopButton ).addPrefe rredGap(ja vax.swing. LayoutStyl e.Componen tPlacement .RELATED). addCompone nt(downBut ton))).add ContainerG ap(javax.s wing.Group Layout.DEF AULT_SIZE, Short.MAX_VALUE)));
jPanel3Layout.linkSize(jav ax.swing.S wingConsta nts.HORIZO NTAL, new java.awt.Component[]{downB utton, fastButton, hourButton, minutesButton, modeButton, okButton, playButton, recordButton, stopButton, upButton});
jPanel3Layout.setVerticalG roup(jPane l3Layout.c reateParal lelGroup(j avax.swing .GroupLayo ut.Alignme nt.LEADING ).addGroup (jPanel3La yout.creat eSequentia lGroup().a ddContaine rGap().add Group(jPan el3Layout. createPara llelGroup( javax.swin g.GroupLay out.Alignm ent.BASELI NE).addCom ponent(mod eButton).a ddComponen t(fastButt on).addCom ponent(upB utton).add Component( recordButt on).addCom ponent(hou rButton, javax.swing.GroupLayout.PR EFERRED_SI ZE, 22, javax.swing.GroupLayout.PR EFERRED_SI ZE)).addPr eferredGap (javax.swi ng.LayoutS tyle.Compo nentPlacem ent.RELATE D, 15, Short.MAX_VALUE).addGroup( jPanel3Lay out.create ParallelGr oup(javax. swing.Grou pLayout.Al ignment.BA SELINE).ad dComponent (okButton) .addCompon ent(minute sButton).a ddComponen t(playButt on).addCom ponent(sto pButton).a ddComponen t(downButt on)).addGa p(19, 19, 19)));
jPanel3Layout.linkSize(jav ax.swing.S wingConsta nts.VERTIC AL, new java.awt.Component[]{downB utton, fastButton, minutesButton, modeButton, okButton, playButton, recordButton, stopButton, upButton});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(ge tContentPa ne());
getContentPane().setLayout (layout);
layout.setHorizontalGroup( layout.cre ateParalle lGroup(jav ax.swing.G roupLayout .Alignment .LEADING). addGroup(j avax.swing .GroupLayo ut.Alignme nt.TRAILIN G, layout.createSequentialGro up().addCo ntainerGap ().addGrou p(layout.c reateParal lelGroup(j avax.swing .GroupLayo ut.Alignme nt.TRAILIN G).addComp onent(jPan el3, javax.swing.GroupLayout.Al ignment.LE ADING, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE).addCompon ent(jPanel 2, javax.swing.GroupLayout.Al ignment.LE ADING, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE).addCompon ent(jPanel 1, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.DE FAULT_SIZE , Short.MAX_VALUE)).addConta inerGap()) );
layout.setVerticalGroup(la yout.creat eParallelG roup(javax .swing.Gro upLayout.A lignment.L EADING).ad dGroup(lay out.create Sequential Group().ad dContainer Gap().addC omponent(j Panel1, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE).addPre ferredGap( javax.swin g.LayoutSt yle.Compon entPlaceme nt.RELATED ).addCompo nent(jPane l2, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE).addGap (14, 14, 14).addComponent(jPanel3, javax.swing.GroupLayout.PR EFERRED_SI ZE, javax.swing.GroupLayout.DE FAULT_SIZE , javax.swing.GroupLayout.PR EFERRED_SI ZE).addCon tainerGap( javax.swin g.GroupLay out.DEFAUL T_SIZE, Short.MAX_VALUE)));
pack();
}// </editor-fold>
private void event(java.awt.event.Actio nEvent evt)
{
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invoke Later(new Runnable()
{
public void run()
{
new GuiPanel().setVisible(true );
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton downButton;
private javax.swing.JButton fastButton;
private javax.swing.JButton hourButton;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JButton minutesButton;
private javax.swing.JButton modeButton;
private javax.swing.JTextField modeDisplay;
private javax.swing.JButton okButton;
private javax.swing.JButton playButton;
private javax.swing.JButton recordButton;
private javax.swing.JButton stopButton;
private javax.swing.JLabel timeDisplay;
private javax.swing.JButton upButton;
private JLabel alarmTempDisplay;
// End of variables declaration
public javax.swing.JLabel getTimeDisplay()
{
return timeDisplay;
}
public void setTimeDisplay(javax.swing .JLabel timeDisplay)
{
this.timeDisplay = timeDisplay;
}
/**
* @param prn
*/
public void setDispProvider(DispTime prn)
{
dispProv = prn;
}
private DispTime dispProv;
}
import java.awt.Color;
import java.awt.Container;
import java.util.Calendar;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.Border;
import java.util.Calendar;
import java.util.Formatter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class DispTime extends JFrame implements Runnable
{
Calendar calendar;
int i;
JTextField time;
Thread t;
DispTime()
{
time = new JTextField();
time.setEditable(false);
t = new Thread(this);
t.start();
}
public void run()
{
String s;
while (true)
{
Calendar c = Calendar.getInstance();
StringBuilder builder = new StringBuilder();
Formatter formatter = new Formatter(builder);
formatter.format("%02d:%02 d:%02d", c.get(Calendar.HOUR), c.get(Calendar.MINUTE), c.get(Calendar.SECOND));
formatter.flush();
s = builder.toString();
try
{
t.sleep(1000);
}
catch (Exception e)
{
}
time.setText(" " + s);
listenerTF.setText(time.ge tText());
}
}
public static void main(String[] args)
{
final DispTime PRN = new DispTime();
final GuiPanel gp = new GuiPanel();
PRN.setDispListener(gp.get TimeDispla y());
gp.setDispProvider(PRN);
java.awt.EventQueue.invoke Later(new Runnable()
{
public void run()
{
gp.setVisible(true);
}
});
}
/**
* @param timeDisplay
*/
public void setDispListener(JLabel timeDisplay)
{
this.listenerTF = timeDisplay;
}
private JLabel listenerTF;
}
import java.awt.Color;
import java.awt.Container;
import java.util.Calendar;
import javax.swing.AbstractAction
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.Border;
import java.awt.event.ActionEvent
import javax.swing.JLabel;
public class GuiPanel extends javax.swing.JFrame
{
enum Mode {
Alarm, Timer, Clock, Date, Audio
};
private java.util.List<Mode> modes;
private int modeIndex;
private Mode currentMode;
boolean alarmStarted = false;
public String alarmTime;
// private/** Creates new form GuiPanel */
public GuiPanel()
{
initComponents();
initModes();
}
private void initModes()
{
modes = new java.util.ArrayList<Mode>(
for (Mode m : Mode.values())
{
modes.add(m);
}
modeButton.setAction(new AdvanceModeAction("Mode"))
}
private class AdvanceModeAction extends javax.swing.AbstractAction
{
public AdvanceModeAction(String name)
{
super(name);
}
public void actionPerformed(java.awt.e
{
advanceMode();
modeDisplay.setText(curren
enableAllButtons();
if (currentMode == Mode.Alarm)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
fastButton.setEnabled(fals
alarmTempDisplay = new JLabel(timeDisplay.getText
alarmStarted = false;
dispProv.setDispListener(a
}
else if (currentMode == Mode.Audio)
{
hourButton.setEnabled(fals
minutesButton.setEnabled(f
}
else if (currentMode == Mode.Clock)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
}
else if (currentMode == Mode.Date)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
}
else if (currentMode == Mode.Timer)
{
recordButton.setEnabled(fa
playButton.setEnabled(fals
stopButton.setEnabled(fals
dispProv.setDispListener(t
}
}
}
private class AlarmButtonSelectAction extends javax.swing.AbstractAction
{
public final int HR = 0;
public final int MIN = 1;
int selected = -1;
public void actionPerformed(ActionEven
{
String cmd = e.getActionCommand();
if (currentMode == Mode.Alarm)
{
if (cmd.equals(hourButton.get
{
selected = HR;
}
else if (cmd.equals(minutesButton.
{
selected = MIN;
}
else if (cmd.equals(upButton.getTe
{
if (selected == HR)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int hr = Integer.parseInt(splitTime
time = Integer.toString(hr + 1) + ":" + splitTime[1] + ":" + splitTime[2];
timeDisplay.setText(time);
}
else if (selected == MIN)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int min = Integer.parseInt(splitTime
time = splitTime[0] + ":" + Integer.toString(min + 1) + ":" + splitTime[2];
timeDisplay.setText(time);
}
}
else if (cmd.equals(downButton.get
{
if (selected == HR)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int hr = Integer.parseInt(splitTime
time = Integer.toString(hr - 1) + ":" + splitTime[1] + ":" + splitTime[2];
timeDisplay.setText(time);
}
else if (selected == MIN)
{
String time = timeDisplay.getText();
String[] splitTime = time.split(":");
int min = Integer.parseInt(splitTime
time = splitTime[0] + ":" + Integer.toString(min - 1) + ":" + splitTime[2];
timeDisplay.setText(time);
}
}
else if (cmd.equals(okButton.getTe
{
//time should be stored in alarmDisplay
alarmStarted = true;
alarmTime = timeDisplay.getText();
selected = -1;
}
}
}
}
private void enableAllButtons()
{
downButton.setEnabled(true
fastButton.setEnabled(true
hourButton.setEnabled(true
minutesButton.setEnabled(t
modeButton.setEnabled(true
okButton.setEnabled(true);
playButton.setEnabled(true
recordButton.setEnabled(tr
stopButton.setEnabled(true
upButton.setEnabled(true);
}
private void advanceMode()
{
currentMode = modes.get(modeIndex++ % modes.size());
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents()
{
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
timeDisplay = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
modeDisplay = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
modeButton = new javax.swing.JButton();
okButton = new javax.swing.JButton();
hourButton = new javax.swing.JButton();
minutesButton = new javax.swing.JButton();
recordButton = new javax.swing.JButton();
playButton = new javax.swing.JButton();
fastButton = new javax.swing.JButton();
stopButton = new javax.swing.JButton();
upButton = new javax.swing.JButton();
downButton = new javax.swing.JButton();
AlarmButtonSelectAction alarmButtonSelectAction = new AlarmButtonSelectAction();
setDefaultCloseOperation(j
setResizable(false);
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jLabel1.setFont(new java.awt.Font("Tahoma", 2, 18));
jLabel1.setForeground(new java.awt.Color(51, 51, 255));
jLabel1.setHorizontalAlign
jLabel1.setText("Audio Reminder Panel");
timeDisplay.setFont(new java.awt.Font("Tahoma", 0, 36));
timeDisplay.setForeground(
timeDisplay.setHorizontalA
timeDisplay.setText("00:00
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jP
jPanel1.setLayout(jPanel1L
jPanel1Layout.setHorizonta
jPanel1Layout.setVerticalG
jPanel2.setBackground(new java.awt.Color(0, 0, 0));
modeDisplay.setBackground(
modeDisplay.setEditable(fa
modeDisplay.setFont(new java.awt.Font("Tahoma", 1, 12));
modeDisplay.setHorizontalA
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jP
jPanel2.setLayout(jPanel2L
jPanel2Layout.setHorizonta
jPanel2Layout.setVerticalG
jPanel3.setBackground(new java.awt.Color(255, 255, 255));
modeButton.setBackground(n
modeButton.setFont(new java.awt.Font("Tahoma", 1, 11));
modeButton.setForeground(n
modeButton.setText("Mode")
modeButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
okButton.setBackground(new
okButton.setFont(new java.awt.Font("Tahoma", 1, 11));
okButton.setForeground(new
okButton.setText("OK");
okButton.addActionListener
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
okButton.addActionListener
hourButton.setBackground(n
hourButton.setFont(new java.awt.Font("Tahoma", 1, 11));
hourButton.setForeground(n
hourButton.setText("Hour")
hourButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
hourButton.addActionListen
minutesButton.setBackgroun
minutesButton.setFont(new java.awt.Font("Tahoma", 1, 11));
minutesButton.setForegroun
minutesButton.setText("Min
minutesButton.addActionLis
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
minutesButton.addActionLis
recordButton.setBackground
recordButton.setFont(new java.awt.Font("Tahoma", 1, 11));
recordButton.setForeground
recordButton.setText("Reco
recordButton.addActionList
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
playButton.setBackground(n
playButton.setFont(new java.awt.Font("Tahoma", 1, 11));
playButton.setForeground(n
playButton.setText("Play")
playButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
fastButton.setBackground(n
fastButton.setFont(new java.awt.Font("Tahoma", 1, 11));
fastButton.setForeground(n
fastButton.setText("Fast")
fastButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
stopButton.setBackground(n
stopButton.setFont(new java.awt.Font("Tahoma", 1, 11));
stopButton.setForeground(n
stopButton.setText("Stop")
stopButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
upButton.setBackground(new
upButton.setFont(new java.awt.Font("Tahoma", 1, 11));
upButton.setForeground(new
upButton.setText("Up");
upButton.addActionListener
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
upButton.addActionListener
downButton.setBackground(n
downButton.setFont(new java.awt.Font("Tahoma", 1, 11));
downButton.setForeground(n
downButton.setText("Down")
downButton.addActionListen
{
public void actionPerformed(java.awt.e
{
event(evt);
}
});
downButton.addActionListen
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jP
jPanel3.setLayout(jPanel3L
jPanel3Layout.setHorizonta
jPanel3Layout.linkSize(jav
jPanel3Layout.setVerticalG
jPanel3Layout.linkSize(jav
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(ge
getContentPane().setLayout
layout.setHorizontalGroup(
layout.setVerticalGroup(la
pack();
}// </editor-fold>
private void event(java.awt.event.Actio
{
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invoke
{
public void run()
{
new GuiPanel().setVisible(true
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton downButton;
private javax.swing.JButton fastButton;
private javax.swing.JButton hourButton;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JButton minutesButton;
private javax.swing.JButton modeButton;
private javax.swing.JTextField modeDisplay;
private javax.swing.JButton okButton;
private javax.swing.JButton playButton;
private javax.swing.JButton recordButton;
private javax.swing.JButton stopButton;
private javax.swing.JLabel timeDisplay;
private javax.swing.JButton upButton;
private JLabel alarmTempDisplay;
// End of variables declaration
public javax.swing.JLabel getTimeDisplay()
{
return timeDisplay;
}
public void setTimeDisplay(javax.swing
{
this.timeDisplay = timeDisplay;
}
/**
* @param prn
*/
public void setDispProvider(DispTime prn)
{
dispProv = prn;
}
private DispTime dispProv;
}
import java.awt.Color;
import java.awt.Container;
import java.util.Calendar;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.Border;
import java.util.Calendar;
import java.util.Formatter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class DispTime extends JFrame implements Runnable
{
Calendar calendar;
int i;
JTextField time;
Thread t;
DispTime()
{
time = new JTextField();
time.setEditable(false);
t = new Thread(this);
t.start();
}
public void run()
{
String s;
while (true)
{
Calendar c = Calendar.getInstance();
StringBuilder builder = new StringBuilder();
Formatter formatter = new Formatter(builder);
formatter.format("%02d:%02
formatter.flush();
s = builder.toString();
try
{
t.sleep(1000);
}
catch (Exception e)
{
}
time.setText(" " + s);
listenerTF.setText(time.ge
}
}
public static void main(String[] args)
{
final DispTime PRN = new DispTime();
final GuiPanel gp = new GuiPanel();
PRN.setDispListener(gp.get
gp.setDispProvider(PRN);
java.awt.EventQueue.invoke
{
public void run()
{
gp.setVisible(true);
}
});
}
/**
* @param timeDisplay
*/
public void setDispListener(JLabel timeDisplay)
{
this.listenerTF = timeDisplay;
}
private JLabel listenerTF;
}
Forced accept.
Computer101
EE Admin
Computer101
EE Admin
;JOOP!