added a date picker dialog to make it easier to enter dates into searches
This commit is contained in:
@@ -3,5 +3,6 @@
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="lib/sqlitejdbc-v056.jar"/>
|
||||
<classpathentry kind="lib" path="lib/jcalendar-1.3.3.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
BIN
Order Processor/lib/jcalendar-1.3.3.jar
Normal file
BIN
Order Processor/lib/jcalendar-1.3.3.jar
Normal file
Binary file not shown.
@@ -110,7 +110,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return seconds
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private byte getSecond() {
|
||||
public byte getSecond() {
|
||||
return this.mSecond;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return minutes
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private byte getMinute() {
|
||||
public byte getMinute() {
|
||||
return this.mMinute;
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return hours
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private byte getHour() {
|
||||
public byte getHour() {
|
||||
return this.mHour;
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return day
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private byte getDay() {
|
||||
public byte getDay() {
|
||||
return this.mDay;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return month
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private byte getMonth() {
|
||||
public byte getMonth() {
|
||||
return this.mMonth;
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ public class Date implements Comparable<Date>, Serializable{
|
||||
* @return year
|
||||
* @author ricky barrette
|
||||
*/
|
||||
private int getYear() {
|
||||
public int getYear() {
|
||||
return this.mYear;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* DatePickerInterface.java
|
||||
* @date Jan 10, 2011
|
||||
* @author ricky barrette
|
||||
* @author Twenty Codes, LLC
|
||||
*/
|
||||
package com.TwentyCodes.java.OrderProcessor;
|
||||
|
||||
|
||||
/**
|
||||
* the interface for the DatePicker
|
||||
* @author ricky barrette
|
||||
*/
|
||||
public interface DatePickerListener {
|
||||
|
||||
public void onDatePicked(int resultCode, Date date);
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
/**
|
||||
* Test.java
|
||||
* @date Jan 10, 2011
|
||||
* @author ricky barrette
|
||||
* @author Twenty Codes, LLC
|
||||
*/
|
||||
package com.TwentyCodes.java.OrderProcessor.UI;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.HeadlessException;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
import com.TwentyCodes.java.OrderProcessor.Date;
|
||||
import com.TwentyCodes.java.OrderProcessor.DatePickerListener;
|
||||
import com.TwentyCodes.java.OrderProcessor.InvalidDateFormatException;
|
||||
import com.toedter.calendar.JCalendar;
|
||||
|
||||
/**
|
||||
* a simple date picker window that allows the user to easily pick a date
|
||||
* @author ricky barrette
|
||||
*/
|
||||
public class DatePicker extends JFrame implements ActionListener {
|
||||
|
||||
private static final long serialVersionUID = -8460535573336456875L;
|
||||
private JCalendar mCalendar;
|
||||
private JButton mOkButton;
|
||||
private JTextField mHours;
|
||||
private JTextField mSeconds;
|
||||
private JTextField mMinutes;
|
||||
private DatePickerListener mListener;
|
||||
private JLabel mFailLabel;
|
||||
private int mResultCode;
|
||||
|
||||
/**
|
||||
* Creates a new Test
|
||||
* @throws HeadlessException
|
||||
* @author ricky barrette
|
||||
*/
|
||||
public DatePicker(int resultCode, DatePickerListener listener) {
|
||||
mResultCode = resultCode;
|
||||
mListener = listener;
|
||||
|
||||
//Time fields
|
||||
JPanel p = new JPanel();
|
||||
p.add(new JLabel("Hours:"));
|
||||
mHours = new JTextField();
|
||||
mHours.setColumns(10);
|
||||
p.add(mHours);
|
||||
p.add(new JLabel("Minutes:"));
|
||||
mMinutes = new JTextField();
|
||||
mMinutes.setColumns(10);
|
||||
p.add(mMinutes);
|
||||
p.add(new JLabel("Seconds:"));
|
||||
mSeconds = new JTextField();
|
||||
mSeconds.setColumns(10);
|
||||
p.add(mSeconds);
|
||||
this.getContentPane().add(p, BorderLayout.NORTH);
|
||||
|
||||
//Calender
|
||||
mCalendar = new JCalendar();
|
||||
this.getContentPane().add(mCalendar, BorderLayout.CENTER);
|
||||
|
||||
//ok button
|
||||
mOkButton = new JButton("Ok");
|
||||
mOkButton.addActionListener(this);
|
||||
this.getContentPane().add(mOkButton, BorderLayout.SOUTH);
|
||||
|
||||
//fail label
|
||||
mFailLabel = new JLabel("Invalid entry");
|
||||
mFailLabel.setVisible(false);
|
||||
p.add(mFailLabel);
|
||||
|
||||
pack();
|
||||
this.setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
try {
|
||||
mListener.onDatePicked(mResultCode, new Date("\""+
|
||||
mCalendar.getYearChooser().getYear()+"-"+ (mCalendar.getMonthChooser().getMonth()+1) +"-"+ mCalendar.getDayChooser().getDay() +
|
||||
" "+ Integer.parseInt(mHours.getText())+":"+ Integer.parseInt(mMinutes.getText())+":"+ Integer.parseInt(mSeconds.getText())+"\""));
|
||||
this.setVisible(false);
|
||||
} catch (NumberFormatException e1) {
|
||||
e1.printStackTrace();
|
||||
mFailLabel.setVisible(true);
|
||||
pack();
|
||||
} catch (InvalidDateFormatException e1) {
|
||||
e1.printStackTrace();
|
||||
mFailLabel.setVisible(true);
|
||||
pack();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,8 @@ package com.TwentyCodes.java.OrderProcessor.UI;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@@ -21,6 +23,7 @@ import javax.swing.JProgressBar;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
import com.TwentyCodes.java.OrderProcessor.Date;
|
||||
import com.TwentyCodes.java.OrderProcessor.DatePickerListener;
|
||||
import com.TwentyCodes.java.OrderProcessor.InvalidDateFormatException;
|
||||
import com.TwentyCodes.java.OrderProcessor.Main;
|
||||
import com.TwentyCodes.java.OrderProcessor.Order;
|
||||
@@ -30,9 +33,11 @@ import com.TwentyCodes.java.OrderProcessor.ProgressListener;
|
||||
* This class will be the dialog that will ask the user for a specific make to show
|
||||
* @author ricky barrette
|
||||
*/
|
||||
public class SearchDialog extends JFrame implements ActionListener, ProgressListener {
|
||||
public class SearchDialog extends JFrame implements ActionListener, ProgressListener, MouseListener, DatePickerListener {
|
||||
|
||||
private static final long serialVersionUID = 1750326106927701404L;
|
||||
private static final int END_DATE_RESULT = 1;
|
||||
private static final int START_DATE_RESULT = 0;
|
||||
private JButton mOkButton;
|
||||
private JTextField mTextField;
|
||||
private JProgressBar mProgressBar;
|
||||
@@ -68,12 +73,14 @@ public class SearchDialog extends JFrame implements ActionListener, ProgressList
|
||||
mStartDateField = new JTextField();
|
||||
panel.add(mStartDateField);
|
||||
mStartDateField.setColumns(12);
|
||||
mStartDateField.addMouseListener(this);
|
||||
|
||||
//end date
|
||||
panel.add(new JLabel("End Date:"));
|
||||
mEndDateField = new JTextField();
|
||||
panel.add(mEndDateField);
|
||||
mEndDateField.setColumns(12);
|
||||
mEndDateField.addMouseListener(this);
|
||||
|
||||
//ok button
|
||||
mOkButton = new JButton("Ok");
|
||||
@@ -182,4 +189,58 @@ public class SearchDialog extends JFrame implements ActionListener, ProgressList
|
||||
mProgressBar.setValue(progress);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if(e.getSource() == mEndDateField){
|
||||
new DatePicker(END_DATE_RESULT, this);
|
||||
}
|
||||
|
||||
if(e.getSource() == mStartDateField){
|
||||
new DatePicker(START_DATE_RESULT, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDatePicked(int resultCode, Date date) {
|
||||
switch(resultCode){
|
||||
case START_DATE_RESULT:
|
||||
mStartDateField.setText(date.getYear()+"-"+date.getMonth()+"-"+date.getDay()+" "+date.getHour()+":"+date.getMinute()+":"+date.getSecond());
|
||||
break;
|
||||
case END_DATE_RESULT:
|
||||
mEndDateField.setText(date.getYear()+"-"+date.getMonth()+"-"+date.getDay()+" "+date.getHour()+":"+date.getMinute()+":"+date.getSecond());
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ public class ShowAllDialog extends JFrame implements ActionListener, ProgressLis
|
||||
|
||||
private static final long serialVersionUID = -8416144493079733535L;
|
||||
private JProgressBar mProgressBar;
|
||||
private OrderPane mOutput;
|
||||
|
||||
/**
|
||||
* Creates a new ShowAllDialog
|
||||
@@ -36,10 +37,10 @@ public class ShowAllDialog extends JFrame implements ActionListener, ProgressLis
|
||||
setTitle("Show All Orders");
|
||||
JButton ok = new JButton("Ok");
|
||||
ok.addActionListener(this);
|
||||
final OrderPane output = new OrderPane();
|
||||
mOutput = new OrderPane();
|
||||
mProgressBar = new JProgressBar();
|
||||
getContentPane().add(mProgressBar, BorderLayout.SOUTH);
|
||||
this.getContentPane().add(output, BorderLayout.CENTER);
|
||||
this.getContentPane().add(mOutput, BorderLayout.CENTER);
|
||||
this.getContentPane().add(ok, BorderLayout.NORTH);
|
||||
try {
|
||||
mProgressBar.setMaximum(MainWindow.db.getCount());
|
||||
@@ -49,11 +50,12 @@ public class ShowAllDialog extends JFrame implements ActionListener, ProgressLis
|
||||
mProgressBar.setString("Loading from Database");
|
||||
mProgressBar.setStringPainted(true);
|
||||
MainWindow.db.setOnProgressListerner(this);
|
||||
pack();
|
||||
|
||||
java.util.concurrent.Executors.newSingleThreadExecutor().submit(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
output.displayOrders(MainWindow.db.getAllOrders());
|
||||
mOutput.displayOrders(MainWindow.db.getAllOrders());
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
@@ -64,11 +66,10 @@ public class ShowAllDialog extends JFrame implements ActionListener, ProgressLis
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
pack();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
pack();
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user