0

次のコードを使用しています。

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

次のような新しいウィンドウを取得するには、次のようにします。

【入力ボックス】

[ボタン]

- 文章 -

しかし、何らかの理由で、常に次のようになります。

[入力ボックス] [ボタン]

- 文章 -

4

3 に答える 3

1

代わりにレイアウトを使用しないのはなぜですか? このようにして、UI 要素を思い通りに整理できます。

于 2013-05-19T16:35:04.543 に答える
1

以下がGUIで機能するかどうかはわかりません。しかし、試してみることに害はありません。

System.getProperty("line.separator")

の代わりに上記のコードを使用します"\n"。ラベルでは、魅力的に機能する html タグをいくつか試しました。これを試して、フィードバックをお寄せください。

于 2013-05-19T18:02:30.447 に答える
0

GUI で「linebreaker」を使用することはできません。GUIは異なる方法で設計されています。提案どおりに出力したい場合は、レイアウトを使用してください。より多くのパネルを互いの内側に配置して、それぞれ異なるレイアウトで目的の効果を得ることができます。

または2番目の解決策ですが、Javaで機能するかどうかはわかりませんが、絶対位置を使用することです。「ボックス」の座標を手動で設定します。しかし、これは本当に良い解決策ではありません。

于 2013-05-19T16:38:59.797 に答える