⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 displayfoursynchronizedimages.java

📁 Fuzzy C-means algorithm written in Java
💻 JAVA
字号:
/* * Created on Jun 24, 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.event.AdjustmentListener;import java.awt.image.RenderedImage;import javax.swing.JScrollPane;/** * This class represents a JPanel which contains four instances of DisplayJAIWithPixelInfo. * The scrolling bars of all images are synchronized so scrolling one image * will automatically scroll the others. * I am not doing a DisplayNSynchronizedImages component since for each * case the layout will be different. */public class DisplayFourSynchronizedImages extends DisplayThreeSynchronizedImages                                            implements AdjustmentListener  {  /** The DisplayJAIWithPixelInfo for the fourth image. */  protected DisplayJAIWithPixelInfo dj4;  /** The JScrollPane which will contain the fourth image */  protected JScrollPane jsp4; /**  * Constructs an instance of this class, setting the components' layout,  * creating four instances of DisplayJAI for the four images and creating/  * registering event handlers for the scroll bars.  * @param im1 the first image (top left side)  * @param im2 the second image (top right side)  * @param im3 the third image (bottom left side)  * @param im4 the third image (bottom right side)  */  public DisplayFourSynchronizedImages(RenderedImage im1,RenderedImage im2,                                       RenderedImage im3,RenderedImage im4)    {    super(im1,im2,im3);    // Layout for this will be different: 2x2.    setLayout(new GridLayout(2,2));    // Instance of DisplayJAIWithPixelInfo for the fourth image.    dj4 = new DisplayJAIWithPixelInfo(im4);    jsp4 = new JScrollPane(dj4); // JScrollPane for that instance.    add(jsp4);    // Retrieve the scroll bars of the images and registers adjustment    // listeners to them.    // Horizontal scroll bar of the fourth image.    jsp4.getHorizontalScrollBar().addAdjustmentListener(this);    // Vertical scroll bar of the fourth image.    jsp4.getVerticalScrollBar().addAdjustmentListener(this);    } /**  * This method changes the image displayed in the bottom right DisplayJAI  * instance.  * @param newImage the new image  */  public void setImage4(RenderedImage newimage)    {    dj4.set(newimage);    repaint();    } /**  * This method returns the fourth image.  * @return the fourth image.  */  public RenderedImage getImage4()    {    return dj4.getSource();    } /**  * This method returns the fourth DisplayJAI component.  * @return the fourth DisplayJAI component.  */  public DisplayJAIWithPixelInfo getDisplayJAIComponent4()    {    return dj4;    } /**  * 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, 3rd and 4th images.      jsp2.getHorizontalScrollBar().setValue(e.getValue());      jsp3.getHorizontalScrollBar().setValue(e.getValue());      jsp4.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, 3rd and 4th images.      jsp2.getVerticalScrollBar().setValue(e.getValue());      jsp3.getVerticalScrollBar().setValue(e.getValue());      jsp4.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, 3rd and 4th images.     jsp1.getHorizontalScrollBar().setValue(e.getValue());     jsp3.getHorizontalScrollBar().setValue(e.getValue());     jsp4.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, 3rd and 4th images.     jsp1.getVerticalScrollBar().setValue(e.getValue());     jsp3.getVerticalScrollBar().setValue(e.getValue());     jsp4.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, 2nd and 4th images.     jsp1.getHorizontalScrollBar().setValue(e.getValue());     jsp2.getHorizontalScrollBar().setValue(e.getValue());     jsp4.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, 2nd and 4th images.     jsp1.getVerticalScrollBar().setValue(e.getValue());     jsp2.getVerticalScrollBar().setValue(e.getValue());     jsp4.getVerticalScrollBar().setValue(e.getValue());     }   // If the horizontal bar of the fourth image was changed...   if (e.getSource() == jsp4.getHorizontalScrollBar())     {     // We change the position of the horizontal bar of the 1st, 2nd and 3rd images.     jsp1.getHorizontalScrollBar().setValue(e.getValue());     jsp2.getHorizontalScrollBar().setValue(e.getValue());     jsp3.getHorizontalScrollBar().setValue(e.getValue());     }   // If the vertical bar of the fourth image was changed...   if (e.getSource() == jsp4.getVerticalScrollBar())     {     // We change the position of the vertical bar of the 1st, 2nd and 3rd images.     jsp1.getVerticalScrollBar().setValue(e.getValue());     jsp2.getVerticalScrollBar().setValue(e.getValue());     jsp3.getVerticalScrollBar().setValue(e.getValue());     }    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -