这是一个简单的问题,也许我只是不明白我正在阅读的教程。但我已经坚持了一段时间。我的程序与“hello world”一样简单。我要做的是:当用户单击按钮时,“O”会向右移动。很简单,但是我在哪里放 repaint()?我需要添加一些东西吗.repaint(); 重新粉刷屏幕还是仅靠它自己?嵌套类问题?T_T 这让我很痛苦,似乎没有人有这个我无法理解的问题。提前致谢。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GuiTest {
static int x = 20;
private static class moveTest extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("O", x, 30);
}
}
private static class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
x += 1;
}
}
public static void main(String[] args) {
moveTest displayPanel = new moveTest();
JButton okButton = new JButton("move");
ButtonHandler listener = new ButtonHandler();
okButton.addActionListener(listener);
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
content.add(displayPanel, BorderLayout.CENTER);
content.add(okButton, BorderLayout.SOUTH);
JFrame window = new JFrame("GUI Test");
window.setContentPane(content);
window.setSize(250, 100);
window.setLocation(100, 100);
window.setVisible(true);
}
}