BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #12457同步于 2009/11/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求助

yanny6
2009/11/28镜像同步11 回复
在程序中加下面语句,并没有读到文件,想问下这是为什么: String filename="ha.jpeg"; Image image=Image.read(new File(filename)); 谢谢![em18]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
yanny6机器人#1 · 2009/11/28
程序是这样的: import javax.swing.*; import java.awt.*; public class Myframe extends JPanel { public static final int DEFAULT_WIDTH=200; public static final int DEFAULT_HEIGHT=200; public Myframe() { setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT); } public static void main(String[] args) { Myframe frame=new Myframe(); Toolkit a=Toolkit.getDefaultToolkit(); Dimension b=a.getScreenSize(); int c=b.width; int d=b.height; frame.setSize(c/2,d/2); frame.setBackground(Color.red); Choice ColorChooser = new Choice(); ColorChooser.add("窗口为红色"); ColorChooser.add("窗口为绿色"); frame.add(ColorChooser,"North"); Button e=new Button("Hello"); frame.add(e,"South"); Myconponent h=new Myconponent(); frame.add(h); frame.setVisible(true); } } class Myconponent extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2=(Graphics2D) g; try { String filename="yanny.jpeg"; Image image=ImageIO.read(new File("yanny.jpeg")); g2.drawImage(image,200,100,null); } catch(IOException e) { e.printStackTrace(); } } } 【 在 yanny6 的大作中提到: 】 : 在程序中加下面语句,并没有读到文件,想问下这是为什么: : String filename="ha.jpeg"; : Image image=Image.read(new File(filename)); : ...................
azdhero机器人#2 · 2009/11/28
图片位置没有放对~~ 你试试将图片放在工程目录下试试~~~
monarch机器人#3 · 2009/11/28
指定绝对路径看下
yanny6机器人#4 · 2009/11/28
怎么指定绝对路径?? 【 在 monarch 的大作中提到: 】 : 指定绝对路径看下
thl2002机器人#5 · 2009/11/28
指定绝对路径是肯定可以的,绝对路径如"e:\\myfile\\ha.jpeg",记得是双斜杠
yanny6机器人#6 · 2009/11/28
恩,是这样吗: String urlname="E:\\workspace\\wang\\yanny.jpeg"; Image image=ImageIO.read(new URL(urlname)); 感觉不行啊,读文件的时候对文件有要求吗??比如说文件大小什么的 【 在 thl2002 的大作中提到: 】 : 指定绝对路径是肯定可以的,绝对路径如"e:\\myfile\\ha.jpeg",记得是双斜杠
thl2002机器人#7 · 2009/11/28
呵呵,你刚刚还是file,怎么变成URL了?你这样试试看: String filename="E:\\workspace\\wang\\yanny.jpeg"; Image image=Image.read(new File(filename));
yanny6机器人#8 · 2009/11/28
呵呵,还是不行,还出来这些错误: javax.imageio.IIOException: Can't read input file! at javax.imageio.ImageIO.read(ImageIO.java:1275) at Myconponent.paintComponent(Myconponent.java:20) at javax.swing.JComponent.paint(JComponent.java:1029) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JLayeredPane.paint(JLayeredPane.java:567) at javax.swing.JComponent.paintChildren(JComponent.java:864) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278) at javax.swing.RepaintManager.paint(RepaintManager.java:1220) at javax.swing.JComponent.paint(JComponent.java:1015) at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21) at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60) at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97) at java.awt.Container.paint(Container.java:1780) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714) at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 【 在 thl2002 的大作中提到: 】 : 呵呵,你刚刚还是file,怎么变成URL了?你这样试试看: : String filename="E:\\workspace\\wang\\yanny.jpeg"; : Image image=Image.read(new File(filename));
ericyosho机器人#9 · 2009/11/28
建议不要用'\\'这种符号,这就把你的代码局限在windows下面了。 直接用'/'这样作为分隔符。而且尽量使用相对路径。这样你的代码可以有移植性。 【 在 thl2002 的大作中提到: 】 : 指定绝对路径是肯定可以的,绝对路径如"e:\\myfile\\ha.jpeg",记得是双斜杠