【发布时间】:2016-11-02 12:55:39
【问题描述】:
我想学习 java 绘画,所以我创建了一些代码来了解 java 绘画和重绘是如何工作的。这是 2 个代码示例,它们之间有什么区别?为什么重绘不起作用?
第一个代码示例(有效)
package com.oguz;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PaintTest3 extends JFrame{
JPanel panel1;
int i = 1;
public PaintTest3() {
panel1 = new JPanel();
JButton btn = new JButton("Button");
btn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
i++;
Graphics g = panel1.getGraphics();
g.setColor(Color.BLACK);
g.drawLine(10, 10, i * 5, 10);
}
});
add(panel1);
add(btn, BorderLayout.NORTH);
}
public static void main(String args[]){
PaintTest3 pt = new PaintTest3();
pt.setDefaultCloseOperation(EXIT_ON_CLOSE);
pt.setSize(600, 500);
pt.setVisible(true);
}
}
【问题讨论】:
-
你先告诉我们有什么不同,然后我们才能告诉你为什么重要。
标签: java paint paintcomponent repaint