各位老大,怎样写一个类来装图片,没有滚去条, 不懂 滚去条?装任何大小的图片??什么环境啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package oasui;import javax.swing.JPanel;import java.awt.Image;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.MediaTracker;import java.awt.Dimension;import java.awt.Point;public class ImageControl extends JPanel{ private Image m_Image = null; //图象对象 private MediaTracker m_Tracker = null; private boolean m_bFitSize = true; //是否自动调整到与该控件适合的尺寸 private Point m_Pos = new Point(0,0); //显示起始位置 public ImageControl() { super(); } public ImageControl(byte[] imageData) throws Exception { super(); LoadImage(imageData); } public ImageControl(String sFile) throws Exception { super(); LoadImage(sFile); } public boolean LoadImage(byte[] imageData) throws Exception { Image image = Toolkit.getDefaultToolkit().createImage(imageData); if(image == null) throw new Exception("读取图形数据错误!"); m_Image = image; if(m_Tracker != null) m_Tracker = null; m_Tracker = new MediaTracker(this); m_Tracker.addImage(m_Image,0); return true; } public boolean LoadImage(String sFile) throws Exception { Image image = Toolkit.getDefaultToolkit().createImage(sFile); if(image == null) throw new Exception("读取图形数据错误!"); m_Image = image; if(m_Tracker != null) m_Tracker = null; m_Tracker = new MediaTracker(this); m_Tracker.addImage(m_Image,0); return true; } protected void paintComponent(Graphics g) { try { super.paintComponent(g); if(m_Image != null) { if(!m_Tracker.checkID(0)) m_Tracker.waitForID(0); if(m_bFitSize) g.drawImage(m_Image,1,1, getWidth() - 2,getHeight() - 2, null); else g.drawImage(m_Image,m_Pos.x,m_Pos.y,null); } } catch(Exception e) { e.printStackTrace(); } } public Dimension getImageSize() { if(m_Image == null) return new Dimension(0,0); try { if(!m_Tracker.checkID(0)) m_Tracker.waitForID(0); return new Dimension(m_Image.getWidth(null), m_Image.getHeight(null)); } catch(Exception e) { e.printStackTrace(); } return new Dimension(0,0); } public void setFitSize(boolean bFitSize) { m_bFitSize = bFitSize; } public boolean getFitSize() { return m_bFitSize; } public void setPos(Point pos) { m_Pos.x = pos.x; m_Pos.y = pos.y; } public Point getPos() { return (Point)m_Pos.clone(); } public void clear() { m_Tracker = null; m_Image = null; }} MyEclipse问题,Cannot connect to VM,新手求指教 急……急……急……(新手上路) 新手求教一题~~~~~ 分布式文件系统的实现问题 请问,怎样实现打印的内容中 既有文字又有图片, 想找工作了 有没有兄弟能拉一把的 变量和变量的值..与健值对的健,与值,有什么区别 unix下,java 能否实现与客户端的域socket通讯?能的话,如何实现?请大虾们赐教! 元数据 <java 5.0新增语言特性?> 还有注解 ???? metadata? 给我一个学习Java的理由 关于jar 在APPLET中快捷菜单怎么做?
import java.awt.Image;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.MediaTracker;
import java.awt.Dimension;
import java.awt.Point;public class ImageControl extends JPanel
{
private Image m_Image = null; //图象对象
private MediaTracker m_Tracker = null;
private boolean m_bFitSize = true; //是否自动调整到与该控件适合的尺寸
private Point m_Pos = new Point(0,0); //显示起始位置 public ImageControl()
{
super();
} public ImageControl(byte[] imageData) throws Exception
{
super();
LoadImage(imageData);
} public ImageControl(String sFile) throws Exception
{
super();
LoadImage(sFile);
} public boolean LoadImage(byte[] imageData) throws Exception
{
Image image = Toolkit.getDefaultToolkit().createImage(imageData);
if(image == null)
throw new Exception("读取图形数据错误!"); m_Image = image;
if(m_Tracker != null)
m_Tracker = null;
m_Tracker = new MediaTracker(this);
m_Tracker.addImage(m_Image,0); return true;
} public boolean LoadImage(String sFile) throws Exception
{
Image image = Toolkit.getDefaultToolkit().createImage(sFile);
if(image == null)
throw new Exception("读取图形数据错误!"); m_Image = image;
if(m_Tracker != null)
m_Tracker = null;
m_Tracker = new MediaTracker(this);
m_Tracker.addImage(m_Image,0); return true;
} protected void paintComponent(Graphics g)
{
try
{
super.paintComponent(g);
if(m_Image != null)
{
if(!m_Tracker.checkID(0))
m_Tracker.waitForID(0); if(m_bFitSize)
g.drawImage(m_Image,1,1,
getWidth() - 2,getHeight() - 2,
null);
else
g.drawImage(m_Image,m_Pos.x,m_Pos.y,null);
}
}
catch(Exception e)
{
e.printStackTrace();
}
} public Dimension getImageSize()
{
if(m_Image == null)
return new Dimension(0,0);
try
{
if(!m_Tracker.checkID(0))
m_Tracker.waitForID(0); return new Dimension(m_Image.getWidth(null),
m_Image.getHeight(null));
}
catch(Exception e)
{
e.printStackTrace();
} return new Dimension(0,0);
} public void setFitSize(boolean bFitSize)
{
m_bFitSize = bFitSize;
} public boolean getFitSize()
{
return m_bFitSize;
} public void setPos(Point pos)
{
m_Pos.x = pos.x;
m_Pos.y = pos.y;
} public Point getPos()
{
return (Point)m_Pos.clone();
} public void clear()
{
m_Tracker = null;
m_Image = null;
}
}