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

📄 viewerwindow.java

📁 java写的图片浏览器,类似acds
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                OpenNextImage(true);
            }
        });

        Fullscreen_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                mainFrame.ViewFullScreen(true);
                mainFrame.Display_Selected_Image_FullScreen();
                dispose();
            }
        });

        slideshow_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                Run_Slide_Show();
            }
        });

        stop_slideshow_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                sthread.stop();
                slideshow_item.setEnabled(true);
                stop_slideshow_item.setEnabled(false);
            }
        });

        Rotate_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                pane.RotateImage();
            }
        });
        
        hflip_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                pane.FlipImage(false);
            }
        });
        
        vflip_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                pane.FlipImage(true);
            }
        });
        
        FullFrame_item.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event)
            {
                mainFrame.show();
                dispose();
            }
        });
        
        menu.add(NextImage_item);
        menu.add(PreviousImage_item);
        menu.add(ZoomIn_item);
        menu.add(ZoomOut_item);
        menu.add(Fullscreen_item);
        menu.add(slideshow_item);
        menu.add(stop_slideshow_item);
        menu.add(Rotate_item);
        menu.add(hflip_item);
        menu.add(vflip_item);
        menu.add(Print_item);
        menu.add(FullFrame_item);
        menu.add(exit_item);

        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e)
            {
                mainFrame.Quit();
            }
        });

        pane.addMouseListener(new MouseListener() {
            public void mouseClicked(MouseEvent event) {
                if(event.getClickCount() == 2) {
                    mainFrame.show();
                    dispose();
                }
            }

            public void mousePressed(MouseEvent event) {
                PopupTriggered(event);
            }

            public void mouseReleased(MouseEvent event) {
                PopupTriggered(event);
            }

            public void mouseEntered(MouseEvent mouseevent) {}
            public void mouseExited(MouseEvent mouseevent) {}
        });

        addKeyListener( new Listen() );

        setIconImage( (new ImageIcon(getClass().getResource("/org/net9/oops/jsee/image/JCDSee.gif"))).getImage() );

        pane.setHorizontalScrollBarPolicy(30);
        pane.setVerticalScrollBarPolicy(20);
        ReSizeAndCenter();
    }

    public boolean OpenNextImage(boolean next) {
        String iFileName;
        if(next)
            iFileName = mainFrame.GetNextImage();
        else
            iFileName = mainFrame.GetPreviousImage();
        if(iFileName != null)
        {
            pane.loadNewImage(mainFrame.Load_Image(iFileName));
            statusBar.SetInfoText(iFileName.substring(iFileName.lastIndexOf(System.getProperty("file.separator")) + 1) + " (" + pane.imageWidth() + "x" + pane.imageHeight() + ")");
            ReSizeAndCenter();
            pane.resetZooming();
            return true;
        }
        else
        {
            mainFrame.show();
            dispose();
            return false;
        }
    }

    public void ReSizeAndCenter()
    {
        windowW = pane.imageWidth() + VerticalBorders;
        if (windowW < 350) windowW = 350;
        
        windowH = pane.imageHeight() + TitleMenuBorder + StatusBarSize;
        if (windowH < 280) windowH = 280;
        
        if(windowW < screenDim.width && windowH < screenDim.height)
        {
            setLocation((screenDim.width - windowW) / 2, (screenDim.height - windowH) / 2);
            setSize(windowW, windowH);
        }
        else {
            if(windowW > screenDim.width)
            {
                windowH = windowH + ScrollBarSize;
                if (windowH < 280) windowH = 280;
                if(windowH < screenDim.height)
                {
                    setLocation(0, (screenDim.height - windowH) / 2);
                    setSize(screenDim.width, windowH);
                } else
                {
                    setLocation(0, 0);
                    setSize(screenDim.width, screenDim.height);
                }
            }
            else
                if(windowH > screenDim.height)
                {
                    windowW = windowW + ScrollBarSize;
                    if(windowW < screenDim.width)
                        setLocation((screenDim.width - windowW) / 2, 0);
                    else
                        setLocation(0, 0);
                    setSize(windowW, screenDim.height - 10);
                }
        }
        validate();
    }

    void PopupTriggered(MouseEvent e) {
        if(e.isPopupTrigger())
            menu.show(pane, e.getX() - 4, e.getY() - 51);
    }

    int getButtonX(JButton button) {
        return button.getX() + getX() + 15;
    }

    int getButtonY(JButton button) {
        return button.getY() + getY() + 32;
    }

    public void Run_Slide_Show() {
        sthread = new SlideShow(mainFrame.slideShowDelayTime * 1000, mainFrame.slideShowForward);
        sthread.start();
        stop_slideshow_item.setEnabled(true);
        slideshow_item.setEnabled(false);
    }

    class Listen extends KeyAdapter{
        public void keyPressed(KeyEvent e){
            if ( e.getKeyCode()==KeyEvent.VK_UP ){
                vbar.setValue(vbar.getValue() - vbar.getBlockIncrement());
            }
            else if ( e.getKeyCode()==KeyEvent.VK_DOWN ){
                System.out.println("down");
                vbar.setValue(vbar.getValue() + vbar.getBlockIncrement());
            }
            else if ( e.getKeyCode()==KeyEvent.VK_LEFT ){
                hbar.setValue(hbar.getValue() - hbar.getBlockIncrement());
            }
            else if ( e.getKeyCode()==KeyEvent.VK_RIGHT ){
                hbar.setValue(hbar.getValue() + hbar.getBlockIncrement());
            }
            else if ( e.getKeyCode() == KeyEvent.VK_ESCAPE )
            {
                mainFrame.show();
                dispose();
            }
            else if ( e.getKeyCode() == KeyEvent.VK_PAGE_DOWN )
            {
                OpenNextImage(true);
            }
            else if ( e.getKeyCode() == KeyEvent.VK_PAGE_UP )
            {
                OpenNextImage(false);
            }
        }
    }
    
    JToolBar jToolBar1;
    JPopupMenu menu;
    JScrollBar vbar, hbar;

    ToolBarButton deleteButton;
    ToolBarButton nextButton;
    ToolBarButton previousButton;
    ToolBarButton browseButton;
    ToolBarButton zoomInButton;
    ToolBarButton zoomOutButton;
    ToolBarButton rotateButton;
    ToolBarButton hflipButton;
    ToolBarButton vflipButton;
    ToolBarButton printButton;

    int TitleMenuBorder;
    int VerticalBorders;
    int ScrollBarSize;
    int StatusBarSize;

    Jsee mainFrame;
    ViewerScrollPane pane;
    Dimension screenDim;
    SlideShow sthread;

    int windowW;
    int windowH;
    JMenuItem slideshow_item;
    JMenuItem stop_slideshow_item;
    StatusBarPanel statusBar;
}

⌨️ 快捷键说明

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