Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package de.ipk_gatersleben.bit.bi.edal.rmi.client.gui;
  
  import java.awt.Color;
  import java.awt.Dimension;
  import java.awt.Font;
 import java.util.Date;
 
 
 
 public class EdalDatePanel  extends JPanel implements ActionListener,	ChangeListener{
 	private static final long serialVersionUID = 1L;
 	
 	private int startYear = 1;
 	private int lastYear = 5000;
 	
 	private static final Font FONT = new Font("Courier New"., 12);
 	
 	private Color weekFontColor = .;
 	private Color dateFontColor = .;
 	private Color weekendFontColor = .;
 	
 	private static final String CENTURY = "Century";
 	private static final String DECADE = "Decade";
 	private static final String YEAR = "Year";
 	private static final String MONTH = "Month";
 	private static final String DAY = "Day";
 	private static final String HOUR = "Hour";
 	private static final String MINUTE = "Minute";
 	private static final String SECOND = "Second";
 	private static final String MILLISECOND = "Millisecond";
 
 	private JSpinner yearSpin;
 	private JSpinner monthSpin;
 	private JSpinner daySpin;
 	private JSpinner hourSpin;
 	private JSpinner minuteSpin;
 	private JSpinner secondSpin;
 
 	private JButton[][] daysButton = new JButton[6][7];
 	
 	private Calendar showcalendar;
 	
 	public EdalDatePanel(EdalDate edaldate,boolean showprecision)
 	{
 		if (edaldate != null) {
 			this. = edaldate.getStartDate();
 			this. = edaldate.getStartPrecision();
 		} else {
 			this. = Calendar.getInstance();
 		}
 		
 		if(showprecision)
 		{
 			JPanel toppanel = createprecisionPanel();
 			add(toppanel.);
 			JPanel controlpanel = createYearAndMonthPanel();
 			add(controlpanel.);
 			JPanel displaypanel = createWeekAndDayPanel();
 			add(displaypanel.);
 		}
 		else
 		{
 			JPanel controlpanel = createYearAndMonthPanel();
 			add(controlpanel.);
 			JPanel displaypanel = createWeekAndDayPanel();
 			add(displaypanel.);
 		}
 		
 	}
 	
 	private JPanel createprecisionPanel() {
 		JPanel result = new JPanel();
		result.setLayout(new FlowLayout());
		ButtonGroup g = new ButtonGroup();
		final JRadioButton centuryrb = new JRadioButton();
		if ( != null
			centuryrb.setSelected(true);
		}
		centuryrb.addActionListener(this);
		g.add(centuryrb);
		result.add(centuryrb);
		JRadioButton decaderb = new JRadioButton();
		if ( != null
			decaderb.setSelected(true);
		}
		decaderb.addActionListener(this);
		g.add(decaderb);
		result.add(decaderb);
		JRadioButton yearrb = new JRadioButton();
		if ( != null
			yearrb.setSelected(true);
		}
		yearrb.addActionListener(this);
		g.add(yearrb);
		result.add(yearrb);
		JRadioButton monthrb = new JRadioButton();
		if ( != null
			monthrb.setSelected(true);
		}
		monthrb.addActionListener(this);
		g.add(monthrb);
		result.add(monthrb);
		JRadioButton dayrb = new JRadioButton();
		if ( != null
			dayrb.setSelected(true);
		}
		dayrb.addActionListener(this);
		g.add(dayrb);
		result.add(dayrb);
		JRadioButton hourrb = new JRadioButton();
		if ( != null
			hourrb.setSelected(true);
		}
		hourrb.addActionListener(this);
		g.add(hourrb);
		result.add(hourrb);
		JRadioButton minuterb = new JRadioButton();
		if ( != null
			minuterb.setSelected(true);
		}
		minuterb.addActionListener(this);
		g.add(minuterb);
		result.add(minuterb);
		JRadioButton secondrb = new JRadioButton();
		if ( != null
			secondrb.setSelected(true);
		}
		secondrb.addActionListener(this);
		g.add(secondrb);
		result.add(secondrb);
		JRadioButton millisecondrb = new JRadioButton();
		if ( != null
			millisecondrb.setSelected(true);
		}
		millisecondrb.addActionListener(this);
		g.add(millisecondrb);
		result.add(millisecondrb);
		if ( == null) {
			secondrb.setSelected(true);
		}
		return result;
	}
		int currentYear = c.get(.);
		int currentMonth = c.get(.) + 1;
		int currentday = c.get(.);
		int currentHour = c.get(.);
		int currentMinute = c.get(.);
		int currentSecond = c.get(.);
		int currentMillisecond = c.get(.);
		JPanel result = new JPanel();
		result.setLayout(new FlowLayout());
		JLabel yearLabel = new JLabel();
		result.add(yearLabel);
		 = new JSpinner(new SpinnerNumberModel(currentYear,
				, 1));
		result.add();
		JLabel monthLabel = new JLabel();
		result.add(monthLabel);
		 = new JSpinner(new SpinnerNumberModel(currentMonth, 1, 12, 1));
		result.add();
		JLabel dayLabel = new JLabel();
		result.add(dayLabel);
		 = new JSpinner(getdaymodel(currentYearcurrentMonth,
				currentday));
		result.add();
		JLabel hourLabel = new JLabel();
		result.add(hourLabel);
		 = new JSpinner(new SpinnerNumberModel(currentHour, 0, 23, 1));
		result.add();
		JLabel minuteLabel = new JLabel();
		result.add(minuteLabel);
		 = new JSpinner(new SpinnerNumberModel(currentMinute, 0, 59,
				1));
		result.add();
		JLabel secondLabel = new JLabel();
		result.add(secondLabel);
		 = new JSpinner(new SpinnerNumberModel(currentSecond, 0, 59,
				1));
		result.add();
		JLabel millisecondLabel = new JLabel();
		result.add(millisecondLabel);
				currentMillisecond, 0, 999, 1));
		return result;
	}
		String colname[] = { "Sunday""Monday""Tuesday ""Wednesday",
				"Thursday""Friday""Saturday " };
		JPanel result = new JPanel();
		result.setFont();
		result.setLayout(new GridLayout(7, 7));
		JLabel cell;
		for (int i = 0; i < 7; i++) {
			cell = new JLabel(colname[i]);
			if (i == 0 || i == 6)
			else
			result.add(cell);
		}
		int actionCommandId = 0;
		for (int i = 0; i < 6; i++)
			for (int j = 0; j < 7; j++) {
				JButton numberButton = new JButton();
				numberButton.setBorder(null);
				numberButton.setActionCommand(String.valueOf(actionCommandId));
				numberButton.addActionListener(this);
				if (j == 0 || j == 6)
				else
				[i][j] = numberButton;
				result.add(numberButton);
				actionCommandId++;
			}
		return result;
	}
	public Calendar getCalendar() {
		if ( == null) {
			 = Calendar.getInstance();
		}
		return ;
	}
	}
	public void reset() {		
		this. = Calendar.getInstance();
	}
	private Date getDate() {
		return this..getTime();
	}
	private SpinnerNumberModel getdaymodel(int currentYearint currentMonth,
			int currentday) {
		int minday = 1;
		int maxday = 30;
		if (currentMonth == 1 || currentMonth == 3 || currentMonth == 5
				|| currentMonth == 7 || currentMonth == 8 || currentMonth == 10
				|| currentMonth == 12) {
			maxday = 31;
else if (currentMonth == 2) {
			if (isleapyear(currentYear)) {
				maxday = 29;
else {
				maxday = 28;
			}
		}
		return new SpinnerNumberModel(currentdaymindaymaxday, 1);
	}
	private boolean isleapyear(int year) {
		if (year % 100 == 0) {
			if (year % 400 == 0) {
				return true;
			}
else {
			if (year % 4 == 0) {
				return true;
			}
		}
		return false;
	}
	private int getSelectedYear() {
	}
	private int getSelectedMonth() {
	}
	private int getSelectedDay() {
		return ((Integer.getValue()).intValue();
	}
	private int getSelectedHour() {
	}
	private int getSelectedMinite() {
	}
	private int getSelectedSecond() {
	}
	private int getSelectedMillisecond() {
	}
	private void refreshdayspin(int currentYearint currentMonth,
			int currentday) {
		.setModel(getdaymodel(currentYearcurrentMonthcurrentday));
	}
	public void flushWeekAndDay() {
		int curday = c.get(.);
		int dayNo = 2 - c.get(.);
		for (int i = 0; i < 6; i++) {
			for (int j = 0; j < 7; j++) {
				String s = "";
				if (dayNo >= 1 && dayNo <= maxDayNo)
					s = String.valueOf(dayNo);
				dayNo++;
				if (j == 0 || j == 6)
				else
			}
		}
	}
	public void stateChanged(ChangeEvent e) {
		JSpinner source = (JSpinnere.getSource();
		if (source.getName().equals("Day")) {
			return;
		}
		if (source.getName().equals("Hour")) {
			return;
		}
		if (source.getName().equals("Minute")) {
			return;
		}
		if (source.getName().equals("Second")) {
			return;
		}
		if (source.getName().equals("Millisecond")) {
			return;
		}
		if (source.getName().equals("Year")) {
else if (source.getName().equals("Month")) {
		}
	}
	private void changeSpinnerStatus(boolean enableYearSpinner,
			boolean enableMonthSpinnerboolean enableDaySpinner,
			boolean enableHourSpinnerboolean enableMinuteSpinner,
			boolean enableSecondSpinnerboolean enableMillisecondSpinner,
			boolean enableDisplayButtons) {
		.setEnabled(enableYearSpinner);
		.setEnabled(enableMonthSpinner);
		.setEnabled(enableDaySpinner);
		.setEnabled(enableHourSpinner);
		.setEnabled(enableMinuteSpinner);
		.setEnabled(enableSecondSpinner);
		.setEnabled(enableMillisecondSpinner);
		enabledisplaybuttons(enableDaySpinner);
	}
	private void enabledisplaybuttons(boolean enable) {
		for (int i = 0; i < .i++) {
			for (int j = 0; j < [i].lengthj++) {
				[i][j].setEnabled(enable);
			}
		}
	}
	public void actionPerformed(ActionEvent e) {
		String classname = e.getSource().getClass().getName();
		if (classname.equals("javax.swing.JButton")) {
			JButton source = (JButtone.getSource();
			if (source.getText().length() == 0)
				return;
			if(!source.isEnabled())
			{
				return;
			}
			int newDay = Integer.parseInt(source.getText());
			.setValue(Integer.valueOf(newDay));
else if (classname.equals("javax.swing.JRadioButton")) {
			if (source.isSelected()) {
				switch (source.getText()) {
				case :
					changeSpinnerStatus(falsefalsefalsefalsefalse,
							falsefalsefalse);
					break;
				case :
					changeSpinnerStatus(falsefalsefalsefalsefalse,
							falsefalsefalse);
					break;
				case :
					changeSpinnerStatus(truefalsefalsefalsefalse,
							falsefalsefalse);
					break;
				case :
					changeSpinnerStatus(truetruefalsefalsefalsefalse,
							falsefalse);
					break;
				case :
					changeSpinnerStatus(truetruetruefalsefalsefalse,
							falsetrue);
					break;
				case :
					changeSpinnerStatus(truetruetruetruefalsefalse,
							falsetrue);
					break;
				case :
					changeSpinnerStatus(truetruetruetruetruefalse,
							falsetrue);
					break;
				case :
					changeSpinnerStatus(truetruetruetruetruetrue,
							falsetrue);
					break;
					changeSpinnerStatus(truetruetruetruetruetrue,
							truetrue);
					break;
				default:
					break;
				}
			}
		}
	}
	private int formatyeartocentury(int year) {
		if (year < 100) {
			return 0;
		}
		int century = year / 100;
		return (century) * 100;
	}
	private int formatyeartodecade(int year) {
		if (year < 10) {
			return 0;
		}
		int century = year / 10;
		return (century) * 10;
	}
	public void refreshtime() {
		if ( == null) {
		}
		if ( != null
else if ( != null
else if ( != null
else if ( != null
else if ( != null
else if ( != null
else if ( != null
else if ( != null
else if ( != null
		}
	}