我知道Applet主要是应用于AWT组件的,而JApplet主要是用于swing组件的,是一个扩展的类,界面比AWT界面更加美观,可是我写了两组程序对比,为什么JApplet没有得到所需要的界面.import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.Applet;//程序1: 用Appletpublic class Text1 extends Applet implements ActionListener
{
private JLabel label1 = new JLabel("+");
private JLabel label2 = new JLabel("=");
private JButton button = new JButton("提交");
private JTextField field1 = new JTextField(6);
private JTextField field2 = new JTextField(6);
private JTextField field3 = new JTextField(6); public void init()
{
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button);
button.addActionListener(this);
} public void actionPerformed(ActionEvent event)
{
int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText())
field3.setText(Integer.toString(x));
}}
//程序2: 用JApplet
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.Applet;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Text1 extends JApplet implements ActionListener
{
private JLabel label1 = new JLabel("+");
private JLabel label2 = new JLabel("=");
private JButton button = new JButton("提交");
private JTextField field1 = new JTextField(6);
private JTextField field2 = new JTextField(6);
private JTextField field3 = new JTextField(6); public void init()
{
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button);
button.addActionListener(this);
} public void actionPerformed(ActionEvent event)
{
int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText())
field3.setText(Integer.toString(x));
}}
<applet code="Text1.class" height=200 width=400>
</applet>用JApplet得不到想要的界面
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.Applet;//程序1: 用Appletpublic class Text1 extends Applet implements ActionListener
{
private JLabel label1 = new JLabel("+");
private JLabel label2 = new JLabel("=");
private JButton button = new JButton("提交");
private JTextField field1 = new JTextField(6);
private JTextField field2 = new JTextField(6);
private JTextField field3 = new JTextField(6); public void init()
{
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button);
button.addActionListener(this);
} public void actionPerformed(ActionEvent event)
{
int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText())
field3.setText(Integer.toString(x));
}}
//程序2: 用JApplet
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.Applet;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Text1 extends JApplet implements ActionListener
{
private JLabel label1 = new JLabel("+");
private JLabel label2 = new JLabel("=");
private JButton button = new JButton("提交");
private JTextField field1 = new JTextField(6);
private JTextField field2 = new JTextField(6);
private JTextField field3 = new JTextField(6); public void init()
{
add(field1);
add(label1);
add(field2);
add(label2);
add(field3);
add(button);
button.addActionListener(this);
} public void actionPerformed(ActionEvent event)
{
int x = Integer.parseInt(field1.getText()) + Integer.parseInt(field2.getText())
field3.setText(Integer.toString(x));
}}
<applet code="Text1.class" height=200 width=400>
</applet>用JApplet得不到想要的界面
添加如下setLayout(new FlowLayout());