??xml version="1.0" encoding="utf-8" standalone="yes"?>99精品国自产在线,久久精品免费一区二区三区,亚洲欧美中文字幕http://www.aygfsteel.com/txdyny/zh-cnMon, 19 May 2025 00:23:24 GMTMon, 19 May 2025 00:23:24 GMT60Java Swing 学习 http://www.aygfsteel.com/txdyny/archive/2007/12/09/166482.html赵大?/dc:creator>赵大?/author>Sun, 09 Dec 2007 10:13:00 GMThttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166482.htmlhttp://www.aygfsteel.com/txdyny/comments/166482.htmlhttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166482.html#Feedback0http://www.aygfsteel.com/txdyny/comments/commentRss/166482.htmlhttp://www.aygfsteel.com/txdyny/services/trackbacks/166482.htmlJava Swing 学习   
 java.awt.Graphics是绘制图形的重要cR它提供最底层的线Q圆和矩形等的绘制。绘制图形和填充囑Ş在坐标和像素的设|上是有个很的区别。绘制时Q实际所得的像素要比坐标从右边和下边多出一行,所以设|时坐标应该是这Pg.drawRect(0,0,size.width-1,size.height-1);填充Ӟ只在所l制的坐标冈Q所以直译时应该是这Pg.fillRect(0,0,size.width,size.height)。这L制和填充好的囑Ş才对。虽然现在还用不着q些技术,但是对于更深ȝ了解AWT和Swing提供了基?/p>

    当框架和监听器不写在同一个类的时候,会出现在监听器类中难以访问框架类中swinglg。目前我认ؓ是不同的实例化对象的lg也不同,所以要在监听器cM讉K框架cM的组Ӟ可用以下两种ҎQ?/p>

1Q利用组件的的setActionCommand和监听器cM的getActionCommandҎ来框架中的lg在监听器cM得以识别。但q种Ҏ有局限性?/p>

2Q利用监听器cM一个构造方法传递框架类?/p>

 public MyActionListener(JFrame jframe){
  this.jFrame=jframe;
 }

