编写继承自JFrame类的窗口应用程序,程序运行后,全屏显示当前目录下的图片 5
编写继承自JFrame类的窗口应用程序,程序运行后,全屏显示当前目录下的图片,并通过计时器(java.swing.Timer)对象控制每隔3秒显示不同的图片,所有图片显示...
编写继承自JFrame类的窗口应用程序,程序运行后,全屏显示当前目录下的图片,并通过计时器(java.swing.Timer)对象控制每隔3秒显示不同的图片,所有图片显示完后自动关闭窗口应用程序
展开
展开全部
import java.awt.Graphics;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FilenameFilter;
import javax.swing.*;
public class SrceenProt extends JPanel{
//目录
String path;
String [] name;
int index = 0;
Image image;
SrceenProt(String path){
this.path = path;
File directory = new File(path);
name = directory.list(new FilenameFilter(){
public boolean accept(File arg0, String fileName) {
// TODO 自动生成方法存根
return (fileName.endsWith(".jpg")
||fileName.endsWith(".gif")
||fileName.endsWith(".png"));
}
});
//////延迟时间
int delay = 3000;
image = getNextImage();
new Timer(delay,new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
image = getNextImage();
repaint();
}}).start();
}
Image getNextImage(){
if(index>name.length-1)
index = 0;
return new ImageIcon(path+"/"+name[index++]).getImage();
}
long time = System.currentTimeMillis();
public void paint(Graphics g){
super.paint(g);
//此处只用最简单的方法绘图
g.drawImage(image,0,0,null);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
JFrame frame = new JFrame("显示指定目录下的图片");
frame.setUndecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//此处改为你自己的目录
frame.getContentPane().add(new SrceenProt("D:/Mydocuments/Java/Image"));
GraphicsDevice gd = GraphicsEnvironment
.getLocalGraphicsEnvironment().getDefaultScreenDevice();
gd.setFullScreenWindow(frame);
frame.setVisible(true);
}
}
如果要继承JFrame,只需作稍微改动即可
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FilenameFilter;
import javax.swing.*;
public class SrceenProt extends JPanel{
//目录
String path;
String [] name;
int index = 0;
Image image;
SrceenProt(String path){
this.path = path;
File directory = new File(path);
name = directory.list(new FilenameFilter(){
public boolean accept(File arg0, String fileName) {
// TODO 自动生成方法存根
return (fileName.endsWith(".jpg")
||fileName.endsWith(".gif")
||fileName.endsWith(".png"));
}
});
//////延迟时间
int delay = 3000;
image = getNextImage();
new Timer(delay,new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根
image = getNextImage();
repaint();
}}).start();
}
Image getNextImage(){
if(index>name.length-1)
index = 0;
return new ImageIcon(path+"/"+name[index++]).getImage();
}
long time = System.currentTimeMillis();
public void paint(Graphics g){
super.paint(g);
//此处只用最简单的方法绘图
g.drawImage(image,0,0,null);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
JFrame frame = new JFrame("显示指定目录下的图片");
frame.setUndecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//此处改为你自己的目录
frame.getContentPane().add(new SrceenProt("D:/Mydocuments/Java/Image"));
GraphicsDevice gd = GraphicsEnvironment
.getLocalGraphicsEnvironment().getDefaultScreenDevice();
gd.setFullScreenWindow(frame);
frame.setVisible(true);
}
}
如果要继承JFrame,只需作稍微改动即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询