http://www-900.ibm.com/developerWorks/cn/java/j-j2int/index.shtml这里有一个简单的 awt 界面的编辑器,代码很简单:/* * JEdit.java * */import java.awt.*; import java.io.*;class JEdit extends Frame { TextArea jText = new TextArea(); String jFile = new String(); JEdit() { super("JEdit Alpha 0.1"); setLayout(new BorderLayout()); add("Center", jText); jText.setFont(new Font("Courrier",Font.PLAIN,12)); //jText.setBackground(Color.black); //jText.setForeground(Color.white); Menu menu = new Menu("File"); menu.add(new MenuItem("Open")); menu.add(new MenuItem("Save")); menu.add(new MenuItem("Save As")); menu.add(new MenuItem("Quit")); Menu menu2 = new Menu("Help"); menu2.add(new MenuItem("About")); MenuBar menuBar = new MenuBar(); menuBar.add(menu); menuBar.add(menu2); setMenuBar(menuBar); pack(); setBounds(100,100,480,400); } public boolean action (Event event, Object obj) { if (((String)obj).equals("Quit")) dispose(); else if (((String)obj).equals("Open")) loadFile(); else if (((String)obj).equals("Save")) saveFile(); else if (((String)obj).equals("Save As")) saveFileAs(); else if (((String)obj).equals("About")) about(); return true; } private void loadFile() { FileDialog fd = new FileDialog(this,"Open a file", FileDialog.LOAD); fd.show(); jFile=fd.getDirectory()+fd.getFile(); if (jFile==null) return; try { FileInputStream fis = new FileInputStream(fd.getDirectory()+fd.getFile ()); byte [] donnees = new byte [fis.available()]; fis.read(donnees); jText.setText(new String(donnees,0)); fis.close(); } catch (IOException e) { jText.setText("Unable to open file..."); } } public boolean action (Event event, Object obj) { if (((String)obj).equals("Quit")) dispose(); else if (((String)obj).equals("Open")) loadFile(); else if (((String)obj).equals("Save")) saveFile(); else if (((String)obj).equals("Save As")) saveFileAs(); else if (((String)obj).equals("About")) about(); return true; } private void loadFile() { FileDialog fd = new FileDialog(this,"Open a file", FileDialog.LOAD); fd.show(); jFile=fd.getDirectory()+fd.getFile(); if (jFile==null) return; try { FileInputStream fis = new FileInputStream(fd.getDirectory()+fd.getFile ()); byte [] donnees = new byte [fis.available()]; fis.read(donnees); jText.setText(new String(donnees,0)); fis.close(); } catch (IOException e) { jText.setText("Unable to open file..."); } } private void about() { } public static void main(String[] s) { new JEdit().show(); } }
JEdit.java:72: action(java.awt.Event,java.lang.Object) is already defined in JEd it public boolean action (Event event, Object obj) ^ JEdit.java:86: loadFile() is already defined in JEdit private void loadFile() ^ JEdit.java:44: cannot resolve symbol symbol : method saveFile () location: class JEdit saveFile(); ^ JEdit.java:46: cannot resolve symbol symbol : method saveFileAs () location: class JEdit saveFileAs(); ^ JEdit.java:79: cannot resolve symbol symbol : method saveFile () location: class JEdit saveFile(); ^ JEdit.java:81: cannot resolve symbol symbol : method saveFileAs () location: class JEdit saveFileAs(); ^ Note: JEdit.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. 6 errors 請按任意鍵繼續 . . .
swing是轻量级的组件,由Java语言开发而成。
Swing是Java代码自己负责绘制,绘制在一个同位体的面板上,Swing可以利用代码设置当前的界面风格,而且可以实现丰富的界面表现.
另外其中关于轻型组件和重型组件的构思能让
系统更快运行java中的绘图。可参考java的api,我觉得区别还是挺大的,只不过注意一些细节勾勒
2.swing具有更好的可移植性
3.swing具有更好的外观
4.swing更好的将组件显示的数据同数据的显示区分开
swing是建立在AWT之上的、包括大多数轻量组件的组件集,除提供了AWT所缺少的、大量的附加组件外,swing还提供了替代AWT重量组件的轻量组件。swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件,因此在不同的平台上,swing组件都能保持组件的界面样式特性。
另:swing的组件大多数是轻量组件。但swing也有重量组件,因为swing必须提供一个可以在其中绘制swing轻量组件的窗口,所以swing有窗体、小应用程序、窗口和对话框等重量组件。
我曾试过把awt的组件放在swing组件上,结果awt组件没显示出来,是否轻重量不分的缘故?
* JEdit.java
*
*/import java.awt.*;
import java.io.*;class JEdit extends Frame
{
TextArea jText = new TextArea();
String jFile = new String(); JEdit()
{
super("JEdit Alpha 0.1");
setLayout(new BorderLayout());
add("Center", jText);
jText.setFont(new Font("Courrier",Font.PLAIN,12));
//jText.setBackground(Color.black);
//jText.setForeground(Color.white);
Menu menu = new Menu("File");
menu.add(new MenuItem("Open"));
menu.add(new MenuItem("Save"));
menu.add(new MenuItem("Save As"));
menu.add(new MenuItem("Quit"));
Menu menu2 = new Menu("Help");
menu2.add(new MenuItem("About"));
MenuBar menuBar = new MenuBar();
menuBar.add(menu);
menuBar.add(menu2);
setMenuBar(menuBar);
pack();
setBounds(100,100,480,400);
} public boolean action (Event event, Object obj)
{
if (((String)obj).equals("Quit"))
dispose();
else if (((String)obj).equals("Open"))
loadFile();
else if (((String)obj).equals("Save"))
saveFile();
else if (((String)obj).equals("Save As"))
saveFileAs();
else if (((String)obj).equals("About"))
about();
return true;
}
private void loadFile()
{
FileDialog fd = new FileDialog(this,"Open a file", FileDialog.LOAD);
fd.show();
jFile=fd.getDirectory()+fd.getFile();
if (jFile==null)
return;
try
{
FileInputStream fis = new FileInputStream(fd.getDirectory()+fd.getFile
());
byte [] donnees = new byte [fis.available()];
fis.read(donnees);
jText.setText(new String(donnees,0));
fis.close();
}
catch (IOException e)
{
jText.setText("Unable to open file...");
}
}
public boolean action (Event event, Object obj)
{
if (((String)obj).equals("Quit"))
dispose();
else if (((String)obj).equals("Open"))
loadFile();
else if (((String)obj).equals("Save"))
saveFile();
else if (((String)obj).equals("Save As"))
saveFileAs();
else if (((String)obj).equals("About"))
about();
return true;
}
private void loadFile()
{
FileDialog fd = new FileDialog(this,"Open a file", FileDialog.LOAD);
fd.show();
jFile=fd.getDirectory()+fd.getFile();
if (jFile==null)
return;
try
{
FileInputStream fis = new FileInputStream(fd.getDirectory()+fd.getFile
());
byte [] donnees = new byte [fis.available()];
fis.read(donnees);
jText.setText(new String(donnees,0));
fis.close();
}
catch (IOException e)
{
jText.setText("Unable to open file...");
}
}
private void about()
{
} public static void main(String[] s)
{
new JEdit().show();
}
}
it
public boolean action (Event event, Object obj)
^
JEdit.java:86: loadFile() is already defined in JEdit
private void loadFile()
^
JEdit.java:44: cannot resolve symbol
symbol : method saveFile ()
location: class JEdit
saveFile();
^
JEdit.java:46: cannot resolve symbol
symbol : method saveFileAs ()
location: class JEdit
saveFileAs();
^
JEdit.java:79: cannot resolve symbol
symbol : method saveFile ()
location: class JEdit
saveFile();
^
JEdit.java:81: cannot resolve symbol
symbol : method saveFileAs ()
location: class JEdit
saveFileAs();
^
Note: JEdit.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
6 errors
請按任意鍵繼續 . . .
My ICQ ID:348732090