初学JAVA的一个小问题,望高人解答!

问题描述

packagechapter3;importjavax.swing.*;importjava.awt.*;publicclassColoredRectangle{//描述对象的实例变量privateintwidth;//矩形宽度privateintheight;//矩形高度privateintx;//矩形的x坐标privateinty;//矩形的y坐标privateJFramewindow;//显示矩形的窗口privateColorcolor;//矩形的颜色//ColoredRectangle();默认构造器publicColoredRectangle(){window=newJFrame("BoxFun");window.setSize(200,200);width=40;height=20;x=80;y=90;color=Color.BLUE;window.setVisible(true);}//paint();在窗口中显示矩形publicvoidpaint(){Graphicsg=window.getGraphics();g.setColor(color);g.fillRect(x,y,width,height);}}

以上是类ColoredRectangle的定义packagechapter3;importjava.io.*;publicclassBoxFun{//main()应用程序入口publicstaticvoidmain(String[]args)throwsIOException{ColoredRectangler1=newColoredRectangle();ColoredRectangler2=newColoredRectangle();System.out.println("Enterwhenready");System.in.read();r1.paint();r2.paint();}}

以上是实现程序,问题是如果我注释掉System.in.read()这句,后面两句paint的效果不会在窗口中显示。请教是为什么?

解决方案

解决方案二:
System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。
解决方案三:
该回复于2011-04-18 14:42:20被版主删除
解决方案四:
引用1楼yanji2007的回复:

System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。

这我知道,问题是如果去掉这句,就看不见后面的paint函数在窗口里画的那个矩形
解决方案五:
该回复于2010-12-20 15:29:41被版主删除
解决方案六:
我在Eclipse中没有发现你说的问题问题
解决方案七:
不知道,估计是没有刷新的原因吧,java swing不刷新有时是不会显示的
解决方案八:
学习学习!天天向上!
解决方案九:
引用3楼liuyang1204的回复:

引用1楼yanji2007的回复:System.in返回的是InputStream指向命令行输入的字节流,它的read方法以字节流的方式来读取命令行的输入的数据。这我知道,问题是如果去掉这句,就看不见后面的paint函数在窗口里画的那个矩形

我也是来学习的,呵呵!
解决方案十:
学习~

时间: 2024-09-19 20:44:02

初学JAVA的一个小问题,望高人解答!的相关文章

Java初学一枚 一个小程序 求有人帮我看看

问题描述 Java初学一枚 一个小程序 求有人帮我看看 package malnAV; public class Work3_3 { public static void main(String[] args) { //??? //方法 main 不能声明为"静态":只能在静态类型或顶级类型中才能声明静态方法 Emp e1=new Emp(001,"张三"); Emp e2=new Emp(002,"李四"); Emp e3=new Emp(00

java基础-关于Java的一个小程序

问题描述 关于Java的一个小程序 刚从Python转到Java,感觉不适应.老师让我们编一个简单的小程序不需要用的GUI.但是里面有很多东西没学过.比如在java里随机数怎么生成,以及Point,toString怎么使用.最重要的是java里的类要怎么写.是在一个Package里面写还是要在一个java类里面写.下面是有关的说明,希望有人可以指点一下,谢谢 We can see the following classes in the diagram: ● Ship - handles the

java类的问题-初学java,,,,,求解答

问题描述 初学java,,,,,求解答 就这个技能训练3-----4应该怎么做 解决方案 字符串输入,然后截取前六位代表地区,7-12位标识出生年月日 Scanner scan=new Scanner(System.in); str=scan.nextLine();//输入身份证号码,自己写验证是否合法 String area = str.substring(0,6);//前六位,地区 String date = str.substring(6,12);//出生日期 解决方案二: 第二行开始少个

结果是什么啊-一个小程序,求解答啊

问题描述 一个小程序,求解答啊 在别人文章里看到的程序 程序的输出结果是什么,why? #include int main() { int a[5] = {1,2,3,4,5}; int p = (int)(&a + 1); printf("%d, %dn", *(a + 1), *(p -1)); } 解决方案 int a[5] = {1,2,3,4,5}; int* p = (int*)(&a + 1); printf("%d, %dn", *(

printf-c语言中阶乘的一个小问题,求解答

问题描述 c语言中阶乘的一个小问题,求解答 #include #include #include #include int main() { const int MODE=1000000; int s=0; int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++) { int factorial=1; for(j=1;j<=i;j++) factorial=(factorial*j%MODE); s=(s+factorial)%MOD

java基础-Java基础一个问题,求帮忙解答

问题描述 Java基础一个问题,求帮忙解答 有一个java类 public final class Test{ private long position = -1; public void method(){ position++; } } 当系统中A访问Test method后,position值为多少,B再访问Test method后,position值为多少? 为什么,求帮忙解答? 解决方案 访问之后,position的值始终为0,这是一个final类,每次进去访问时,position的

学习Java中遇到一个小问题,请求解答!

问题描述 TheserializableclassCyberPetAppletdoesnotdeclareastaticfinalserialVersionUIDfieldoftypelong请问这是什么意思呀?程序运行都没有问题,但总是亮着电灯泡,看着都不舒服! 解决方案 解决方案二:需要在类中定义一个这样的静态字段privatestaticfinallongserialVersionUID=8424700649610459072L;这是序列化要求,是因为父类或本类实现了java.io.Ser

java的一个小题目 希望牛人帮忙指点下

问题描述 题目是这样的:求主串mainstring中与指定字符串s相识度最大的所有字串通过键盘输入一个主串mainstring和字符串s计算出mainstring和s的最大相似度的所有字串还要显示字串在主串中的位置麻烦高手把思路写下来告诉我应该怎么入手编写希望详细点 解决方案 解决方案二:最长公共子串么?百度下吧,有现成的算法解决方案三:这类题目很基础,还是自己独立完成更好解决方案四:字符串相比较?解决方案五:这么简单还不会呀解决方案六:char[]s=a.toCharArray(); 然后循环

初学JAVA,一个关于插件的问题

问题描述 我想用Eclipse开发一个应用程序,这个程序可以通过插件定制扩展功能,求思路,越详细越好,:)即我想把功能都做成插件形式,需要某个功能我就注册到我的程序中去... 解决方案 解决方案二:想知道,帮顶解决方案三:eclipse不就是这样的么?解决方案四:引用2楼believefym的回复: eclipse不就是这样的么? 是啊,可是要我自己做我不会啊解决方案五:我也想学习解决方案六:EclipsePlug-in开发目前比较流行.主要技术OSGI.SWT/JFACE.RCP这是我做的一个