- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个使用 GUI 简单地递增或递减整数的计数器。请有人帮助我,我哪里出了问题。我的按钮只是不增加或减少起始整数值 0。
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import org.omg.CORBA.TCKind;
public class MainFrame extends JFrame {
// Field Variables
private int counter;
private int currentNumber = 0;
// Methods
public void setCounter(int counter){
currentNumber = counter;
}
public int getCounter(){
return currentNumber;
}
public void IncrementCounter() {
currentNumber++;
}
public void DecrementCounter() {
currentNumber = 222;
}
public MainFrame(String title) {
super(title);
// SetLayout
setLayout(new GridLayout(2, 2));
// Add Swing components
final JTextField tCounter = new JTextField();
tCounter.setEditable(false);
tCounter.setText(currentNumber + "");
JTextField label = new JTextField();
label.setText("The Count: ");
label.setEditable(false);
JButton btn1 = new JButton("up");
JButton btn2 = new JButton("down");
// Add components to content pane
getContentPane().add(btn1);
getContentPane().add(btn2);
getContentPane().add(label);
getContentPane().add(tCounter);
// Add btn1 ad btn2 behaviour.
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
IncrementCounter();
}
});
// Add btn2 Behaviour
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DecrementCounter();
}
});
}
}
最佳答案
每当您更改计数时,您都必须更新标签tCounter。为此,将 tCounter 变量转换为字段,添加 updateLabel() 方法,从 IncrementCount 和 DecrementCount 调用它。也从构造函数中调用它来初始化文本。
JTextField tCounter=new JTextField();
void updateLabel(){
tCounter.setText(currentNumber+"");
}
public void IncrementCounter() {
currentNumber++;
updateLabel()
}
...
更新的代码:
package foo;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class MainFrame extends JFrame {
// Field Variables
private int counter;
private int currentNumber = 0;
// Methods
public void setCounter(int counter) {
currentNumber = counter;
}
public int getCounter() {
return currentNumber;
}
public void IncrementCounter() {
currentNumber++;
updateLabel();
}
void updateLabel() {
tCounter.setText(currentNumber + "");
}
public void DecrementCounter() {
currentNumber = 222;
updateLabel();
}
public static void main(String... args) {
MainFrame frame = new MainFrame("Foo");
frame.pack();
frame.setVisible(true);
}
final JTextField tCounter = new JTextField();
public MainFrame(String title) {
super(title);
// SetLayout
setLayout(new GridLayout(2, 2));
// Add Swing components
tCounter.setEditable(false);
updateLabel();
JTextField label = new JTextField();
label.setText("The Count: ");
label.setEditable(false);
JButton btn1 = new JButton("up");
JButton btn2 = new JButton("down");
// Add components to content pane
getContentPane().add(btn1);
getContentPane().add(btn2);
getContentPane().add(label);
getContentPane().add(tCounter);
// Add btn1 ad btn2 behaviour.
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
IncrementCounter();
}
});
// Add btn2 Behaviour
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DecrementCounter();
}
});
}
}
关于java - Swing:让我的简单 GUI 发挥作用时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593356/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!