q样Q在监听器类中可以像一般变量那栯用组件?/p>

]]>
(?java中equalsҎ?=逻辑q算W?http://www.aygfsteel.com/txdyny/archive/2007/12/09/166481.html赵大?/dc:creator>赵大?/author>Sun, 09 Dec 2007 10:10:00 GMThttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166481.htmlhttp://www.aygfsteel.com/txdyny/comments/166481.htmlhttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166481.html#Feedback0http://www.aygfsteel.com/txdyny/comments/commentRss/166481.htmlhttp://www.aygfsteel.com/txdyny/services/trackbacks/166481.htmljava中equalsҎ?=逻辑q算W?

    在Java中,我们比较两个对象时有两种ҎQ一U是直接使用逻辑q算W?=Pq有一U就是用equlas()函数Q该函数在Object中就定义了,所以每个类都会有这个函敎ͼ好了现在我们看看普通对象和字符串在使用q两U比较方式有什么不同,看下面代码,读者可以猜猜看l果是什么:

public class Equals {
 /**
  * @param args
  */
 public static void main(String[] args) {
  Object o1 = new Object();
  Object o2 = new Object();
  Object o3 = o1;
  Object o4 = o2;
  System.out.println( "o1.equals( o1 ): " + o1.equals( o1 ) );
  System.out.println( "o1.equals( o2 ): " + o1.equals( o2 ) );
  System.out.println( "o1.equals( o3 ): " + o1.equals( o3 ) );
  System.out.println( "o1.equals( o4 )" + o1.equals( o4 ) );
 
  System.out.println();
  System.out.println( "o1 == o1: " + ( o1 == o1 ) );
  System.out.println( "o1 == o2: " + ( o1 == o2 ) );
  System.out.println( "o1 == o3: " + ( o1 == o3 ) );
  System.out.println( "o1 == o4: " + ( o1 == o4 ) );
  System.out.println();
  String s1 = new String( "abc" );
  String s2 = new String( "abc" );
  String s3 = new String( "def" );
  String s4 = s1;
  String s5 = s2;
  String s6 = s3;
  System.out.println( "s1.equals( s1 ): " + s1.equals( s1 ) );
  System.out.println( "s1.equals( s2 ): " + s1.equals( s2 ) );
  System.out.println( "s1.equals( s3 ): " + s1.equals( s3 ) );
  System.out.println( "s1.equals( s4 ): " + s1.equals( s4 ) );
  System.out.println( "s1.equals( s5 ): " + s1.equals( s5 ) );
  System.out.println( "s1.equals( s6 ): " + s1.equals( s6 ) );
  System.out.println();
  System.out.println( "s1 == s1: " + ( s1 == s1 ) );
  System.out.println( "s1 == s2: " + ( s1 == s2 ) );
  System.out.println( "s1 == s3: " + ( s1 == s3 ) );
  System.out.println( "s1 == s4: " + ( s1 == s4 ) );
  System.out.println( "s1 == s5: " + ( s1 == s5 ) );
  System.out.println( "s1 == s6: " + ( s1 == s6 ) );
 }
}
 
有没有答案了Q如果有了,看看你的{案正确吗,
o1.equals( o1 ): true
o1.equals( o2 ): false
o1.equals( o3 ): true
o1.equals( o4 )false
o1 == o1: true
o1 == o2: false
o1 == o3: true
o1 == o4: false
s1.equals( s1 ): true
s1.equals( s2 ): true
s1.equals( s3 ): false
s1.equals( s4 ): true
s1.equals( s5 ): true
s1.equals( s6 ): false
s1 == s1: true
s1 == s2: false
s1 == s3: false
s1 == s4: true
s1 == s5: false
s1 == s6: false
 
Z么会出现上面的结果呢Q其实在Java中,逻辑q算W?=号在比较对象的时候是严格的比较这两个对象是不是同一个对象,说白了,它比较的是两个对象在内存中的地址Q只有当两个变量指向同一个内存地址卛_一个对象时才返回trueQ否则返回falseQ所以就可以看到当我们用newҎ创徏了o1和o2׃分配了两个不同的内存I间Q所以它们在用逻辑q算W?=h判断两个对象是否相等时自然应该返回的是falseQ而在比较o1和o3Ӟ׃o3指向的实际是o1所指向的地址Q所以返回trueQ在字符串中逻辑q算W?=的作用和普通对象是一L?br />  
那么对于o1和o2用equals()Ҏ比较q回的ؓ什么也是false呢,我们来看一D代码:
public boolean equals( Object o2 )
{
   this == o2;
}
q是Object中equals()函数的实玎ͼ可以看到实际上它的功能还是比较两个对象的地址Q自然你现在可以推出Z么o1和o2比较时还是返回false了?br />  
那现在问题可能来了,那ؓ什么s1和s2比较时返回的是true呢,他们在内存空间的地址可是不一L啊,呵呵Q其实这个理解v来更单了Q因为在StringcM重蝲了equals()函数Q它比较的是两个字W串的内容,而不是两个字W串对象在内存中的地址Q至于如何写q个函数我就不多说了Q大家可以自己写写看Q实现方式有多种Q不qSun公司当然只有那一U实现方式,哈哈



]]>
JARQ标准输入输出,文g输入输出 http://www.aygfsteel.com/txdyny/archive/2007/12/09/166480.html赵大?/dc:creator>赵大?/author>Sun, 09 Dec 2007 10:08:00 GMThttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166480.htmlhttp://www.aygfsteel.com/txdyny/comments/166480.htmlhttp://www.aygfsteel.com/txdyny/archive/2007/12/09/166480.html#Feedback0http://www.aygfsteel.com/txdyny/comments/commentRss/166480.htmlhttp://www.aygfsteel.com/txdyny/services/trackbacks/166480.htmlJARQ标准输入输出,文g输入输出

  今天软gl于做出来了Q用JAR打包Q打了十几次都没打成功。在|上找了

一个多钟头才找C问题的所在,竟然是一个回车,以下是MANIFEST.MF文g的内

容:

Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: StuLogon

在含有MainҎ的类StuLogon后边一定要加上回RQ让光标C一行。就q么?/p>

问题费了我一个钟头时间?/p>

标准输入输出

从键盘输入(读)到内存,再从内存输出Q写Q到昄?/p>

文g输入输出

从h输出Q写Q到文gQ再从文件输入(读)到内存,再从内存输出Q写Q到?/p>

