﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-呆子的生活-随笔分类-Core Java</title><link>http://www.blogjava.net/adaiye/category/25119.html</link><description>呆子的生活</description><language>zh-cn</language><lastBuildDate>Tue, 21 Aug 2007 12:13:22 GMT</lastBuildDate><pubDate>Tue, 21 Aug 2007 12:13:22 GMT</pubDate><ttl>60</ttl><item><title>Core Java2 6th 摘要（8）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/18/137862.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Sat, 18 Aug 2007 14:08:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/18/137862.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/137862.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/18/137862.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/137862.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/137862.html</trackback:ping><description><![CDATA[<p> <script type="text/javascript"><!--
google_ad_client = "pub-2823374497557651";
google_ad_width =" 300;
google_ad_height" = 250;
google_ad_format =" "300x250_as";
google_ad_type" = "image";
//2007-08-17: filemid pic
google_ad_channel =" "6617677490";
google_color_border" = "000000";
google_color_bg =" "caf99b";
google_color_link" = "0000ff";
google_color_text =" "000000";
google_color_url" = "008000";
//-->
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>   <script type="text/javascript"><!--
google_ad_client = "pub-2823374497557651";
google_ad_width =" 250;
google_ad_height" = 250;
google_ad_format =" "250x250_as";
google_ad_type" = "text_image";
//2007-08-18: youhua
google_ad_channel =" "1405522066";
google_color_border" = "ffffff";
google_color_bg =" "ffffff";
google_color_link" = "000000";
google_color_text =" "000000";
google_color_url" = "008000";
//-->
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script> </p>
<p>每个组件都有三要素：</p>
<ul>
    <li>内容，例如，按钮的状态（是否按下）或者文本框中的文本</li>
    <li>外观显示（颜色、尺寸等）</li>
    <li>行为（对事件的反应）</li>
</ul>
<p>&nbsp;</p>
<p>模型——视图——控制器（MVC）模式实现三个独立的类：</p>
<ul>
    <li>模型——存储内容</li>
    <li>视图——显示内容</li>
    <li>控制器——处理用户输入</li>
</ul>
<p>模型——视图——控制器模式的一点优点是一个模型可以有多个视图，其中每个视图可以显示完整内容的不同部分或不同方面。</p>
<p>&nbsp;</p>
<p>使用setColumns方法改变了一个文本框的大小以后，以需要调用包容该文本框的容器的validate方法。</p>
<p>textField.setColumns(10);</p>
<p>panel.validate();</p>
<p>validate()方法会重新计算容器内所有组件的大小，并且对它们重新布局。使用完validate()方法以后，布局管理器会重新绘制容器，然后就可以看到改变尺寸后的文本框。</p>
<p>&nbsp;</p>
<p>通常，不可能通过过滤器避免所有的无效字符串。&nbsp;</p>
<p>过滤器的另外一个用途就是把字符串中的所有字符变成大写。这样的过滤器很容易编写，在过滤器的insertString和replace方法中，把要被插入的字符串转换为大写的，然后调用超类方法。</p>
<p>&nbsp;</p>
<p>你可以给任何JComponent附加检验器。如果组件失去焦点，那么就询问检验器。如果检验器报告说组件的内容无效，该组件立即重新获得焦点，用户在提供其他输入前强迫修改内容。</p>
<p>&nbsp;</p>
<p>在Swing中，组件增加滚动条的通用机制是：把组件添加进一个滚动窗格中。</p>
<p>&nbsp;</p>
<p>标签是容纳文本的组件。这种组件没有修饰（例如，没有边界），它们也不响应用户输入，你可以使用一个标签来标识组件。给组件设置标签的方法如下：</p>
<ol>
    <li>使用正确的文本构造一个JLabel组件。</li>
    <li>把该标签组件放置到同需要标识的组件足够近的地方，这样用户能看到该标签标识了哪个组件。</li>
