在使用awt的image时候,不是能时时获取到图像的宽和高,

GetWidth()函数偶尔得到的值为-1,暂时没有找到解决方法。

代码:

   public class picture extends JFrame
{
ImageIcon icon = new ImageIcon();
Image image;// =Toolkit.getDefaultToolkit().getImage("D:\\DataSet\\CNN\\YoloV1\\hunt.jpg"); picture( String imagepath )
{//constructor image = Toolkit.getDefaultToolkit().getImage(imagepath);
//ImageObserver obj = new ImageObserver();
int h =image.getHeight( null );//-1
int w =image.getWidth( null );
System.out.print("h:");System.out.print(h);System.out.printf(" \n");
System.out.print("w:");System.out.print(w);System.out.printf(" \n");
this.setSize( 800,480 );
this.setSize( w,h );
icon.setImage( image );
JButton button = new JButton();
button.setIcon(icon); this.getContentPane().add(button);
this.setVisible(true);
} picture( String imagepath ,int w, int h)
{//constructor image = Toolkit.getDefaultToolkit().getImage(imagepath);
//ImageObserver obj = new ImageObserver();
//int h =image.getHeight( null );//-1
//int w =image.getWidth( null );
System.out.print("h:");System.out.print(h);System.out.printf(" \n");
System.out.print("w:");System.out.print(w);System.out.printf(" \n");
//this.setSize( 800,480 );
this.setSize( w,h );
icon.setImage( image );
JButton button = new JButton();
button.setIcon(icon); this.getContentPane().add(button);
this.setVisible(true);
} }

使用方法:

使用初始化直接载入图像尽心一次显示。怎么刷新呢?

JAVA;使用java.awt.Image的不稳定性的更多相关文章

  1. java学习:AWT组件和事件处理的笔记(1)--Frame

    1.java的抽象窗口工具包(AWT)中包含了许多类来支持GUI设计2.AWT由java的java.awt包提供3.再进行GUI编程时,要理解:容器类(Container),组件(component) ...

  2. 浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点

    浅谈JAVA GUI中,AWT与Swing的区别.联系及优缺点 A.区别 1.发布的时间 AWT是在JDK 1.0版本时提出的 Swing是在AWT之后提出的(JAVA 2) 2. ”重量” AWT是 ...

  3. Java学习之AWT GUI编程

    Java学习之AWT GUI编程 0x00 前言 既然前面提到了要重写冰蝎和一些反序列化工具,当然就不能随便说说而已.在编写这些工具还是要使用图形化工具来的方便一些,所以提前把GUI的框架给学习一遍. ...

  4. Java - 33 Java Applet基础

    Java Applet基础 applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序. 如下所示是独 ...

  5. Java - 25 Java 接口

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  6. Java英文单词Java基础常见英语词汇

    Java英文单词Java基础常见英语词汇(共70个)                                                                          ...

  7. java课java方法动手动脑

    动手动脑: import java.util.Scanner; public class Random { public static void main(String[] args) {       ...

  8. 从net到java:java快速入门

    学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  10. Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

    3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = ...

随机推荐

  1. 【模板】dijkstra

    洛谷 4779 #include<cstdio> #include<cstring> #include<algorithm> #include<queue&g ...

  2. hadoop2.3.0cdh5.0.2 升级到cdh5.7.0

    后儿就放假了,上班这心真心收不住,为了能充实的度过这难熬的两天,我决定搞个大工程.....ps:我为啥这么期待放假呢,在沙发上像死人一样躺一天真的有意义嘛....... 当然版本:hadoop2.3. ...

  3. jenkins简单持续构建

    一.安装jenkins 二.将需要持续构建的java project打包成jar文件 1.选择导出需要运行的main方法所在java类

  4. Color the ball 线段树 区间更新但点查询

    #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...

  5. Clojure:从Java调用Clojure

    我们要在Java中调用Clojure有两种方法,一种是将Clojure代码生成class文件,另外一种是通过Clojure RT方式直接在java程序中调用Clojure代码.两种方式各有优缺点, 第 ...

  6. ZendFramework2学习笔记 表单过滤、表单验证

    ZF2有非常多内建的Filter和Validator组件,能够方便地对表单数据进行处理. Filter的作用是过滤表单数据.比如,去除一些空格,替换一些敏感词等. Validator的作用是检验表单数 ...

  7. iOS UITableView 去除多余切割线

    在UITableView初始化时加上下面代码就可以: self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero ...

  8. Microsoft ASP.NET SignalR

    SignalR类似与JavaScript实时框架,如Socket.IO.SignalR能够完成客户端向服务器的异步通信,并同时支持服务器向浏览器客户端推送事件.SignalR的连接通过日益流行的Web ...

  9. 第2章 安装Nodejs 2-2 Nodejs版本常识

  10. codevs1688 求逆序对(权值线段树)

    1688 求逆序对  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 给定一个序列a1,a2,…, ...