资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java编写播放图片代码 java编写播放图片代码是什么

用JAVA在界面中实现幻灯片播放,求代码

要让照片随机播放,需要把照片名改成比如photo1.jpg,photo2.jpg,photo3.jpg...的有序号顺序排列的文件名,

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的成安网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

然后把改名后的照片文件放到你的项目名的目录下,比如你的项目名叫"slideshow",你就把照片文件放到slideshow文件夹下.

最后把下面的Java程序拷贝到你的项目中,把有DD类名的地方改成你的类名,就行了.

完整的让一些照片在JFrame窗体里自动随机播放的幻灯片程序如下

(我用的图片文件是photo1.jpg,photo2.jpg,photo3.jpg,注意事项在注释中注明

import java.awt.Graphics;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

public class DD extends JFrame implements Runnable{

ImageIcon ii=new ImageIcon("photo1.jpg");//这里换成你的图片文件名,放在你的项目名的文件夹中

DD(){

super("Slide");

setSize(400, 400);

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public void paint(Graphics g){

super.paint(g);

g.drawImage(ii.getImage(),0,0,400,400,null);

}

@Override

public void run() {

while(true){

try {

Thread.sleep(500);//这里是幻灯片播放间隔的时间,这里为500毫秒=0.5秒

} catch (InterruptedException e) {

e.printStackTrace();

}

int i=(int)(Math.random()*3)+1;//这里是产生从1-3的随机数,如果你有6个图片文件,把3改成6就是从1-6的随机数了.

ii=new ImageIcon("photo"+i+".jpg");//这里调用你的图片文件,如果你有6个图片文件,改成从1-6的文件名方便调用

this.repaint();

}

}

public static void main(String[] args) {

DD d=new DD();

Thread t=new Thread(d);

t.start();

}

}

java 连续播放图片

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

titlepic player/title

script type="text/javascript" src=""/script

script type="text/javascript" src=""/script

/head

style type="text/css"

img{border:0;}

/style

body

div id="picplayer" style="position:relative;overflow:hidden;width:300px;height:300px;clear:none;border:solid 1px #ccc;"

there is a pic-player

/div

script

var p = $('#picplayer');

var pics1 = [{url:'',link:'',time:5000},{url:'',link:'',time:4000},{url:'',link:'',time:6000},{url:'',link:'',time:6000},{url:'',link:'',time:6000}];

initPicPlayer(pics1,p.css('width').split('px')[0],p.css('height').split('px')[0]);

//

//

function initPicPlayer(pics,w,h)

{

//选中的图片

var selectedItem;

//选中的按钮

var selectedBtn;

//自动播放的id

var playID;

//选中图片的索引

var selectedIndex;

//容器

var p = $('#picplayer');

p.text('');

p.append('div id="piccontent"/div');

var c = $('#piccontent');

for(var i=0;ipics.length;i++)

{

//添加图片到容器中

c.append('a href="'+pics[i].link+'" target="_blank"img id="picitem'+i+'" style="display: none;z-index:'+i+'" src="'+pics[i].url+'" //a');

}

//按钮容器,绝对定位在右下角

p.append('div id="picbtnHolder" style="position:absolute;top:'+(h-25)+'px;width:'+w+'px;height:20px;z-index:10000;"/div');

//

var btnHolder = $('#picbtnHolder');

btnHolder.append('div id="picbtns" style="float:right; padding-right:1px;"/div');

var btns = $('#picbtns');

//

for(var i=0;ipics.length;i++)

{

//增加图片对应的按钮

btns.append('span id="picbtn'+i+'" style="cursor:pointer; border:solid 1px #ccc;background-color:#eee; display:inline-block;" '+(i+1)+' /span ');

$('#picbtn'+i).data('index',i);

$('#picbtn'+i).click(

function(event)

{

if(selectedItem.attr('src') == $('#picitem'+$(this).data('index')).attr('src'))

{

return;

}

setSelectedItem($(this).data('index'));

}

);

}

btns.append(' ');

///

setSelectedItem(0);

//显示指定的图片index

function setSelectedItem(index)

{

selectedIndex = index;

clearInterval(playID);

//alert(index);

if(selectedItem)selectedItem.fadeOut('fast');

selectedItem = $('#picitem'+index);

selectedItem.fadeIn('slow');

//

if(selectedBtn)

{

selectedBtn.css('backgroundColor','#eee');

selectedBtn.css('color','#000');

}

selectedBtn = $('#picbtn'+index);

selectedBtn.css('backgroundColor','#000');

selectedBtn.css('color','#fff');

//自动播放

playID = setInterval(function()

{

var index = selectedIndex+1;

if(index pics.length-1)index=0;

setSelectedItem(index);

},pics[index].time);

}

}

/script

/body

/html

把你的图片地址 在jsp加载的时候 循环上去 就可以了 如果可以 记得给分哦

请给我的JAVA程序添加一个自动播放图片功能

//其余的类在qq上给你..

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Cursor;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Image;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.WindowEvent;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.lang.reflect.AccessibleObject;

import java.lang.reflect.Field;

import java.util.Properties;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.LookAndFeel;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

import javax.swing.event.DocumentEvent;

import javax.swing.event.DocumentListener;

import javax.swing.filechooser.FileNameExtensionFilter;

public class ImageFrame extends JFrame implements ActionListener, MouseListener {

/**

*

*/

private static final long serialVersionUID = -5241799989073556019L;

static Properties property = new Properties();

static {

Class iClass;

try {

iClass = Class.forName("sun.awt.im.InputMethodContext");

Field field = iClass.getDeclaredField("belowTheSpotInputRequested");

AccessibleObject.setAccessible(new AccessibleObject[] { field },

true);

field.setBoolean(null, false);

} catch (Exception e) {

}

}

public JPanel imagePanel;

public JPanel buttonPanel;

public JPanel statePanel;

public JLabel imageLabel;

public JLabel stateLabel;

public JButton before;

public JButton play;

public JButton stop;

public JButton next;

public JButton bigger;

public JButton smaller;

static JTextArea area = new JTextArea(5, 60);

JScrollPane scroll = new JScrollPane(area);

public File picFile;

public Image img;

public ImageIcon imageIcon;

public String fileParent;

FileNameExtensionFilter imageFilter = new FileNameExtensionFilter(null,

"jpeg", "jpg", "png", "gif");

JFileChooser imageChooser = new JFileChooser();

public File filePath[];

public File imagePath[];

public static Picture images[];

public int imageFileNumber = 0;

public static int locationImage = 0;

public static ImageFrame myImageFrame;

private PlayTimer playTimer;

public Image[] imageOffer;

public int scale = 8;

public JScrollPane imageScrollPane;

public ImageFrame(String picPath) {

picFile = new File(picPath);

fileParent = picFile.getParent();

filePath = (new File(fileParent)).listFiles();

try {

img = javax.imageio.ImageIO.read(picFile);

} catch (IOException ex) {

ex.printStackTrace();

}

imageIcon = new ImageIcon(img);

imageLabel = new JLabel(imageIcon);

imagePanel = new JPanel(new BorderLayout());

imagePanel.setBackground(Color.black);

//R:238 G:243 B:250

//imagePanel.setBackground(new Color(238,243,250));

stateLabel = new JLabel();

final String windows = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";

try {

UIManager.setLookAndFeel(windows);

SwingUtilities.updateComponentTreeUI(this);// 更新控件的外观

} catch (Exception e) {

e.printStackTrace();

}

setLayout(new BorderLayout());

setTitle("PowerSee 图片查看器");

setIconImage(new ImageIcon("icon/powerSee.png").getImage());

setSize(800, 600);

this.setMinimumSize(new Dimension(600, 400));

setVisible(true);

setExtendedState(JFrame.MAXIMIZED_BOTH);

buttonPanel = makeButtonPanel();

area.setLineWrap(true);

// area.setWrapStyleWord(true);

area.addMouseListener(this);

// area.setFont(new Font(area.getFont().getFamily(), Font.PLAIN,

// 18));

LookAndFeel.installColorsAndFont(area, "Label.background",

"Label.foreground", "TextArea.font");

area.setBorder(BorderFactory.createTitledBorder("此处可添加照片描述:"));

area.setLineWrap(true);

area.setWrapStyleWord(true);

area.getDocument().addDocumentListener(new SWING_OnValueChanged());

/*

area.setText("");

area.setText("像素大小: " + imageIcon.getIconWidth() + "*"

+ imageIcon.getIconHeight() + " 文件位置: " + picFile.toString()

+ " 文件大小: " + picFile.length() / 1024 + "KB");

*/

/*

area.getDocument()

.addDocumentListener(new SWING_OnValueChanged());

*/

// area.setBackground(new Color() );

Font font = new Font("宋体", Font.PLAIN, 17);

area.setFont( font);

// area.setEditable(false);

statePanel = new JPanel();

//:36 G:53 B:71R:192 G:192 B:196

statePanel.setBackground(new Color(192,192,196));

stateLabel.setText("像素大小: " + imageIcon.getIconWidth() + "*"

+ imageIcon.getIconHeight() + " 文件位置: " + picFile.toString()

+ " 文件大小: " + picFile.length() / 1024 + "KB");

//stateLabel;

imagePanel.add(imageLabel, BorderLayout.CENTER);

imageScrollPane = new JScrollPane(imagePanel);

add(imageScrollPane, BorderLayout.CENTER);

add(buttonPanel, BorderLayout.NORTH);

//statePanel.add(stateLabel);

//statePanel.setBackground(Color.black);

statePanel.add(area, BorderLayout.CENTER);//scroll

add(statePanel, BorderLayout.SOUTH);

imagePanel.repaint();

imagePanel.validate();

Load();

}

//对于此法可借鉴,返回一个panel竟然......

public JPanel makeButtonPanel() {

JPanel aButtonPanel = new JPanel();

before = new JButton("前一张");

next = new JButton("下一张");

play = new JButton("自动播放");

stop = new JButton("停止");

bigger = new JButton("放大");

smaller = new JButton("缩小");

stop.setEnabled(false);

before.addActionListener(this);

next.addActionListener(this);

play.addActionListener(this);

stop.addActionListener(this);

bigger.addActionListener(this);

smaller.addActionListener(this);

aButtonPanel.add(before);

aButtonPanel.add(play);

aButtonPanel.add(stop);

aButtonPanel.add(next);

aButtonPanel.add(smaller);

aButtonPanel.add(bigger);

return aButtonPanel;

}

/*

* //imageFileNumber 个图像文件

//filePath.length 个文件

//filePath 以某个文件夹的所有文件为元素的数组, 以File类型为元素

//imagePath 以所有图像文件为元素的数组,仍然以File类型为元素

*/

public void Load() {

imageChooser.setFileFilter(imageFilter);

//System.out.println(filePath.length+"----");

//filePath.length,也就是Image这个文件夹里有多少个文件.......所有种类的文件....!!

for (int i = 0; i filePath.length; i++) {

if (!filePath[i].isDirectory() imageFilter.accept(filePath[i])) {

imageFileNumber++;

} else {

filePath[i] = null;

}

}

//imageFileNumber 个图像文件

//filePath.length 个文件

//filePath 以某个文件夹的所有文件为元素的数组, 以File类型为元素

//imagePath 以所有图像文件为元素的数组,仍然以File类型为元素

imagePath = new File[imageFileNumber];

images = new Picture[imageFileNumber];

imageFileNumber = 0;

for (int i = 0; i filePath.length; i++) {

if (filePath[i] != null) {

imagePath[imageFileNumber++] = filePath[i];

}

}

imageFileNumber--;

for (int i = 0; i imagePath.length; i++) {

if (imagePath[i] == picFile) {

locationImage = i;

}

}

for (int i = 0; i imagePath.length; i++) {

initTxt(imagePath[i], i);

}

}

public void initTxt(File picFile, int i) {

try {

property.load(new FileInputStream("a.properties"));

/*

String txt = property.getProperty(picFile.getParent() + "."

+ picFile.getName());

*/

images[i] = new Picture(imagePath[i].getParent() + "."

+ imagePath[i].getName(), "");

} catch (Exception e) {

}

//初始化图片的时候,要从资源文件里读取所有文件的txt信息,可能花费时间较长

}

/*

*

//imageFileNumber 个图像文件

//filePath.length 个文件

//filePath 以某个文件夹的所有文件为元素的数组, 以File类型为元素

//imagePath 以所有图像文件为元素的数组,仍然以File类型为元素

*/

public void Before() {

scale = 8;

if (--locationImage 0) {

locationImage = imageFileNumber;

}

try {

img = javax.imageio.ImageIO.read(imagePath[locationImage]);

} catch (IOException ex) {

ex.printStackTrace();

}

imageIcon.setImage(img);

imageLabel.setIcon(imageIcon);

picFile = imagePath[locationImage];

/*

String text = "像素大小: " + imageIcon.getIconWidth() + "*"

+ imageIcon.getIconHeight() + " 文件位置: " + picFile.toString()

+ " 文件大小: " + picFile.length() / 1024 + "KB";

*/

//System.out.println(picFile.toString());

//Picture p = new Picture(picFile, text);

try {

Properties property = new Properties();

property.load(new FileInputStream("a.properties"));

String areaTxt = "";

areaTxt = property.getProperty(picFile.getParent() + "."

+ picFile.getName());

area.setText("");

area.setText(areaTxt);

} catch (Exception e) {

}

imagePanel.repaint();

imagePanel.validate();

imageScrollPane.repaint();

imageScrollPane.validate();

}

/*

* //imageFileNumber 个图像文件

//filePath.length 个文件

//filePath 以某个文件夹的所有文件为元素的数组, 以File类型为元素

//imagePath 以所有图像文件为元素的数组,仍然以File类型为元素

*/

public void Next() {

scale = 8;

if (++locationImage imageFileNumber) {

locationImage = 0;

}

try {

img = javax.imageio.ImageIO.read(imagePath[locationImage]);

} catch (IOException ex) {

ex.printStackTrace();

}

imageIcon.setImage(img);

imageLabel.setIcon(imageIcon);

picFile = imagePath[locationImage];

try {

Properties property = new Properties();

property.load(new FileInputStream("a.properties"));

String areaTxt = "";

areaTxt = property.getProperty(picFile.getParent() + "."

+ picFile.getName());

area.setText("");

area.setText(areaTxt);

} catch (Exception e) {

}

imagePanel.repaint();

imagePanel.validate();

imageScrollPane.repaint();

imageScrollPane.validate();

}

public void Bigger() {

ImageIcon icon = imageIcon;

if (scale = 17) {

ImageIcon tmpicon = new ImageIcon(new DrawImage(icon.getImage(),

icon.getIconWidth() / 8, icon.getIconHeight() / 8, ++scale)

.getImage());

imageLabel.setIcon(tmpicon);

} else {

return;

}

}

public void Smaller() {

ImageIcon icon = imageIcon;

if (scale 1) {

ImageIcon tmpicon = new ImageIcon(new DrawImage(icon.getImage(),

icon.getIconWidth() / 8, icon.getIconHeight() / 8, --scale)

.getImage());

imageLabel.setIcon(tmpicon);

} else {

return;

}

}

public void actionPerformed(ActionEvent e) {

if (e.getSource().equals(before)) {

Before();

}

if (e.getSource().equals(next)) {

Next();

}

if (e.getSource().equals(play)) {

stop.setEnabled(true);

before.setEnabled(false);

next.setEnabled(false);

bigger.setEnabled(false);

smaller.setEnabled(false);

play.setEnabled(false);

playTimer = new PlayTimer(this);

playTimer.start();

}

if (e.getSource().equals(stop)) {

stop.setEnabled(false);

before.setEnabled(true);

next.setEnabled(true);

bigger.setEnabled(true);

smaller.setEnabled(true);

play.setEnabled(true);

playTimer.cancel();

}

if (e.getSource().equals(bigger)) {

Bigger();

}

if (e.getSource().equals(smaller)) {

Smaller();

}

}

public void mouseClicked(MouseEvent arg0) {

// 鼠标点击

area.setEditable(true);

// pane.add(scroll, BorderLayout.CENTER);

}

public void mouseExited(MouseEvent arg0) {

// 鼠标离开区域

area.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); //鼠标离开Text区后恢复默认形态

area.setBackground(null);

//保存信息

//area.setEditable(false);

}

public void mousePressed(MouseEvent arg0) {

}

public void mouseReleased(MouseEvent arg0) {

// 鼠标释放

}

public void mouseEntered(MouseEvent arg0) {

// 鼠标释进入区域

area.setCursor(new Cursor(Cursor.TEXT_CURSOR)); //鼠标进入Text区后变为文本输入指针

area.setBackground(new Color(255, 255, 170));

}

protected void processWindowEvent(WindowEvent e) {

super.processWindowEvent(e);

if (e.getID() == WindowEvent.WINDOW_CLOSING) {

try {

} catch (Exception ex) {

}

System.exit(0);

}

}

public static void main(String a[]) {

new ImageFrame("Image/p1.jpg");

}

}

class Picture {

String text;

String picFile;

Picture(String string, String text) {

this.picFile = string;

this.text = text;

}

String getText() {

return this.text;

}

String getFilePath() {

return this.picFile;

}

void setText(String text) {

this.text = text;

}

}

class SWING_OnValueChanged implements DocumentListener {

public void changedUpdate(DocumentEvent e) {

textValueChanged(e);

}

public void insertUpdate(DocumentEvent e) {

textValueChanged(e);

}

public void removeUpdate(DocumentEvent e) {

textValueChanged(e);

}

public void textValueChanged(DocumentEvent evt) {

//images

int i = 0;

System.out.println("Swing文本框的内容改变了!" + ImageFrame.locationImage);

i = ImageFrame.locationImage;

//System.out.println("图片!" + ImageFrame.images[i].getFilePath());

try {

ImageFrame.property.setProperty(ImageFrame.images[i].getFilePath(),

ImageFrame.area.getText());

// ImageFrame.images[i].setText(ImageFrame.area.getText());

ImageFrame.property.store(new FileOutputStream("a.properties"),

"a.properties");

} catch (Exception ex) {

}

}

}


本文标题:java编写播放图片代码 java编写播放图片代码是什么
网站地址:http://cdkjz.cn/article/hpdpgd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220