2

jbuttonをコンテナに追加するたびに、それは本当に巨大です。label.setBounds()関数を使用すると機能すると思いましたが、機能しませんでした

public Liability_Calculator(String s)
{
    super(s);
    setSize(325,200);
    Color customColor = Color.WHITE;

    c = getContentPane();
    c.setLayout(new BorderLayout());


    //the button
    ok = new JButton("OK");

    //ok.setSize(50, 50);

    //HERE IS WHERE I TRY AND RESIZE!
    ok.setBounds(30,30,50,50);

    c.add(ok, BorderLayout.SOUTH);

    setVisible(true);
} 
4

1 に答える 1

2

提案:

  • あなたはレイアウトマネージャーについて読みたいと思うでしょう
  • GUIがこのように動作する理由を理解する
  • レイアウトマネージャーを活用して、見栄えの良いGUIを簡単に作成する方法を確認してください。
  • また、GUIコンポーネントに境界を設定することは避けてください。

たとえば、JPanelはFlowLayout(FlowLayout.CENTER))デフォルトで使用しますが、ok JButtonをJPanelに配置し、次にJPanelをcontentPaneに配置することで、これを有利に使用できます。

  ok = new JButton("OK");
  // ok.setBounds(30, 30, 50, 50);

  JPanel southPanel = new JPanel();
  southPanel.add(ok);

  c.add(southPanel, BorderLayout.SOUTH);

これにより、最初の画像が2番目の画像に変更されます。

ここに画像の説明を入力してください ここに画像の説明を入力してください

于 2012-04-14T16:03:34.333 に答える