/** * @author Daniel Faria Jr. RA:962137 * @version 1.0 * Data: 04/06/2001 */ package pckInterface; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class Painel extends JPanel { private Rule columnView; private Rule rowView; private JToggleButton isMetric; private ScrollablePicture picture; public Painel() { /* * An easy way to put space between a top-level container * and its contents is to put the contents in a JPanel * that has an "empty" border. */ //JPanel pane = new JPanel(); /*pane.setBorder(BorderFactory.createEmptyBorder( 30, //top 30, //left 10, //bottom 30) //right );*/ // Start loading the image icon now. ImageIcon mapa = new ImageIcon(Constantes.dirImagens + "/big-thumb.jpg"); // Create the row and column headers. columnView = new Rule(Rule.HORIZONTAL, true); columnView.setPreferredWidth(mapa.getIconWidth()); rowView = new Rule(Rule.VERTICAL, true); rowView.setPreferredHeight(mapa.getIconHeight()); // Create the corners. JPanel buttonCorner = new JPanel(); isMetric = new JToggleButton("cm", true); isMetric.setFont(new Font("SansSerif", Font.PLAIN, 11)); isMetric.setMargin(new Insets(2,2,2,2)); isMetric.addItemListener(new UnitsListener()); buttonCorner.add(isMetric); //Use the default FlowLayout // Set up the scroll pane. picture = new ScrollablePicture(mapa, columnView.getIncrement()); JScrollPane pictureScrollPane = new JScrollPane(picture); pictureScrollPane.setPreferredSize(new Dimension(300, 250)); pictureScrollPane.setViewportBorder( BorderFactory.createLineBorder(Color.black)); pictureScrollPane.setColumnHeaderView(columnView); pictureScrollPane.setRowHeaderView(rowView); pictureScrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, buttonCorner); pictureScrollPane.setCorner(JScrollPane.LOWER_LEFT_CORNER, new Corner()); pictureScrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER, new Corner()); // Put it in this panel. setLayout(new BorderLayout()); setPreferredSize(new Dimension(300, 250)); add(pictureScrollPane, BorderLayout.CENTER); //setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); //add(pictureScrollPane); //add(toolBar); //setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); } class UnitsListener implements ItemListener { public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { // Turn it to metric. rowView.setIsMetric(true); columnView.setIsMetric(true); } else { // Turn it to inches. rowView.setIsMetric(false); columnView.setIsMetric(false); } picture.setMaxUnitIncrement(rowView.getIncrement()); } } }