📄 viewerwindow.java
字号:
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 + -