制作小程序

Making an applet

我有一个问题,就是我没有得到我的结果,为什么?

public class cycle extends JApplet implements ActionListener {

  Panel panel = new Panel();
  JButton left = new JButton("left");
  JButton right = new JButton("right");
  Container c = getContentPane();

  public void frame() {
    Panel panel = new Panel();
    JButton left = new JButton("left");
    JButton right = new JButton("right");
    c.add(left);
    c.add(right);
  }

  public static void main(String[] args) {
    JFrame f = new JFrame();
    f.setTitle("Move the ball");
    f.setSize(500, 500);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

}

这样更改您的代码:

  • Button 添加到您的 JPanel
  • Panel 添加到 ContentPane
  • 将您的 cycle 对象添加到 JFrame

这里是修改后的代码

public class cycle extends JApplet implements ActionListener {

  private JPanel panel;
  private JButton left;
  private JButton right;
  private Container c = getContentPane();

  public cycle() {
    panel = new JPanel();
    left = new JButton("left");
    right = new JButton("right");
    panel.add(left);
    panel.add(right);
    c.add(panel);
  }

  public static void main(String[] args) {
    JFrame f = new JFrame();
    f.setTitle("Move the ball");
    f.setSize(500, 500);
    f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    f.add(new cycle());

    f.setVisible(true);
  }

  @Override
  public void actionPerformed(ActionEvent e) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  }

}

还有:

  • 我建议您重命名 class Cycle,Java 约定以大写开头。
  • 使用WindowConstants.EXIT_ON_CLOSE代替JFrame.EXIT_ON_CLOSE
  • 正如下面 Andrew Thompson 的评论中所建议的那样:不要混用 Swing 和 AWT 组件。 (面板应该是JPanel