我在Java中创建了一个简单的Java程序,用于绘制图形基元(线条,矩形,椭圆等),这些形状通过拖动鼠标并存储到屏幕上一个Shapes数组,所以我添加了一个滑块来动态获取笔画大小(从1到20,1是默认值),但它更新了先前绘制的所有形状。动态更新Java中形状数组的笔画大小
//注1:Graphics2D图;在延长的JFrame
类定义//注2:strokeSize值是动态与滑块
public void paint(Graphics g)
{
graph = (Graphics2D)g;
graph.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
graph.setStroke(new BasicStroke(strokeSize));
for (Shape currentShape : shapes)
{
graph.setPaint(strokeCounter.next());
graph.draw(currentShape);
graph.setPaint(fillCounter.next());
graph.fill(currentShape);
}
//What follows are If statements for choosing a shape
//and actual methods for drawing them...
改变我的问题是:如何更新strokeSize,但仅限于形状目前正在拟定?
'strokeSize'的定义在哪里? –
在构造函数之前扩展JFrame的类。 – user3086760