2

我正在尝试使用 swing 制作 rpg(是的,我同意这很愚蠢,但我这样做是为了学习而不是实际工作产品)。目前我正在研究每个角色的统计数据。

我有一个 JPanel,我想画一条线。

我的意图是有类似的东西
中间部分是JPanel

左侧是一个 JPanel,它有两个组件,表 1 和 JLabel。右侧也是 JPanel,它有自己的元素,但那是另一回事。

我的问题是我想创建一个只有一个图像的 jpanel,并且该图像将是两条线,与表格中的选定元素相关。

但不幸的是,我不知道如何在 JLabel 上绘制自定义图像。谁能建议一种在 JLabel 上绘制我自己的线条和所有内容的方法?我看过很多问题,但他们展示了如何将已经创建的图像绘制到 JLabel 上,但我想画我自己的东西(只有两行)。

4

1 回答 1

8

谁能建议一种在 JLabel 上绘制我自己的线条和所有内容的方法?

绘制到Graphics2DBufferedImageImageIcon在标签中显示图像(在 中)。

例如

  1. 将文本绘制到图像
  2. 绘制边框(动画)。
  3. 另一个文本演示。,这个使用缩放和淡化。
  4. 哦,这是一个简单的线条(..和点,..它是动画的)。

我正在尝试使用 swing 制作 rpg(是的,我同意这很愚蠢,但我这样做是为了学习..

我不认为这是愚蠢的。如果选择 Swing 或 AWT,则 Swing 组件是唯一的选择。该工具包不仅更丰富(给我看 AWT 等价于ImageIcon, JTree, JTable,..),而且默认情况下具有双缓冲,并且直接构建在AWT 之上。我强调了最后一部分,因为在游戏中经常出现这种情况,我们会覆盖绘画并“继续努力”——绘制每个像素。

一旦完成,它通常是“所有 AWT”。我发布的示例没有使用 AWT 组件,但都使用 a BufferedImage,一些使用GlyphVectoror AffineTransform,或者Graphics(当我感到懒惰时)或Graphics2D(对于那些美妙的渲染提示......)。

但更进一步,“Swing”启动画面或全屏窗口也是纯 AWT。

对于可点击/可编辑的组件,请使用 Swing。对于自定义渲染以及诸如启动或 FSW 之类的极端情况,请使用 AWT 类。

于 2013-10-01T14:01:24.493 回答