繁体   English   中英

JFrame:如何在没有JTextArea / JTextField的情况下显示文本

[英]JFrame: How to display text without JTextArea/JTextField

我想在这些框之间显示文本,以便每行看起来像:

{Image of a d20} {Input1} d20 + {Input2} {Roll button}.

这是一个奇怪的问题,但这个截图应该让事情变得更加清晰。

在此输入图像描述

JPanel的Graphics对象实际上可以通过调用drawString命令在它自己上绘制文本。 我将发布一个示例,但我认为阅读在这里这里解释它的完整示例将是最有帮助的(我个人喜欢第二个,但第一个是Stack Overflow问题):

@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中。 当您对相关组件进行分组时,它使您的代码更加模块化并易于组织。 我希望你觉得这有帮助。

快乐的编码! 如果您有任何疑问,请发表评论。

您也可以根据需要使用JLabel并设置它的文本,或者将JTextField定义为像JLabel一样

使用jLabel你可以像这样设置文本:

yourlabel.setText("your text");

或者您可以从jLabel获取文本,如下所示:

String str = yourlabel.getText();

字符串“str”将是“您的文本”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM