這可能看起來像一個愚蠢的問題,但我無法做到;我使用掃描儀讀取文件,然後使用while循環將文本輸入到字符串中,然後將其輸入到JLabel中。但是,文本顯示在一條很長的水平線上,我如何製作它以便所有文本像原始文本文件中的段落一樣正常顯示? 代碼:如何使文本環繞JLabel?
class howToPlay implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JFrame htp = new JFrame();
htp.setSize(300, 100);
htp.setLocationRelativeTo(null);
Scanner fileStream = null;
try {
fileStream = new Scanner(new File("text/howtoplay.txt"));
} catch (FileNotFoundException e1) {
System.out.println("File not found");
e1.printStackTrace();
}
String file = "";
while(fileStream.hasNextLine())file += fileStream.nextLine();
JLabel howToPlay = new JLabel(file);
htp.add(howToPlay);
htp.setVisible(true);
}
}
這是文件中的文本,這是怎麼玩一個遊戲規則:
該遊戲的目標是將你的作品直到他們都在一個連接的組中。對角線被認爲是連接的。然而,有一些規則需要遵循:
-White先移動 -每一回合,移動的玩家將其中一個棋子移動到一條直線上,正如許多正方形移動一樣 - 顏色 沿着運動線的任何地方。 (這些是行動線)。 - 你可以跳過你自己的作品。 - 你不可以跳過你的對手,但你可以通過登陸它們來捕捉它們。 - 如果一名玩家被捕獲的數量減少爲一件,那麼這對被捕獲的玩家來說是一場勝利。 - 如果一個移動同時爲移動的玩家和對手創造勝利,移動的玩家將獲勝。實際上有不少不尋常的殘局至少在理論上是可能的。
任何幫助表示讚賞。
由於每個答案都有使用HTML的建議,所以我會提到一個JTextArea組件,或者更多的格式化選項,一個JTextPane。 – 2013-05-10 16:12:21