簡體   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