【问题标题】:\n Not Working For Linebreak -- Java\n 不适用于换行 -- Java
【发布时间】:2013-05-19 16:32:43
【问题描述】:

我正在使用以下代码:

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();
       }
}

尝试获得一个如下所示的新窗口:

[输入框]

[按钮]

--文本--

但由于某种原因,结果总是这样:

[输入框] [按钮]

--文本--

【问题讨论】:

    标签: java swing line-breaks


    【解决方案1】:

    我不确定以下是否适用于 GUI。但是尝试一下也没有坏处。

    System.getProperty("line.separator")
    

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

    【讨论】:

      【解决方案2】:

      你为什么不改用layouts 呢? 通过这种方式,您可以完全按照您的意愿组织您的 UI 元素。

      【讨论】:

        【解决方案3】:

        您不能在 GUI 中使用“换行符”。 GUI的设计方式不同。如果要按建议输出,请使用布局。您可以将更多面板相互放置以获得所需的效果,每个面板都有不同的布局。

        或者第二种解决方案,但不确定它是否适用于 Java,是使用绝对定位。您手动设置“框”的坐标。但这并不是一个很好的解决方案。

        【讨论】:

          猜你喜欢
          • 2013-09-22
          • 1970-01-01
          • 1970-01-01
          • 2020-06-09
          • 1970-01-01
          • 1970-01-01
          • 2017-06-14
          • 2013-03-15
          • 1970-01-01
          相关资源
          最近更新 更多