??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
package ch02.section02;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
public class SwingTest extends JFrame{
public SwingTest(){
MenuTest menuTest=new MenuTest();
LeftPanel leftPanel=new LeftPanel();
RightPanel rightPanel=new RightPanel();
BottomPanel bottomPanel=new BottomPanel();
CenterPanel centerPanel=new CenterPanel();
Container c=this.getContentPane();
this.setJMenuBar(menuTest);
c.add(leftPanel,BorderLayout.WEST);
c.add(rightPanel,BorderLayout.EAST);
c.add(centerPanel,BorderLayout.CENTER);
c.add(bottomPanel,BorderLayout.SOUTH);
this.addWindowListener(new WindowAdapter(){
public void WindowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
setSize(700,500);
setTitle("Swing lg大全体版");
setUndecorated(true);
setLocation(200,150);
show();
}
class MenuTest extends JMenuBar{
private JDialog aboutDialog;
public MenuTest(){
JMenu fileMenu=new JMenu("文g");
JMenuItem exitMenuItem=new JMenuItem("退?,KeyEvent.VK_E);
JMenuItem aboutMenuItem=new JMenuItem("关于..",KeyEvent.VK_A);
fileMenu.add(exitMenuItem);
fileMenu.add(aboutMenuItem);
this.add(fileMenu);
aboutDialog=new JDialog();
initAboutDialog();
exitMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
System.exit(0);
}
});
aboutMenuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
aboutDialog.show();
}
});
}
安装WTK
从java.sun.com/">http://java.sun.com/下蝲j2me_wireless_toolkit-2_2-windows.exe
安装到指定\径,我选择D:WTK22
安装Eclipse
从http://www.eclipse.org/下蝲eclipse-SDK-3.0.1-win32.zip?br />
NLpack-eclipse-SDK-3.0.x-win32.zipQ语a包)
解压~eclipse-SDK-3.0.1-win32.zip卛_Q我的\径:D:MyDevelopToolseclipse
解压~NLpack-eclipse-SDK-3.0.x-win32.zip,得到features和plugins两个文g夹,把里面的文g分别拷入eclipse中相应的目录下即?br />
安装Tomcat
从http://jakarta.apache.org/下蝲jakarta-tomcat-5.5.9.zip
解压~jakarta-tomcat-5.5.9.zip卛_
配置环境变量Q?br />
Tomcat_Home: D:MyDevelopTools omcat-5.5.9
PATH: D:MyDevelopTools omcat-5.5.9;
在eclipse中配|J2ME开发环境:
安装eclipseme:
从http://www.eclipseme.org/下蝲eclipseme.feature_0.9.4_site.zip
在eclipse中选择帮助-〉Y件更?〉查扑ƈ安装-〉搜索要安装的新功能部g-〉新建已归档的站?br />
选择eclipseme.feature_0.9.4_site.zipQ打开-〉选择eclipseme.feature_0.9.4_site.zipQ剩下的一直下一步就可以了。安装完成会在窗?〉首选项中出现J2ME
修改JAVA-〉调试:
选中JAVA-〉调试,把暂挂执行的前两点去,通信中的调试器超时改?5000
配置WTK
H口-〉首选项-〉J2ME-〉Platform Components
右键单击对话框右侧的Wireless ToolkitQ选择Add Wireless Toolkit,
选择WTK安装目录Qeclipse会自动匹配?/p>
在eclipse中配|J2EE开发环?Tomcat5.5.9)Q?br />
安装EMF-RunTime:
从http://www.eclipseme.org/下蝲emf-sdo-runtime-2.0.1.zip
解压~emf-sdo-runtime-2.0.1.zip,得到features和plugins两个文g夹,把里面的文g分别拷入eclipse中相应的目录下即可?nbsp;
安装LombozQ?br />
从http://forge.objectweb.org下蝲org.objectweb.lomboz_3.0.1.N20050106.zip解压~org.objectweb.lomboz_3.0.1.N20050106.zip,得到features和plugins两个文g夹,把里面的文g分别拷入eclipse中相应的目录下。如果在H口-〉首选项中有Lomboz选项安装正,如果没有Q在D:eclipseconfiguration下删除org.eclipse.updateq个文g?再重起eclipse可以了?br />
配置Lomboz:
在D:eclipsepluginscom.objectlearn.jdt.j2ee_3.0.1servers下新Z个文件tomcat559.serverQ里面的内容从tomcat50x.server全部复制q来Q把name="Apache Tomcat v5.0.x"替换成name="Apache Tomcat v5.5.9"Q然后把所有的
“${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”替换?br />
“${serverRootDirectory}/common/endorsed”可以了。然后进入eclipseQ窗?〉首选项-〉Lomboz,把JDK Tools.jar改ؓQD:jdk1.5.0lib ools.jarQ窗?〉首选项-〉Lomboz-〉Server Definitions,在Server types中选择Tomcat5.5.9在Application Server Directory和Classpath Variable的\径改为D:/MyDevelopTools/tomcat-5.5.9先应用,再确定就可以了?/p>
来自QJAVA中文?/strong>: 我们要做中国最好的JAVA门户|站,
public class Equivalence {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
}
} ///:~
其中Q表辑ּSystem.out.println(n1 == n2)可打印出内部的布比较结果。一般h都会认ؓ输出l果肯定先是trueQ再是falseQ因Z个Integer对象都是相同的。但管对象的内容相同,句柄却是不同的,?=?=比较的正好就是对象句柄。所以输出结果实际上先是falseQ再是true。这自然会ɽW一ơ接触的人感到惊奇?/p>
若想Ҏ两个对象的实际内Ҏ否相同,又该如何操作呢?此时Q必M用所有对象都适用的特D方法equals()。但q个Ҏ不适用?#8220;ȝ?#8221;Q那些类型直接?=?=卛_。下面D例说明如何用:
//: EqualsMethod.java
public class EqualsMethod {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));
}
} ///:~
正如我们预计的那P此时得到的结果是true。但事情q未到此l束Q假设您创徏了自qc,p下面q样Q?/p>
//: EqualsMethod2.java
class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
} ///:~
此时的结果又变回了falseQ这是由于equals()的默认行为是比较句柄。所以除非在自己的新cM改变了equals()Q否则不可能表现出我们希望的行ؓ。不q的是,要到W?章才会学习如何改变行为。但要注意equals()的这U行为方式同时或许能够避免一?#8220;N”性的事g?/p>
大多数Javacd都实Cequals()Q所以它实际比较的是对象的内容,而非它们的句?br />
中国IT实验?/p>