📄 displaythreesynchronizedimages.java
字号:
/* * Created on May 22, 2005 * @author Rafael Santos (rafael.santos@lac.inpe.br) * * Part of the Java Advanced Imaging Stuff site * (http://www.lac.inpe.br/~rafael.santos/Java/JAI) * * STATUS: Complete. * * Redistribution and usage conditions must be done under the * Creative Commons license: * English: http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.en * Portuguese: http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.pt * More information on design and applications are on the projects' page * (http://www.lac.inpe.br/~rafael.santos/Java/JAI). */import java.awt.GridLayout;import java.awt.event.AdjustmentEvent;import java.awt.image.RenderedImage;import javax.swing.JScrollPane;/** * This class represents a Panel which contains three instances of * DisplayJAIWithPixelInfo. * The scrolling bars of all images are synchronized so scrolling one image * will automatically scroll the others. */public class DisplayThreeSynchronizedImages extends DisplayTwoSynchronizedImages { /** The DisplayJAIWithPixelInfor for the third image. */ protected DisplayJAIWithPixelInfo dj3; /** The JScrollPane which will contain the third image */ protected JScrollPane jsp3; /** * Constructs an instance of this class, setting the components' layout, * creating three instances of DisplayJAI for the three images and creating/ * registering event handlers for the scroll bars. * @param im1 the first image (left side) * @param im2 the second image (middle) * @param im3 the third image (right side) */ public DisplayThreeSynchronizedImages(RenderedImage im1,RenderedImage im2,RenderedImage im3) { super(im1,im2); setLayout(new GridLayout(1,3)); // Instance of DisplayJAIWithPixelInfo for the third image. dj3 = new DisplayJAIWithPixelInfo(im3); jsp3 = new JScrollPane(dj3); // JScrollPane for that instance. add(jsp3); // Retrieve the scroll bars of the images and registers adjustment // listeners to them. // Horizontal scroll bar of the third image. jsp3.getHorizontalScrollBar().addAdjustmentListener(this); // Vertical scroll bar of the third image. jsp3.getVerticalScrollBar().addAdjustmentListener(this); } /** * This method changes the image displayed in the right DisplayJAI instance. * @param newImage the new image */ public void setImage3(RenderedImage newimage) { dj3.set(newimage); repaint(); } /** * This method returns the third image. * @return the third image. */ public RenderedImage getImage3() { return dj3.getSource(); } /** * This method returns the third DisplayJAI component. * @return the third DisplayJAI component. */ public DisplayJAIWithPixelInfo getDisplayJAIComponent3() { return dj3; } /** * This method will be called when any of the scroll bars of the instances of * DisplayJAI are changed. The method will adjust the scroll bar of the other * DisplayJAI as needed. * @param e the AdjustmentEvent that ocurred (meaning that one of the scroll * bars position has changed. */ public void adjustmentValueChanged(AdjustmentEvent e) { // If the horizontal bar of the first image was changed... if (e.getSource() == jsp1.getHorizontalScrollBar()) { // We change the position of the horizontal bar of the 2nd and 3rd images. jsp2.getHorizontalScrollBar().setValue(e.getValue()); jsp3.getHorizontalScrollBar().setValue(e.getValue()); } // If the vertical bar of the first image was changed... if (e.getSource() == jsp1.getVerticalScrollBar()) { // We change the position of the vertical bar of the 2nd and 3rd images. jsp2.getVerticalScrollBar().setValue(e.getValue()); jsp3.getVerticalScrollBar().setValue(e.getValue()); } // If the horizontal bar of the second image was changed... if (e.getSource() == jsp2.getHorizontalScrollBar()) { // We change the position of the horizontal bar of the 1st and 3rd images. jsp1.getHorizontalScrollBar().setValue(e.getValue()); jsp3.getHorizontalScrollBar().setValue(e.getValue()); } // If the vertical bar of the second image was changed... if (e.getSource() == jsp2.getVerticalScrollBar()) { // We change the position of the vertical bar of the 1st and 3rd images. jsp1.getVerticalScrollBar().setValue(e.getValue()); jsp3.getVerticalScrollBar().setValue(e.getValue()); } // If the horizontal bar of the third image was changed... if (e.getSource() == jsp3.getHorizontalScrollBar()) { // We change the position of the horizontal bar of the 1st and 2nd images. jsp1.getHorizontalScrollBar().setValue(e.getValue()); jsp2.getHorizontalScrollBar().setValue(e.getValue()); } // If the vertical bar of the third image was changed... if (e.getSource() == jsp3.getVerticalScrollBar()) { // We change the position of the vertical bar of the 1st and 2nd images. jsp1.getVerticalScrollBar().setValue(e.getValue()); jsp2.getVerticalScrollBar().setValue(e.getValue()); } } // end adjustmentValueChanged } // end class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -