制作applet

问题描述 投票:2回答:1

我有问题,我没有得到我的结果,为什么?

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.
  }

}
java applet
1个回答
1
投票

以这种方式更改您的代码:

  • Buttons添加到你的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.
  }

}

也:

  • 我建议你重命名你的类Cycle,这是一个以大写字母开头的Java约定。
  • 使用WindowConstants.EXIT_ON_CLOSE而不是JFrame.EXIT_ON_CLOSE
  • 正如Andrew Thompson的评论中所述:不要混合使用Swing和AWT组件。 (小组应该是JPanel
© www.soinside.com 2019 - 2024. All rights reserved.