我编写了一个程序,您可以在其中插入坐标和正方形的大小并将其绘制在JPanel
上。我使用:
panel.getGraphics().drawRect(x,y,h,b);
现在我想添加一个颜色选择器,像这样:
color Farbe = JColorChooser.showDialog(null, "Color-Chooser", null);
那么现在我如何用颜色来绘制正方形呢?我试过这个,但它不工作:
panel.getGraphics().drawRect(x,y,h,b, Farbe);
panel.getGraphics()
不是如何自定义绘画应该执行。
参见在AWT和Swing中绘画和执行自定义绘画了解更多详细信息
首先创建一个自定义组件,从某些JPanel
扩展,覆盖它的paintComponent
方法(并确保在你做任何自定义绘画之前调用super.paintComponent
)。
把你的"绘图"逻辑放在里面。这个面板应该提供一个setter和getter,允许外部类改变矩形的颜色,这样,当paintComponent
被调用时,你可以相应地改变Graphics
上下文的颜色。
此外,请查看2D图形,了解如何完成绘画的更多细节
当颜色改变时,不要忘记调用repaint
来鼓励面板重新绘制