这似乎是一个愚蠢的问题,但我做不到;我使用扫描仪读取文件,然后使用 while 循环将文本输入到字符串中,然后将其放入 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);
}
}
这是文件中的文本,它是如何玩游戏的规则:
游戏的目的是移动你的棋子,直到它们都在一个相连的组中。对角线被认为是连通的。但是,有一些规则需要遵守:
- 白色先移动 - 每轮,移动的玩家移动他的一个棋子,在一条直线上,与移动线上任何一种颜色的棋子一样多的方格。(这些是行动路线)。- 你可以跳过你自己的作品。- 你不能跳过你的对手的棋子,但你可以通过降落在他们身上来捕获他们。- 如果一名玩家因被俘虏而减少为单件,则被俘虏的玩家获胜。-如果移动同时为移动的玩家和对手创造了胜利,则移动的玩家获胜。实际上有不少不寻常的残局至少在理论上是可能的。
任何帮助表示赞赏。