0

我想知道...有没有办法在Frame / Applet之外绘制组件样式?我正在制作一个使用OpenGL的应用程序,我需要一个外观漂亮的GUI,比如 AWT 或 Swing。是的,我知道有很多库,比如NiftyTWL,但我真的很想使用 AWT/Swing 外观。

谢谢。(对不起我的英语不好,我是巴西人。)

4

1 回答 1

1

您可以将组件渲染为图像,即使它不可显示(尽管您必须手动将大小设置为首选大小):

c.setSize(c.getPreferredSize());
BufferedImage img = new BufferedImage(c.getWidth(), c.getHeight(), 
      BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
g.setComposite(AlphaComposite.Clear);
g.fillRect(0, 0, c.getWidth(), c.getHeight());
g.setComposite(AlphaComposite.SrcOver);
c.paintComponent(g);
g.dispose();

然后,您可以将该图像用作 OpenGL 中的纹理。

当然,这只会为您提供组件的图片;您将无法像使用“真实”挥杆组件那样与之交互。

于 2013-02-12T22:10:00.007 回答