【发布时间】:2017-01-16 03:50:06
【问题描述】:
我想制作一个按钮,每次单击它都会将变量 int 分数增加 1。到目前为止,我已经添加了该按钮,并且每次单击它都会添加一个按钮,但它不会替换旧分数,而是写入一个每次点击都会换行。
public class ButtonClicker extends JFrame implements ActionListener
{
static int score = 0;
public static void main (String[] args)
{
ButtonClicker run = new ButtonClicker();
run.cole();
} // main method
public ButtonClicker ()
{
JFrame j = new JFrame("Window title");
JButton click = new JButton("button");
j.getContentPane().add(click);
click.addActionListener(this);
j.setSize(450,450);
j.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("Score: " + score);
score++;
}
public void cole ()
{
}
} // ButtonClicker class
所以每次我点击而不是将 Score:0 替换为 Score: 1 等等,它都会添加一个新行。例子 得分:0 得分:1 得分:2 等等
【问题讨论】:
-
混合 GUI 和基于控制台的应用程序不是一个好主意,用户对其中一个有期望。 Java 没有用于生成“漂亮”输出的本机控制台库,因此我建议您专注于使用新值更新 GUI
-
是的,我知道,只是在学校里,我们正在通过一个名为 Ready To Program 的程序来学习,该程序是简化的 Java,带有内置控制台和基本的 JFrame。我一直在自学要走得更远,但还没有达到制作全面 GUI 的地步。
-
This 不是一个很好的解决方案,但它会起作用,但我个人会根据你的起点避免它......
-
有没有办法可以在窗口上添加 JLabel 而不是使用控制台?因为目前如果我添加一个 JLabel 它会删除 JButton。
标签: java