基础的问题:谁能给一个简单的在JPanel加载图片的成功例子? 这这个论坛找了半天,很奇怪试遍所有的关于JPanel里加载图片的代码都不成功,显示不了。请给个完整的成功代码。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用JLabel加载图片,放到JPanel显示 package udptool;import javax.swing.*;import java.awt.*;public class DrawPanel extends JScrollPane{ private Dimension size = new Dimension(20,10); Image img; int imgWidth,imgHeight; public void setImage(Image i){ this.img = i; repaint(); } public DrawPanel(Dimension size) { super(); this.size = size; imgWidth=size.width; imgHeight=size.height; } public DrawPanel(int width,int height) { this(new Dimension(width,height)); } public Dimension getPreferredSize() { return size; } protected final void paintComponent(Graphics g) { if(img!=null) g.drawImage(img,0,0,imgWidth,imgHeight-30,this); } public static void main(String[] args){ JFrame a = new JFrame(); DrawPanel n = new DrawPanel(new Dimension(400,300)); JScrollPane jsp=new JScrollPane(); n.setImage(n.getToolkit().getImage(".\\1.jpg")); n.setLayout(null); JTextArea jta=new JTextArea(); jta.setOpaque(false); n.getViewport().add(jta); a.getContentPane().add(n); a.setSize(a.getPreferredSize()); a.show(); }} 这个是JScrollPane弄的,用JPanel就不用setLayout(null)了。 bbqqfdl(旅行中の狗)需要改个小地方哦:n.setImage(n.getToolkit().getImage(".\\1.jpg"));改为:n.setImage(n.getToolkit().getImage(DrawPanel.class.getResource(".\\1.jpg"))); 女朋友过生日,想用java做一个连连看,用我们的照片…… js做成可以用左右键切换的,而且点击可以用回车键控制可以链接到另一个界面 一个异常匹配的问题 用javac编译出现的错误 swing 父窗口的一个按钮打开子窗口(jdialog) 子窗口不关闭的情况下 怎么让父窗口可用?? 请教一个swing线程的问题 com.sun.image.codec.jpeg包,哪里有啊?? 关于java中的url参数 如何在JButton上显示BMP图像? 高手行行好,帮我看看 tomcat catalina.bat -Xincgc选项表示什么意思? 想用JAVA实现个视频聊天室,大家有资料么
import javax.swing.*;
import java.awt.*;public class DrawPanel extends JScrollPane
{
private Dimension size = new Dimension(20,10);
Image img;
int imgWidth,imgHeight;
public void setImage(Image i){
this.img = i;
repaint();
}
public DrawPanel(Dimension size)
{
super();
this.size = size;
imgWidth=size.width;
imgHeight=size.height;
}
public DrawPanel(int width,int height)
{
this(new Dimension(width,height));
}
public Dimension getPreferredSize()
{
return size;
}
protected final void paintComponent(Graphics g)
{
if(img!=null)
g.drawImage(img,0,0,imgWidth,imgHeight-30,this);
}
public static void main(String[] args){
JFrame a = new JFrame();
DrawPanel n = new DrawPanel(new Dimension(400,300));
JScrollPane jsp=new JScrollPane();
n.setImage(n.getToolkit().getImage(".\\1.jpg"));
n.setLayout(null);
JTextArea jta=new JTextArea();
jta.setOpaque(false);
n.getViewport().add(jta);
a.getContentPane().add(n);
a.setSize(a.getPreferredSize());
a.show();
}
}
这个是JScrollPane弄的,用JPanel就不用setLayout(null)了。
需要改个小地方哦:
n.setImage(n.getToolkit().getImage(".\\1.jpg"));
改为:
n.setImage(n.getToolkit().getImage(DrawPanel.class.getResource(".\\1.jpg")));