2013-05-19 87 views
0

我使用下面的代碼: n不工作的換行符 - Java的

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 


import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.net.URI; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

public class Finder extends JFrame 
{ 
     JPanel jp = new JPanel(); 
     JLabel jl = new JLabel("Credits: Andrew/JellyBellyFred"); 
     JTextField jt = new JTextField("Enter A Player Name, Then Press 'Find Skin'!", 30); 
     JButton jb = new JButton("Find Skin"); 
     JLabel lnbreak = new JLabel("\n"); 

     public Finder() 
     { 
       setTitle("Minecraft Skin Finder"); 
       setVisible(true); 
       setSize(500, 200); 
       setDefaultCloseOperation(EXIT_ON_CLOSE); 
       setResizable(false); 

       jp.add(jt); 
       jp.add(lnbreak); 
       jp.add(jb); 
       jb.addActionListener(new ActionListener() 
       { 
         public void actionPerformed(ActionEvent e) 
         { 
          String input = jt.getText(); 
          jl.setText("http://minecraft.aggenkeech.com/player/" + input); 
         } 
       }); 

       jp.add(jl); 
       add(jp); 

     } 


     public static void main(String[] args) 
     { 
      Finder t = new Finder(); 
     } 
} 

,試圖獲得一個新的窗口,這將是這樣的:

[輸入框]

[按鈕]

--TEXT--

但由於某種原因,它總是原來是這樣的:

[輸入框] [按鈕]

--TEXT--

回答

1

我不確定以下在GUI中的作品。但試用它沒有什麼壞處。

System.getProperty("line.separator") 

使用上面的代碼代替"\n"。在標籤中,我嘗試了一些像魅力一樣工作的html標籤。試試這個,並提供您的反饋。

1

你爲什麼不使用layouts呢? 這樣,您可以按照自己的想法來組織UI元素。

0

你不能在GUI中使用「linebreaker」。 GUI的設計方式不同。如果您想按照建議輸出,請使用佈局。你可以把更多的面板放在一起,以獲得所需的效果,每個面板都有不同的佈局。或者第二種解決方案,但不確定它是否適用於Java,是使用絕對定位。您可以手動設置「框」的座標。但這不是很好的解決方案。