在Java代码中的任意位置绘制直线、圆弧等
我是Java的新手,在我的程序中,我必须在一个不同于在Java代码中的任意位置绘制直线、圆弧等,java,swing,drawing,jpanel,paintcomponent,Java,Swing,Drawing,Jpanel,Paintcomponent,我是Java的新手,在我的程序中,我必须在一个不同于paintComponent()的函数中绘制一些直线、圆弧等,在某些情况下,在一个扩展JPanel的类中 我通常使用ActionScript进行可视化工作,当我使用AS时,我可以在任何函数中绘制任何几何图形 那么,在Java中有没有做同样事情的方法,以及如何做 谢谢大家! 为什么不在paintComponent(…)中绘制?您陈述了您的新需求,并且可能误解了如何最好地实现Swing图形,因此了解您的需求及其背后的基本原理可以帮助我们帮助您 您
paintComponent()
的函数中绘制一些直线、圆弧等,在某些情况下,在一个扩展JPanel的类中
我通常使用ActionScript进行可视化工作,当我使用AS时,我可以在任何函数中绘制任何几何图形
那么,在Java中有没有做同样事情的方法,以及如何做
谢谢大家! - 为什么不在
中绘制?您陈述了您的新需求,并且可能误解了如何最好地实现Swing图形,因此了解您的需求及其背后的基本原理可以帮助我们帮助您paintComponent(…)
- 您可以在任何时间以任何代码绘制BuffereImage
- 然后该图像可以显示在JComponent的
方法中paintComponent(…)
- 或者通过其
方法在JLabel的图标中setIcon(…)
- 请务必阅读Graphics2D API,其中包含绘制图形所需的所有方法
- 一定要阅读Swing图形教程,因为做这种工作需要范式转换
- 不要通过调用组件(如JPanel)上的
来获取图形对象。通过调用BuffereImage上的getGraphics()
或从getGraphics()
参数获取paintComponent(Graphics g)