Applet与Application可以相互转换吗? 可以转化,但是有限制:使用重量级控件、使用socket、文件操作等等,在浏览器中可能会失效。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯,可以编写一个既是applet又是application的java程序。。主要的做法是:将其public类派生自applet,并且在这个类中必须具有一个静态main()方法。。然后自己创建一个派生自frame类的applet2frame类,其作用是将一个applet对象放到一个frame对象容器中。。再在main()方法中实现applet2frame类的实例就可以了。。具体的代码如果楼主需要参考的话偶回头再码上来。。 谢谢大家给了我这么多的建议,昨天在其它的网站上也有人给了我一段代码,我试了一下好象不行,代码如下:------------------------ public class myapplet extends Applet { ........ public static void main(String[] args) { JFrame mfrm = new JFrame(); myapplet app = new myaplet(); app.start(); mfrm.getContentPane().add(app); mfrm.show(); } } 这样就可以又是applet又是application了.-------------------------请大家在帮我看看,如果你们有参考代码的话,请给我一份,谢谢! 楼上的,你的main()中还没有applet的init()方法呢,怎么可能显示。。最好先新建一个派生自frame类的applet2frame类,然后把那些初始化applet和将applet对象置入frame的方法放在该类里来实现。。main()方法中只需要简单的引用该类就可以了,这样的代码重用性比较好。。楼主可以去看看机械工业出版社的《java2核心技术:卷一》,其中有一节讲得比较详细。。我实在懒的写代码。。:)另外,我觉得是不是可以通过另一种方法实现:将所有的界面先保存在一个panel中,然后在applet和application中分别引用这个panel,这样我想也许会简单一点。。不过我也没试过,不知道会有什么纰漏。。 我这里有一段代码,你可以参考一下,我测试成功import javax.swing.*;import java.awt.*;import java.util.*;public class TJTable2 extends JApplet { String[] columnNames = {"NAME","SIZE(BYTES)","DATE","DIRECTORY"}; Object[][] rowData = { {"AUTOEXEC.BAT","149","09-11-98",new Boolean(false)}, {"REAL","DIR","09-10-98",new Boolean(true)}, {"WINDOWS","DIR","09-02-98",new Boolean(true)}, {"COMMAND.COM","92879","03-11-98",new Boolean(false)}, }; public void init() { JTable table = new JTable(rowData,columnNames); getContentPane().add(table.getTableHeader(),BorderLayout.NORTH); getContentPane().add(table); table.setValueAt("修改",1,1); } public static void main(String[] args) { TJTable2 applet = new TJTable2(); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(applet, BorderLayout.CENTER); frame.setTitle("Applet Frame"); applet.init(); applet.start(); frame.setSize(300, 300); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); frame.setLocation((d.width - frameSize.width) / 2, (d.height - frameSize.height) / 2); frame.setVisible(true); } private void jbInit() throws Exception { this.getContentPane().setLayout(null); } static { try { // UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); // UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch(Exception e) { } }} 可以的,用jbuilder就可以自动生成一个,呵呵,简单吧? "用jbuilder就可以"是真的吗?如果是真的话那太好了,因为我已经完成的这个Application就是用jb6做的,你能告诉我具体是如何“自动生成”吗,因为去改写已经生成的代码是一件很令人头痛的事,在线等待,谢谢! 按如下方法:1)建立一个applet. FILE ->NEW->APPLET2)按它的步骤,你会看到有这么几个选项 a) Generate header Comments b) Can run standalone c) Generate standard mothed其中默认选中的是a。 b和c是没有选中的,你只要把b选中就可以生成既可以当applet运行,又可以当application运行了。 如下javabean代码缩略图象时严重失真,请问如何处理啊. 有关java对象引用的问题 java 基础问题,书上找不到明确答案 String.format在多线程下不可用 请教:System.out.println与System.err.println的区别? 请问在java中如何实现浮动菜单?还请各位多帮忙 大家看过这个吗?怎么没多少人发表评价? 如何设置我的 APPCPATH 环境变量 关于建目录的难题 文本文件内容拷贝,从line.txt到box.txt,不行? WIN2K下的classpath怎么设定 请教,有关16进制字符串形成2进制字符串的问题!
主要的做法是:
将其public类派生自applet,并且在这个类中必须具有一个静态main()方法。。
然后自己创建一个派生自frame类的applet2frame类,其作用是将一个applet对象放到一个frame对象容器中。。
再在main()方法中实现applet2frame类的实例就可以了。。具体的代码如果楼主需要参考的话偶回头再码上来。。
------------------------
public class myapplet extends Applet
{
........
public static void main(String[] args)
{
JFrame mfrm = new JFrame();
myapplet app = new myaplet();
app.start();
mfrm.getContentPane().add(app);
mfrm.show();
}
}
这样就可以又是applet又是application了.
-------------------------
请大家在帮我看看,如果你们有参考代码的话,请给我一份,谢谢!
最好先新建一个派生自frame类的applet2frame类,然后把那些初始化applet和将applet对象置入frame的方法放在该类里来实现。。
main()方法中只需要简单的引用该类就可以了,这样的代码重用性比较好。。
楼主可以去看看机械工业出版社的《java2核心技术:卷一》,其中有一节讲得比较详细。。
我实在懒的写代码。。
:)另外,我觉得是不是可以通过另一种方法实现:
将所有的界面先保存在一个panel中,然后在applet和application中分别引用这个panel,这样我想也许会简单一点。。
不过我也没试过,不知道会有什么纰漏。。
import java.awt.*;
import java.util.*;
public class TJTable2 extends JApplet
{
String[] columnNames = {"NAME","SIZE(BYTES)","DATE","DIRECTORY"};
Object[][] rowData = {
{"AUTOEXEC.BAT","149","09-11-98",new Boolean(false)},
{"REAL","DIR","09-10-98",new Boolean(true)},
{"WINDOWS","DIR","09-02-98",new Boolean(true)},
{"COMMAND.COM","92879","03-11-98",new Boolean(false)},
};
public void init()
{ JTable table = new JTable(rowData,columnNames); getContentPane().add(table.getTableHeader(),BorderLayout.NORTH);
getContentPane().add(table);
table.setValueAt("修改",1,1);
}
public static void main(String[] args)
{
TJTable2 applet = new TJTable2();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet, BorderLayout.CENTER);
frame.setTitle("Applet Frame");
applet.init();
applet.start();
frame.setSize(300, 300);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
frame.setLocation((d.width - frameSize.width) / 2, (d.height - frameSize.height) / 2);
frame.setVisible(true);
} private void jbInit() throws Exception
{
this.getContentPane().setLayout(null);
} static
{
try
{
// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
// UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch(Exception e)
{
} }
}
1)建立一个applet. FILE ->NEW->APPLET
2)按它的步骤,你会看到有这么几个选项
a) Generate header Comments
b) Can run standalone
c) Generate standard mothed
其中默认选中的是a。 b和c是没有选中的,你只要把b选中就可以生成既可以当applet运行,又可以当application运行了。