</ol>
<p>从J2SE1.3开始，按钮、标签以及菜单项中不仅可以无格式的文本，还可以使用HTML文本。注意，第一个使用HTML标签的组件需要延迟一段时间才能显示出来，这是因为必须加载相当复杂的HTML翻译代码。</p><img src ="http://www.blogjava.net/adaiye/aggbug/137862.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-18 22:08 <a href="http://www.blogjava.net/adaiye/archive/2007/08/18/137862.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java2 6th 摘要（7）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/17/137699.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Fri, 17 Aug 2007 14:01:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/17/137699.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/137699.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/17/137699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/137699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/137699.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: AWT中事件处理机制的概览：<br><br>    * 一个监听器对象是一个实现了专门的监听器接口的类的实例。<br>    * 一个事件源是一个能够注册监听器对象并向它们发送事件对象的对象。<br>    * 事件发生时，事件源会把事件对象发生给所有的注册监听器。<br>    * 监听器对象随后会使用事件对象中的信息来决定对事件的反应。&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/17/137699.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/137699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-17 22:01 <a href="http://www.blogjava.net/adaiye/archive/2007/08/17/137699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java2 6th 摘要（6）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/16/137343.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Thu, 16 Aug 2007 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/16/137343.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/137343.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/16/137343.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/137343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/137343.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 内部类是定义在其他类内部的类。使用内部类的原因有以下四个：<br><br>    * 内部类对象能够访问创建它的对象的实现——包括那些私有数据；<br>    * 内部类能够隐藏起来，不为同一包中的其他类所见；<br>    * 匿名内部类可以方便地定义运行时回调；<br>    * 使用内部类在编写事件驱动的程序时用起来很方便。&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/16/137343.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/137343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-16 17:32 <a href="http://www.blogjava.net/adaiye/archive/2007/08/16/137343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java2 6th 摘要（5）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/15/137051.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Wed, 15 Aug 2007 13:23:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/15/137051.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/137051.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/15/137051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/137051.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/137051.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 设计继承的建议:<br><br>   1. 把通用字段和操作放到超类中;<br>   2. 不要使用受保护字段;<br>   3. 使用继承来模型化"is-a"关系;<br>   4. 除非所有继承的方法都有意义,否则不要使用继承;<br>   5. 使用多态,而非类型信息;<br>   6. 不要滥用反射.&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/15/137051.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/137051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-15 21:23 <a href="http://www.blogjava.net/adaiye/archive/2007/08/15/137051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java2 6th 摘要（4）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/14/136560.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Tue, 14 Aug 2007 01:07:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/14/136560.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/136560.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/14/136560.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/136560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/136560.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 编写完美equals方法的建议：<br>1. 显示参数命名为otherObject<br>2. 测试this同otherObject是否是同一个对象：<br>if(this == otherObject) return ture;<br>3. 测试otherObject是否为null。如果是，就返回false。这个测试是必需的：if(otherObject == null) return false;<br>4. 测试this和otherObject是否属于同一个类。这项测试是“对称性规则”所要求的。 if(getClass() != otherObject.getClass()) return false;<br>5. 把otherObject的类型转换为你的类型所属的类型。<br>ClassName other = (ClassName)otherObject;<br>6. 最后比较所有字段。使用==比较基本类型字段，使用equals比较对象字段。&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/14/136560.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/136560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-14 09:07 <a href="http://www.blogjava.net/adaiye/archive/2007/08/14/136560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java2 6th 摘要（3）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/14/136558.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Tue, 14 Aug 2007 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/14/136558.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/136558.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/14/136558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/136558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/136558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 继承&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/14/136558.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/136558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-14 09:05 <a href="http://www.blogjava.net/adaiye/archive/2007/08/14/136558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java摘要（2）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/11/136010.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Sat, 11 Aug 2007 05:13:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/11/136010.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/136010.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/11/136010.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/136010.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/136010.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 类设计的技巧：<br>       1. 一定要让数据私有。<br>       2. 一定要初始化数据。<br>       3. 不要在类中过多使用基本类型。<br>       4. 并非所有字段都需要独自的字段访问方法和更改方法。<br>       5. 为类定义使用标准格式。<br>       6. 分解职责太多的类。<br>       7. 让类和方法的名字反映它们的职责。 &nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/11/136010.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/136010.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-11 13:13 <a href="http://www.blogjava.net/adaiye/archive/2007/08/11/136010.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java摘要（1）</title><link>http://www.blogjava.net/adaiye/archive/2007/08/11/136008.html</link><dc:creator>adaiye</dc:creator><author>adaiye</author><pubDate>Sat, 11 Aug 2007 05:10:00 GMT</pubDate><guid>http://www.blogjava.net/adaiye/archive/2007/08/11/136008.html</guid><wfw:comment>http://www.blogjava.net/adaiye/comments/136008.html</wfw:comment><comments>http://www.blogjava.net/adaiye/archive/2007/08/11/136008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adaiye/comments/commentRss/136008.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adaiye/services/trackbacks/136008.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 要测试两个字符串是否相等，可以使用equals方法。如果字符串s和t相同，那么表达式s.equals(t)将返回true，否则返回false。<br>不要使用==操作符来检测两个字符相等与否！它只能判断两个字符串是否存储在同一位置。&nbsp;&nbsp;<a href='http://www.blogjava.net/adaiye/archive/2007/08/11/136008.html'>阅读全文</a><img src ="http://www.blogjava.net/adaiye/aggbug/136008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adaiye/" target="_blank">adaiye</a> 2007-08-11 13:10 <a href="http://www.blogjava.net/adaiye/archive/2007/08/11/136008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>