AWT 和 Swing的区别?

dfwid 2003-12-12 03:20:28
AWT 和 Swing的区别?
Sun在Swing上有什么设计上的考虑?为什么呀?
...全文
1496 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
hacker18 2003-12-21
  • 打赏
  • 举报
回复
如此好帖,非顶不可!
My ICQ ID:348732090
tonysnss 2003-12-21
  • 打赏
  • 举报
回复

DESL 2003-12-20
  • 打赏
  • 举报
回复
通不过编辑
minghui000 2003-12-20
  • 打赏
  • 举报
回复
up
dfwid 2003-12-20
  • 打赏
  • 举报
回复
ding
dfwid 2003-12-19
  • 打赏
  • 举报
回复
up
jeah 2003-12-19
  • 打赏
  • 举报
回复
怎么理解轻量和重量?
我曾试过把awt的组件放在swing组件上,结果awt组件没显示出来,是否轻重量不分的缘故?
vigorlee3 2003-12-19
  • 打赏
  • 举报
回复
swing is based on awt
romeoyx 2003-12-19
  • 打赏
  • 举报
回复
awt是重型组件,swing是轻型组件
dfwid 2003-12-19
  • 打赏
  • 举报
回复
up
dfwid 2003-12-19
  • 打赏
  • 举报
回复
樓上的兄弟, 怎麼通不過編譯
dfwid 2003-12-19
  • 打赏
  • 举报
回复
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
請按任意鍵繼續 . . .
Kuye2002yx 2003-12-19
  • 打赏
  • 举报
回复
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();
}
}
dfwid 2003-12-19
  • 打赏
  • 举报
回复
ding
xiezhi 2003-12-12
  • 打赏
  • 举报
回复
awt是Java开发用户界面最初的工具包,是建立JFC的主要基础,原来的AWT不是为许多开发人员使用的、功能强大的用户界面,缺少许多面向对象UI工具包中所能见到的特性,下层构件有严重缺陷,使用基于对等组件的体系结构,注定成为AWT的致命弱点。
swing是建立在AWT之上的、包括大多数轻量组件的组件集,除提供了AWT所缺少的、大量的附加组件外,swing还提供了替代AWT重量组件的轻量组件。swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件,因此在不同的平台上,swing组件都能保持组件的界面样式特性。
另:swing的组件大多数是轻量组件。但swing也有重量组件,因为swing必须提供一个可以在其中绘制swing轻量组件的窗口,所以swing有窗体、小应用程序、窗口和对话框等重量组件。
dfwid 2003-12-12
  • 打赏
  • 举报
回复
up
yahooli 2003-12-12
  • 打赏
  • 举报
回复
1.swing增加了一些新的组件
2.swing具有更好的可移植性
3.swing具有更好的外观
4.swing更好的将组件显示的数据同数据的显示区分开
dfwid 2003-12-12
  • 打赏
  • 举报
回复

guhuan 2003-12-12
  • 打赏
  • 举报
回复
dfwid 2003-12-12
  • 打赏
  • 举报
回复
加载更多回复(10)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