/* * Preview Dialog - A Preview Dialog for your Swing Applications Copyright (C) * 2003 Jens Kaiser. Written by: 2003 Jens Kaiser <jens.kaiser@web.de> This * program is free software; you can redistribute it and/or modify it under the * terms of the GNU Library General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) any * later version. This program is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library * General Public License for more details. You should have received a copy of * the GNU Library General Public License along with this program; if not, write * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, * USA. */ package org.freeplane.features.print; import java.awt.EventQueue; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JLabel; class BrowseAction extends AbstractAction { /** * */ private static final long serialVersionUID = 1L; final private Runnable pageIndexPainter; final private JLabel pageNumber; protected int pageStep; protected Preview preview; public BrowseAction(final Preview preview, final JLabel pageNumber, final int pageStep) { super(); this.preview = preview; this.pageStep = pageStep; this.pageNumber = pageNumber; pageIndexPainter = new Runnable() { public void run() { paintPageIndex(); } }; } public void actionPerformed(final ActionEvent e) { preview.moveIndex(pageStep); paintPageIndex(); preview.repaint(); EventQueue.invokeLater(pageIndexPainter); } private String getPageIndexText() { return "- " + String.valueOf(1 + preview.getPageIndex()) + " -"; } private void paintPageIndex() { pageNumber.setText(getPageIndexText()); pageNumber.paintImmediately(0, 0, pageNumber.getWidth(), pageNumber.getHeight()); } }