2
A
回答
2
通常,如果您使用的是Swing,则只能使用Swing组件。在同一个GUI中混合Swing和AWT组件会导致奇怪的结果。所以我会使用JPanel或者一个原始的JComponent。
4
Canvas
是一个AWT对象; JPanel
是一个轻量级的Java Swing对象。如果您有Java Swing GUI,我强烈建议使用JPanel
。
这里有JPanel一个很好的链接:
在最简单的情况下,您可以使用
JPanel
完全相同的方式,你会 一个Panel
。分配它,将组件放入其中,然后将JPanel
添加到某些Container
。然而,JPanel
还充当Canvas
更换(没有JCanvas
)...
1
或者你可以使用一个JLabel
如果你想显示像图标静态图像。
BufferedImage image=
new BufferedImage(100, 50, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.createGraphics();
// draw
g2.draw(new Ellipse2D.Double(x, y, rectwidth,rectheight));
g2.fill (new Ellipse2D.Double(0, 0, 100, 50));
JLabel label = new JLabel(new ImageIcon(image));
+0
不要忘记'处理(')你明确创建的任何'Graphics'实例。 –
0
这种取决于你喜欢什么,但是,我会使用JFrame,它会直接创建一个窗口,并且你可以绘制它。画布有它的优点,它可以让你编写一个更少的导入,它也将窗口的东西与画布图形的东西分开,但它有它没有访问窗口的缺点。这取决于你喜欢和需要什么。
相关问题
- 1. 将ActionListener添加到Panel - Panel实现ActionListener vs Panel HAS A ActionListener
- 2. Canvas arc()vs drawImage()
- 3. Canvas vs CSS Transformations
- 4. Javafx canvas vs pane
- 5. Canvas vs HTML DOM?
- 6. Canvas context.fillText()vs context.strokeText()
- 7. Img map vs canvas
- 8. SVG/VML vs Canvas vs HTML - Mobile
- 9. HTML Canvas Interval vs RequestAnimationFrame
- 10. Canvas tag - drawarc vs image
- 11. core-drawer-panel vs paper-fab z-index
- 12. Canvas vs SVG简单游戏
- 13. Gd库vs Html canvas元素
- 14. Canvas vs SVG for graph-like diagrams?
- 15. Animate CC - getChildByName canvas vs WebGL
- 16. Windows Phone 7 - Canvas vs. XNA
- 17. 如何将JButton添加到Canvas()?或者如何将JButton添加到Panel()并将Panel()背景设置为透明?
- 18. html canvas sketch vs填充宽度
- 19. HTML 5 Canvas vs Divs滚动窗格
- 20. WebGL VS Canvas 2D硬件加速
- 21. SVG/Canvas vs Flash for FloorPlanner应用程序
- 22. CSS3 vs Canvas的文字旋转
- 23. 可下载图形 - SVG vs Canvas元素?
- 24. 对于大量行,HTML5 SVG vs Canvas?
- 25. Canvas vs标签上的图像
- 26. Android动态壁纸 - OpenGL vs Canvas
- 27. canvas vs openGL的功能是什么?
- 28. Java Swing vs HTML5 Canvas交互式动画
- 29. ASP.NET USERCONTROL WITH UPDATE PANEL INSIDE PAGE UPDATE PANEL
- 30. 在Panel-Panel里面绘制图片框#
使用Swing组件。 – user1329572
另请参见[这个答案](http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978)的许多原因使用Swing而不是AWT。 –