图片查看器.java

来自「Java 图形界面入门实例」· Java 代码 · 共 96 行

JAVA
96
字号
import javax.swing.*;
import java.awt.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class 图片查看器 implements ActionListener
{  private Frame 窗体;
   private TextField 文本框;
   private Button 浏览,首张,上一张,下一张,末张;
   private FileDialog 打开文件;
   private Panel 面板1;
   private NewPanel 面板2;
   private String fileName="F:\\java\\file\\test.jpg";

   public void 方法1()
   {  窗体=new Frame("图片查看器");
      文本框=new TextField(30);
	  面板1=new Panel();
	  面板2=new NewPanel();
	  浏览=new Button("浏览");
	  首张=new Button("首张");
	  上一张=new Button("上一张");
	  下一张=new Button("下一张");
	  末张=new Button("末张");
	  打开文件=new FileDialog(窗体,"打开文件",FileDialog.LOAD);
	  窗体.setLayout(new BorderLayout());
	  面板1.setLayout(new FlowLayout(FlowLayout.CENTER));
      窗体.addWindowListener(new WindowClosing());
	  
	  浏览.addActionListener(this);
	  首张.addActionListener(this);
	  上一张.addActionListener(this);
	  下一张.addActionListener(this);
	  末张.addActionListener(this);
	  面板1.add(浏览);
      面板1.add(首张);
	  面板1.add(上一张);
	  面板1.add(下一张);
	  面板1.add(末张);
	  面板1.add(文本框);
	  窗体.add(面板1,"South");
	  窗体.add(面板2,"Center");
	  窗体.setSize(600,400);
	  窗体.setVisible(true);
   }
   
   public String getFileName()
   {  return fileName; }
   
   public void actionPerformed(ActionEvent evt)
   { if(evt.getActionCommand()=="浏览")
	 {  打开文件.show();
        fileName=打开文件.getDirectory()+打开文件.getFile();
		面板2.repaint();
		文本框.setText(fileName);
	 }
	 else
	   文本框.setText(evt.getActionCommand()+" 按钮被单击!");  
	}

   class WindowClosing extends WindowAdapter
   {  public void windowClosing(WindowEvent ev)
	   { System.exit(0);}
   }

   public static void main(String args[])
   { 图片查看器 实例=new 图片查看器();
     实例.方法1();
    }
}

class NewPanel extends JPanel
{  图片查看器 str=new 图片查看器();
   public NewPanel(){}
   public void paintComponent(Graphics g)
   {
      int x=0,y=0;
      String imgURL= str.getFileName();        
      ImageIcon icon = new ImageIcon(imgURL);                     
      g.drawImage(icon.getImage(),x,y,getSize().width,getSize().height,this);
      while(true)
      {   
         g.drawImage(icon.getImage(),x,y,this);            
         if(x>getSize().width&&y>getSize().height)break;            
         if(x>getSize().width)
	     {  x=0;
		    y+=icon.getIconHeight(); 
	     }               
         else    
			x+=icon.getIconWidth();
        }
      }
  }	 

⌨️ 快捷键说明

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