我想在这些框之间显示文本,以便每行看起来像:
{Image of a d20} {Input1} d20 + {Input2} {Roll button}.
这是一个奇怪的问题,但this screenshot应该让事情变得更清楚。
答案 0 :(得分:2)
JPanel的Graphics对象实际上可以通过调用drawString命令在其上绘制文本。我将发布一个示例,但我认为阅读解释它的完整示例here或here最有帮助(我个人喜欢第二个,但第一个是Stack溢出问题):
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("abc", 25, 25);
}
我几乎把它标记为副本,但从技术上来说这是一个截然不同的问题。我会建议在发布前稍微搜索一下。
编辑:
要更全面地解释这可能会有所帮助,您可以拥有一个包含
的自定义JPanel元素{Image of a d20} {Input1} d20 + {Input2} {Roll button}.
绘制包含所有这些内容的JPanel本地的文本,图像,输入和按钮。这个JPanel将有一个paintComponent()方法,您可以使用上面的代码。然后将其包含在您的JFrame中。它使您的代码更加模块化,易于组织,因为您需要对相关组件进行分组。我希望你觉得这很有帮助。
快乐的编码!如果您有任何问题,请发表评论。
答案 1 :(得分:2)
您也可以根据需要使用JLabel并设置文本,或者将JTextField定义为像JLabel
答案 2 :(得分:0)
使用jLabel可以设置如下文本:
yourlabel.setText("your text");
或者你可以从这样的jLabel中获取文本:
String str = yourlabel.getText();
String" str"将是"你的文字"。