\ n不工作的换行符 - Java的

问题描述:

我使用下面的代码: 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--

我不确定以下在GUI中的作品。但试用它没有什么坏处。

System.getProperty("line.separator") 

使用上面的代码代替"\n"。在标签中,我尝试了一些像魅力一样工作的html标签。试试这个,并提供您的反馈。

你为什么不使用layouts呢? 这样,您可以按照自己的想法来组织UI元素。

你不能在GUI中使用“linebreaker”。 GUI的设计方式不同。如果您想按照建议输出,请使用布局。你可以把更多的面板放在一起,以获得所需的效果,每个面板都有不同的布局。或者第二种解决方案,但不确定它是否适用于Java,是使用绝对定位。您可以手动设置“框”的坐标。但这不是很好的解决方案。