/*
* Created on 08.11.2003
*/
package de.wannawork.jcalendar;
import java.awt.Component;
import java.awt.FlowLayout;
import java.util.Calendar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
* A class that creates a Dialog with a JCalendar.
* @author bodo
*/
public class JCalendarDialog {
/** Parent */
private Component _parentComponent;
/** Title of the Dialog */
private String _title;
/** Message in the Dialog*/
private String _message;
/** JCalendar in the Dialog */
private JCalendarComboBox _calendarBox;
/** Which OptionType */
private int _optionType;
/** Wich MessageType */
private int _messageType;
public JCalendarDialog(Component parentComponent, String title, String message) {
_parentComponent = parentComponent;
_title = title;
_message = message;
_calendarBox = new JCalendarComboBox();
_optionType = JOptionPane.OK_CANCEL_OPTION;
_messageType = JOptionPane.QUESTION_MESSAGE;
}
public JCalendarDialog(Component parentComponent, String title, String message, JCalendarComboBox calendarBox) {
_parentComponent = parentComponent;
_title = title;
_message = message;
_calendarBox = calendarBox;
_optionType = JOptionPane.OK_CANCEL_OPTION;
_messageType = JOptionPane.QUESTION_MESSAGE;
}
public JCalendarDialog(Component parentComponent, String title, String message, JCalendarComboBox calendarBox, int optionType, int messageType) {
_parentComponent = parentComponent;
_title = title;
_message = message;
_calendarBox = calendarBox;
_optionType = optionType;
_messageType = messageType;
}
public JCalendarDialog(Component parentComponent, String title, String message, int optionType, int messageType) {
_parentComponent = parentComponent;
_title = title;
_message = message;
_optionType = optionType;
_messageType = messageType;
_calendarBox = new JCalendarComboBox();
}
/** * Gets the Calendar from the Dialog
*/
public Calendar getCalendar() {
return getCalendar(JOptionPane.OK_OPTION);
}
/**
* Returns the Calendar if a certain MessageOption was
* returnd by the Dialog
*/
public Calendar getCalendar(int messageOption) {
if (showConfirmDialog() == messageOption) {
return _calendarBox.getCalendar();
} else {
return null;
}
}
/**
* Creates the Dialog and returns the Result
* @param MessageOption that was pressed
*/
private int showConfirmDialog() {
JTextField tf = new JTextField();
JPanel calPanel = new JPanel();
FlowLayout layout = new FlowLayout();
layout.setAlignment(FlowLayout.LEFT);
layout.setHgap(0);
layout.setVgap(0);
calPanel.setLayout(layout);
calPanel.add(_calendarBox);
Object[] msg = { _message, calPanel };
int result = JOptionPane.showConfirmDialog(_parentComponent, msg, _title, _optionType, _messageType);
return result;
}
}