CSE 205(Javaプログラミング2)クラスでは、本当にシンプルなGUIアプレットを設計する必要があります。私はSwingをよく知っていて、前に自分のプロジェクトのいくつかに使っていました。私はいくつかの問題にプログラムを設計してきた、とEclipseから実行するときには、自分のコンピュータ上で完璧に見える:ブラウザで実行したときにUIがフォーマットを失うのはなぜですか(Java Swing)?
しかし、私はそれをオンラインで提出するようになったとき、それはブラウザで実行ところ、UIが厳しくなります認知症、デフォルトに戻っ:
私が原因それはシンプルだしGridBagLayoutの使用に慣れてきました。それが私がここで使っているものです。クラスCreatePanelとSelectPanel(最初の画像にあるように)はJPanelを継承しています(私の教授によると)。誰もが起こっているかもしれないものの任意のアイデアを持っている
//Call the method addItem() to add the create button to the panel
addItem(this, createB,0,2,2,1,defaultInset,GridBagConstraints.CENTER);
//-------
public void addItem(JPanel p, JComponent c, int x, int y, int width, int height, int[] inset, int align)
{
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = x;
gc.gridy = y;
gc.gridwidth = width;
gc.gridheight = height;
gc.weightx = 0;
gc.weighty = 0;
gc.insets = new Insets(inset[0],inset[1],inset[2],inset[3]);
gc.anchor = align;
gc.fill = GridBagConstraints.NONE;
p.add(c, gc);
}
:によって
this.setLayout(new GridBagLayout());
そして、それぞれのコンポーネントを:私が使用して、各セット?私の時間の半分以上がレイアウトの見栄えに費やされていたことを考えれば、簡単な修正が大好きです。必要に応じてさらにコードを投稿することができます。ご意見ありがとうございます。
--EDIT--
さてさて、私は、@ MadProgrammerの提案に基づいて遊んのビットをやりました。私は問題がどこにあるかを絞り込んだと思う。
これは私が「ペットの種類を入力します。ラベルの右側にJTextFieldのサイズを設定するために使用していたコードです:設定のように、今、私は何か他のものにコードを変更した場合
petTypeTF = new JTextField("");
petTypeTF.setPreferredSize(new Dimension(125, 60));
列数:
petTypeTF = new JTextField("",12);
petTypeTF.setPreferredSize(new Dimension(125, 60));
私はそれをオンラインで提出したときに1と同じに見えるUIを取得する列の数を設定すると何かがそれを台無しにしているようだ、これがためにそれを絞り込む助けるん。誰ですか?
多くの理由があります。私はフィールドが既定の列(およびテキスト領域の場合は行)で作成されていないと思います。タブにペインを配置するために使用されているレイアウトマネージャーかもしれません... – MadProgrammer
私はそれのようなものを恐れていました。私が試してみるかもしれない提案がありますか? – rphello101
例を扱うのは難しいですが、テキストコンポーネントが列/行の値で作成されていることを確認してください。 'BorderLayout'を使用してコンポーネントをタブに配置し、テキスト領域 – MadProgrammer