-1

我编写了一个程序,您可以在其中插入坐标和正方形的大小并将其绘制在JPanel. 我用了:

panel.getGraphics().drawRect(x,y,h,b);

现在我想添加一个这样的颜色选择器:

color Farbe = JColorChooser.showDialog(null, "Color-Chooser", null);

那么现在我如何用颜色绘制正方形?我试过这个但它不起作用:

panel.getGraphics().drawRect(x,y,h,b, Farbe);
4

1 回答 1

1

panel.getGraphics()不是应该如何进行自定义绘画。

有关更多详细信息,请参阅在 AWT 和 Swing 中绘画和执行自定义绘画

首先创建一个从 something 扩展的自定义组件JPanel,覆盖它的paintComponent方法(并确保super.paintComponent在进行任何自定义绘画之前调用)。

将您“绘制”逻辑放在其中。这个面板应该提供一个setter和getter,允许外部类改变被绘制的矩形的颜色,这样,当paintComponent被调用时,你可以相应地改变Graphics上下文的颜色。

此外,请查看2D Graphics以了解有关如何完成绘画的更多详细信息

更改颜色时不要忘记致电repaint以鼓励面板重新粉刷

于 2015-05-15T07:21:50.637 回答