2015-02-09 57 views
0

我正在爲我的A2計算課程創建一個Java中的跳棋遊戲,我最近正在研究棋盤的GUI,我希望在菜單欄中添加GUI,我已經能夠實現這一點在我的代碼,但是,對於菜單項,被稱爲規則的一個,我想補充文本中幾個基本規則,這種情況就行了:
JMenuItem RulesText = new JMenuItem("")如何在Java中爲文本添加新行?

在此我要輸入的對於規則文本,我已經輸入了一些已經可以看到的內容。

我的問題是,它們都在一行上,所以當我運行應用程序時,它顯示爲「移動總是隻有對角線,單個塊始終限於向前移動(朝向對手)。對角移動,但可以前後移動「。問題是,這不是我希望它是存在於形式,我希望它出現在類似這樣的

  • 移動的格式總是隻對角線
  • 單件總是有限的轉發移動(向對手) ECT ......

所以,我怎麼能做到這一點,我試圖研究這個我找不到我的格式任何東西,因爲我寧願不必須改變大部分的代碼。任何答案將不勝感激。謝謝。 我的代碼可以在下面看到:

JMenuBar bar = new JMenuBar(); 
    JMenu fileMenu = new JMenu("File"); 
    JMenu HelpMenu = new JMenu("Help"); 
    JMenuItem Exit = new JMenuItem("Exit"); 
    JMenuItem MainMenu = new JMenuItem("Main Menu"); 
    JMenu Rules = new JMenu("Rules of Checkers"); 
    JMenuItem RulesText = new JMenuItem("- Moves are always only diagonal \n Single pieces are always limited to forward moves (toward the opponent) \n Kings are limited to moving diagonally, but may move both forward and backward"); 
    Rules.add(RulesText); 
    HelpMenu.add(Rules); 
    bar.add(HelpMenu); 
    fileMenu.add(MainMenu); 
    fileMenu.addSeparator(); 
    fileMenu.add(Exit); 
    HelpMenu.add(Rules); 
    bar.add(fileMenu); 
    bar.add(HelpMenu); 
    window.setJMenuBar(bar); 

回答

0

它看起來並不像這是可能的,而且是用搖擺來開發應用程序的限制之一。 constructorsJMenuItem上的行爲似乎都不支持字符串格式。

此外,設置整個JMenuItem以顯示如此大的文本塊並不是非常明智,也不是用戶友好的。
您應該考慮使用JDialog框或類似的東西來調出一個屏幕,您可以在其中顯示您的格式化規則。

+0

我會做對他們的一些研究,並給它一個去,謝謝! – Hawk97 2015-02-09 19:32:54

1

嘗試將文本包裝在html標記中,並將<BR>標記放置在您想要換行的位置。

不過,我確實與@rageandqq你應該考慮同意有關放置規則在JDialog或類似的東西

相關問題