如何在application中一幅一幅地显示10幅JPEG图片??

yakeman 2003-04-30 10:27:33
也可以通过按钮等控件控制显示顺序,那又怎么办??
...全文
28 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocandroc 2003-05-01
  • 打赏
  • 举报
回复
//用CardLayout

import java.awt.*;
import java.awt.event.*;
import java.swing.*;

public class ShowJpeg extends JFrame implements ActionListener{
private CardLayout cardManager;
prviate JButton first, next, previous, last;
private JPanel deck, buttonPanel;
//xx为图片名,到时你自己改成你所需要的
private String jepgName = { "xx","xx","xx","xx","xx","xx","xx","xx","xx","xx"};
Image jpeg[] = new Image[ jepgName.length ];//创建对象数组
JPanel card[] = new JPanel[ jepgName.length ];

public ShowJpeg(){
super( "Show JPEG" );
deck.setLayout( cardManager );

//创建你所需的10张图
for( int i = 0; i < jepgName.length; i++){
jpeg[ i ] = new Image(" jepgName[ i ] ");
card[ i ] = new JPanel;//卡片存放图片
card[ i ].add( jpeg[ i ] );
deck.add( card[ i ] ); //将卡片放入卡片组中
}

this.add( deck, BorderLayout.CENTER );

//添加控制按钮
buttonPanel = new JPanel;

first = new JButton( "First" );
buttonPanel.add( first );
first.addActionListener( this );

next = new JButton( "Next" );
buttonPanel.add( next );
next.addActionListener( this );

previous = new JButton( "Previous" );
buttonPanel.add( previous );
prvious.addActionListener( this );

last = new JButton( "Last" );
buttonPanel.add( last );
last.addActionListener( this );

this.add( buttonPanel, BorderLayout.NORTH );

this.setSize( 400, 400 );
show();

}

public viod actionPerformed( ActionEvent e ){
if( e.getSource() = first )cardManager.first( deck );//显示第一幅

if( e.getSource() = next )cardManager.next( deck );//显示下一幅

if( e.getSource() = previous )cardManager.previous( deck );//显示前一幅

if( e.getSource() = last )cardManager.last( deck );//显示最后一幅
}

public static void main( String args[] ){
ShowJepg s = new ShowJepg();
s.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}

//临时就在这写出来的,可能会有一些小错误,见谅。

}
mercury1231 2003-05-01
  • 打赏
  • 举报
回复
呵呵,那样的话,就用cardLayout吧。
famousun 2003-05-01
  • 打赏
  • 举报
回复
创建一个基于canvas的类
然后在上面加载,然后再将这个类的对象
载入到application ,

或在appliction的frame里面重载paint(Graphics g)函数
用g.drawImage() ;
用判断控制显示
注意:加载图像是要用:
Image picturename = getToolkit().getImage(“你的图片的位置什么的”) ;
MediaTracker traker = new MediaTracker(this) ;
traker.addImage(picture,0);
try{
traker.waitForID(0) ;
}catch(InterruptedException e){}
这样才能完整的显示
Javafan9 2003-05-01
  • 打赏
  • 举报
回复
不就是用一个线程以一定的时间交替地显示图片吗?
应该不难吧.
newman0708 2003-05-01
  • 打赏
  • 举报
回复
用这个 JTabbedPane;看看行不行
yakeman 2003-05-01
  • 打赏
  • 举报
回复
TO rocandroc(小鹏) :
你的程序我看了,好象有不少错啊,我运行时说有15个ERROR,有些错误没能纠正,你能不能修正一下啊?
mechiland 2003-05-01
  • 打赏
  • 举报
回复
给楼上给分,他很辛苦的。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