/* * GraphNavigatePane.java * * Created on 11 ������ 2006 �., 21:31 * */ package datechooser.view; import datechooser.view.pic.ViewPictures; import java.awt.*; import java.awt.event.*; import java.awt.geom.Rectangle2D; import java.io.File; import java.net.URL; import javax.imageio.ImageIO; import javax.swing.*; /** * Button navigation panel.<br> * ��������� ������������� ������. * @author Androsov Vadim * @since 1.0 * @see datechooser.view.AbstractNavigatePane */ public class ButtonNavigatePane extends AbstractNavigatePane { private static final int BORDER = 3; private JLabel showYearMonth; private int currentMonth; private int currentYear; private JButton bPrevYear; private JButton bPrevMonth; private JButton bNothing; private JButton bNextMonth; private JButton bNextYear; public ButtonNavigatePane() { showYearMonth = new JLabel("", JLabel.CENTER); initMonthList(); showYearMonth.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); JPanel pRight = new JPanel(new GridLayout(1, 5)); OnClick onClick = new OnClick(); bPrevYear = new JButton(new ImageIcon( ViewPictures.class.getResource("prev_year.gif"))); bPrevYear.addActionListener(onClick); bPrevMonth = new JButton(new ImageIcon( ViewPictures.class.getResource("prev_month.gif"))); bPrevMonth.addActionListener(onClick); bNothing = new JButton(new ImageIcon( ViewPictures.class.getResource("nothing.gif"))); bNothing.addActionListener(onClick); bNextMonth = new JButton(new ImageIcon( ViewPictures.class.getResource("next_month.gif"))); bNextMonth.addActionListener(onClick); bNextYear = new JButton(new ImageIcon( ViewPictures.class.getResource("next_year.gif"))); bNextYear.addActionListener(onClick); pRight.add(bPrevYear); pRight.add(bPrevMonth); pRight.add(bNothing); pRight.add(bNextMonth); pRight.add(bNextYear); setLayout(new BorderLayout(5, 0)); add(showYearMonth, BorderLayout.WEST); add(pRight, BorderLayout.CENTER); } private String getDateText() { return monthsList[currentMonth] + " " + currentYear; } public void updateMonthControl() { showYearMonth.setText(getDateText()); } public int getMonth() { return currentMonth; } public int getYear() { return currentYear; } public void setMonth(int aMonth) { currentMonth = aMonth; updateMonthControl(); } public void setYear(int aYear) { currentYear = aYear; updateMonthControl(); } public void setFont(Font font) { super.setFont(font); if (showYearMonth != null) { showYearMonth.setFont(font); } } private class OnClick implements ActionListener { public void actionPerformed(ActionEvent e) { JButton src = (JButton) e.getSource(); if (src == bNothing) { getModel().selectNothing(); return; } if (src == bPrevYear) { currentYear--; } if (src == bNextYear) { currentYear++; } if (src == bPrevMonth) { if (currentMonth > 0) { currentMonth--; } else { currentMonth = 11; } } if (src == bNextMonth) { if (currentMonth < 11) { currentMonth++; } else { currentMonth = 0; } } someChanged(); } } public void setEnabled(boolean enabled) { super.setEnabled(enabled); bPrevYear.setEnabled(enabled); bPrevMonth.setEnabled(enabled); bNextMonth.setEnabled(enabled); bNextYear.setEnabled(enabled); bNothing.setEnabled(isNothingSelectEnabled() ? enabled : false); } public void applyNothingSelectEnabled(boolean enabled) { // boolean wasEnabled = bNothing.isEnabled(); bNothing.setEnabled(enabled); // firePropertyChange("enabled", wasEnabled, enabled); } }