【问题标题】:Assistance please! Need applet proofreading [closed]请帮忙!需要小程序校对[关闭]
【发布时间】:2014-07-31 10:37:15
【问题描述】:

我真的不知道我做错了什么——选项 1 代码只显示一个白色的空白文本字段,选项 2 只是说它没有初始化......我真的可以使用一些指导。提前致谢

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Option1 extends JApplet implements ActionListener {

private int click = 0;

public Option1() {
JFrame base = new JFrame ("Button Click Counter");
base.getContentPane().setLayout(null);
base.setSize(500,500);
base.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton button = new JButton("Click Me!");
button.addActionListener(this);
JTextField count = new JTextField(click);
    this.add(button);
    this.add(count);
}
@Override
public void actionPerformed (ActionEvent e) {
        click++; }

    } 

还有一个

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;

public class Option2 extends JApplet implements MouseListener {
double x;
double y;
public void init() {
addMouseListener(this);


JFrame base = new JFrame("Mouse Coordinates");
base.getContentPane().setLayout(null);
base.setSize(500,500);
base.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


JTextField answer = new JTextField(x + "," + y);
}
@Override    
public void mouseClicked( MouseEvent e ) {
    x = e.getX();
    y = e.getY();

    this.setBackground(new Color((int)(Math.random() * 0x1000000)));
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}

另外,如果有人可以提供有关如何通过鼠标单击将背景更改为随机颜色的建议(如 Option2 中所尝试的那样),那就太好了。谢谢!

【问题讨论】:

  • 你为什么同时使用JFrameJApplet?两者都是顶级容器,应该只有一个。
  • @user3218114 那我是不是要把JFrame改成JPanel,然后用this.add放到小程序里呢?请帮忙
  • 是的,正如我的帖子中所建议的那样。按照链接。

标签: java swing awt japplet


【解决方案1】:

在选项1中

JApplet 默认使用BorderLayout,您可以在北、南、东、西和中心的每个部分中添加一个组件。如果您在同一部分添加另一个组件,则以前的组件将被新添加的组件替换。

使用重载的add() 方法将其添加到不同的部分。

例如:

this.add(button, BorderLayout.SOUTH);
this.add(count); // added in CENTER by default

最好使用JPanel。在里面添加组件,最后在JApplet中添加JPanel

阅读更多关于How to Use BorderLayout


在选项2中

【讨论】:

  • 对于 Option1,我这样做了,现在底部的文本字段没有显示任何内容...您能建议吗?
  • 我应该显示什么?调用count.setText("hello")JTextField 中设置文本或使用new JTextField("Hello")。在 Java Doc 中阅读更多内容,您使用的是什么构造函数?
  • 我需要它来显示鼠标点击“计数”按钮的次数,这就是“点击”变量的含义
  • count.setText(String.valueOf(click))
  • 这样做了,它现在在文本字段中显示 0,但当我点击按钮时没有任何变化......'click' 是静态变量吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 2012-12-21
  • 1970-01-01
相关资源
最近更新 更多