2012-02-20 49 views
0

私は初心者のプログラミング能力を練習するためにRPGを作っています。私は1x4グリッドで文字を作成するためのオプションをたくさん作成し、その下に確認ボタンを入れたいと思っています。JavaのJTextFieldがパネルにフィットするのを止めますか?

ここで問題になるのは、JTextFieldが、世界中のあらゆるテキストを消費するように設計されているように見えるようにすることです。 [。さて、よく私はまだ画像を投稿することができません]

しかし、それは私がパネル全体を埋めるためにしようと、その道であると信じて巨大なテキストフィールド、です:ここを参照してください。私はちょうどその横のJLabelとほぼ同じ高さにしたい。

私はsetBounds()、setSize()、setPreferredSize()を試しました。どのようにしてそのテキストフィールドを適切なサイズにすることができますか?

編集:関連するコードを投稿していないため申し訳ありません:

package practice; 

import java.awt.GridLayout; 

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

public class Main { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     JFrame failFrame = new JFrame(); 
     JPanel failPanel = new JPanel(); 
     failPanel.setLayout(new GridLayout(0, 4)); 

     failPanel.add(new JTextField()); 
     failPanel.add(new JPanel()); 
     failPanel.add(new JTextField()); 
     failPanel.add(new JPanel()); 

     failFrame.add(failPanel); 
     failFrame.setSize(800, 800); 
     failFrame.setLocationRelativeTo(null); 
     failFrame.setVisible(true); 
    } 

} 

これは私がそれらになりたいよりも、はるかに背が高くなるために、テキストフィールドが発生します。 gridLayoutを使用して高さを低くすることは可能ですか?

+2

ポストを...あなたの...コードを。 Swingは、レイアウトマネージャを使用してコンポーネントをレイアウトします。 texfieldの動作は、使用されるレイアウトマネージャーとその使用方法によって異なります。試したsetXxxxメソッドはほとんど使用しないでください。 –

+0

申し訳ありませんが、コードがアップしています。 –

+0

質問を編集して、あなたが試したことを示す[sscce](http://sscce.org/)を含めてください。 – trashgod

答えて

0

多分LayoutManagerが役立つかもしれません。テキストフィールドとラベルのサイズを同じにする必要がある場合は、グリッドレイアウトについて考えることができます。

は、以下を参照してください。 http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

+0

私はBorderLayoutを使用していましたが、今はGridLayoutを試しました。それで2つの項目が分かれ、JLabelは技術的にはJTextFieldほど大きくないかもしれませんが、私はJTextFieldをJLabelのテキストほど高くしたいと言っていました。 GridLayoutでは、それはまだ信じられないほど高いです。 私はBoxLayoutを試しています。そのリンクに感謝します。 –

+0

BoxLayoutもうまくありませんでした。テキストフィールドはまだ不当に不均衡な高さを持っています。 –

+0

@MitchellTurlington:すべてのレイアウトマネージャを盲目的にテストしないでください。どのように動作するかを学び、適切な設定で適切なものを使用してください。スイングチュートリアルでは、すべてについて説明します。 –

関連する問題