另一种方法中的图形 G



我有一个画布,我想根据 JButton 点击画一个矩形。

所以换句话说

private void jb_drawActionPerformed(ActionEvent evt) {                                        
    // draw a rectangle method
}     

基本上,我如何在该方法中加入pain(Graphics g)thingmagic? 还是应该使矩形成为对象并从该对象调用"渲染"方法?如果是这样,有人可以链接嘟嘟车吗?

private void jb_drawActionPerformed(ActionEvent evt) {                                        
    myrectange.render(x,y); // ????
}  

一般性意见和建议

    一种方法:在 BufferedImage 中绘制,从
  • BufferedImage 获取图形对象,然后在 JComponent (JPanel?) paintComponent 方法中绘制 BufferedImage。
  • 如果这样做,您将使用直接从缓冲图像获取的图形对象进行绘图。
  • 使用完此图形对象后,不要忘记将其处理掉。
  • 实际绘图是在 JPanel 的paintComponent(...)方法中完成的(见下文)。
  • 另一种方法:更改类字段,并让 JPanel 的 paintComponent 方法在绘制时使用该字段。例如,如果要绘制多个矩形,请创建一个ArrayList<Rectangle>添加到 ActionListener 中,调用 repaint() 并让 paintComponent(...) 方法循环访问列表,绘制由它持有的矩形。
  • 请注意,从不直接调用 paintComponent(...) 方法,而是建议 JVM 通过调用 repaint() 来调用它。
  • 切勿处理 JVM 提供给您的图形对象,例如传递给 paintComponent(Graphics g) 参数的对象。

链接

  • 基础教程:课程:执行自定义绘制
  • 更高级的概念:AWT 和 Swing 中的绘画

最新更新