java 图片不显示_Java问题,图片显示不了。

代码如下:importjavax.imageio.ImageIO;importjavax.swing.*;importjava.awt.*;importjava.awt.image.*;importjava.awt.event.*;importjava.io.*;publicclassAppPanelextendsJPanel{...

代码如下:import javax.imageio.ImageIO;

import javax.swing.*;

import java.awt.*;

import java.awt.image.*;

import java.awt.event.*;

import java.io.*;

public class AppPanel extends JPanel {

//variables and components==========================

private JPanel imageBox;

private JPanel toolPane;

private JLabel counterLabel;

private int counter;

private boolean showWholeImage;

private JButton selectButton;

private JButton breakButton;

private JButton viewImageButton;

private Image[] images;

private Image wholeImage;

private JFileChooser chooser;

//constructor=============================

public AppPanel(){

//initial variables

chooser = new JFileChooser();

images=new BufferedImage[24];

wholeImage=null;

showWholeImage = true;

counter=0;

setLayout(new BorderLayout());

//initial components

imageBox = new JPanel();

imageBox.setBackground(Color.WHITE);

toolPane = new JPanel();

counterLabel = new JLabel("操作次数:"+counter);

viewImageButton = new JButton("显示原图");

selectButton = new JButton("选择图片");

selectButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

if(JFileChooser.APPROVE_OPTION==chooser.showOpenDialog(null)){

try{

wholeImage = ImageIO.read(chooser.getSelectedFile());

showWholeImage=true;

repaint();

}

catch(Exception e){

JOptionPane.showMessageDialog(null, "打开文件失败");

}

}

}

});

breakButton = new JButton("打乱图片");

toolPane.add(counterLabel);

toolPane.add(selectButton);

toolPane.add(breakButton);

toolPane.add(viewImageButton);

add(toolPane,BorderLayout.SOUTH);

add(imageBox);

}

//paintComponents

public void paintComponent(Graphics g){

super.paintComponent(g);

Graphics g2d = imageBox.getGraphics();

if(showWholeImage && wholeImage!=null){

g2d.drawImage(wholeImage,0,0,imageBox);

}

else{

int x =0,y=0;

for(int i=0;i<24;i++){

g2d.drawImage(images[i],x, y, null);

}

}

}

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值