C器 



]]>
(?jdk与jre的区?/title><link>http://www.aygfsteel.com/txdyny/archive/2007/12/09/166479.html</link><dc:creator>赵大?/dc:creator><author>赵大?/author><pubDate>Sun, 09 Dec 2007 10:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/txdyny/archive/2007/12/09/166479.html</guid><wfw:comment>http://www.aygfsteel.com/txdyny/comments/166479.html</wfw:comment><comments>http://www.aygfsteel.com/txdyny/archive/2007/12/09/166479.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/txdyny/comments/commentRss/166479.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/txdyny/services/trackbacks/166479.html</trackback:ping><description><![CDATA[<p>jdk与jre的区?br />  <br /> 对于java初学者来_往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下:</p> <p>单的说JDK是面向开发h员用的SDKQ它提供了Java的开发环境和q行环境。SDK是Software Development Kit 一般指软g开发包Q可以包括函数库、编译程序等?br />    JDK是Java Development Kit<br /> JRE是Java Runtime Enviroment是指Java的运行环境,是面向JavaE序的用者,而不是开发者?/p> <p>如果安装了JDKQ会发同你的电脑有两套JREQ一套位?/jre 另外一套位?C:/Program Files/Java/j2re1.4.1_01 目录下,后面q套比前面那套少了Server端的Java虚拟机,不过直接前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装q个位于 C:/Program Files/Jav a 目录下的JRE。如果你只安装JREQ而不是JDKQ那么只会在 C:/Program Files/Java 目录下安装唯一的一套JRE?</p> <p>     JRE的地位就象一台PCZP我们写好的Win32应用E序需要操作系l帮我们q行Q同LQ我们编写的JavaE序也必要JRE才能q行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JREQ那么你可以惌你的电脑有两台虚拟的Java PC机,都具有运行JavaE序的功能。所以我们可以说Q只要你的电脑安装了JREQ就可以正确q行Jav a应用E序?/p> <p>       1、ؓ什么Sun要让JDK安装两套相同的JREQ这是因为JDK里面有很多用Java所~写的开发工P如javac.exe、jar.exe{)Q而且都放|在 /lib/tools.jar 里。从下面例子可以看出Q先tools.jar改名为tools1.jarQ然后运行javac.exeQ显C如下结果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main q个意思是_你输入javac.exe与输?java -cp c:/jdk/lib/tools.jar com.sun.tools.javac.Main 是一LQ会得到相同的结果。从q里我们可以证明javac.exe只是一个包装器QWrapperQ,而制作的目的是ؓ了让开发者免于输入太长的指命。而且可以发现/lib目录下的E序都很,不大? 9KQ从q里我们可以得出一个结论。就是JDK里的工具几乎是用Java所~写Q所以也是Java应用E序Q因此要使用JDK所附的工具来开发JavaE序Q也必须要自行附一套JRE才行Q所以位于C:/Program Files/Java目录下的那套JRE是用来q行一般JavaE序用的?</p> <p>      2、如果一台电脑安装两套以上的JREQ谁来决定呢Q这个重大Q务就落在java.exew上。Java.exe的工作就是找到合适的JRE来运行JavaE序?Java.exe依照底下的顺序来查找JREQ自q目录下有没有JREQ父目录有没有JREQ查询注册表Q?[HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment] 所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关pR?</p> <p>     3、介lJVM JRE目录下的Bin目录有两个目录:server与client。这是真正的jvm.dll所在?jvm.dll无法单独工作Q当jvm.dll启动后,会用explicit的方法(是使用Win32 API之中的LoadLibrary()与GetProcAddress()来蝲入辅助用的动态链接库Q,而这些辅助用的动态链接库Q?dllQ都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVMQ只需要设|PATHQ指向JRE所在目录底下的jvm.dll?/p> <img src ="http://www.aygfsteel.com/txdyny/aggbug/166479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/txdyny/" target="_blank">赵大?/a> 2007-12-09 18:06 <a href="http://www.aygfsteel.com/txdyny/archive/2007/12/09/166479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">崨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϽϽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⽭</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">Ͽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">μ</a>| <a href="http://" target="_blank">ζ</a>| <a href="http://" target="_blank">ƺ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ؼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ƶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>