【发布时间】:2018-12-19 18:38:20
【问题描述】:
我有一个包含 100 个随机整数的数组。我想用它们创建一个条形图。我知道如何在框架中创建单个矩形但不传递值。
这是绘图类:
import javax.swing.*;
import java.awt.*;
public class draw extends JPanel
{
public void drawing() {
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
g.fillRect(100, 150, 12, 3);
}
}
我想用我的随机 int 值替换 g.fillRect(100,150,12,3) 中的值。但是由于我从 main 调用 repaint() 来调用paintComponent,所以我无法将值传递给paintComponent。我该怎么做?如果不可能,我有什么选择?
【问题讨论】:
-
为什么不把这些值放在一个类字段中?
-
这里的主要问题是您自己没有显式调用paintComponent,swing框架会为您完成。因此,即使你可以向它传递参数,它也是毫无意义的。相反,您应该使用函数调用让 paintComponent 请求值,或者将先前在类中定义的值作为实例变量。