【发布时间】: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 中所尝试的那样),那就太好了。谢谢!
【问题讨论】:
-
你为什么同时使用
JFrame和JApplet?两者都是顶级容器,应该只有一个。 -
@user3218114 那我是不是要把JFrame改成JPanel,然后用this.add放到小程序里呢?请帮忙
-
是的,正如我的帖子中所建议的那样。按照链接。