1. ホーム
  2. java

[解決済み] パネルの大きさを設定する

2022-02-11 12:45:16

質問事項

3枚のパネルがあります。1つはメインパネルで、2つの小さなパネルがあります。

メインパネルには

setPreferredSize(new Dimension(350, 190));

左側の小さいパネルには

setPreferredSize(new Dimension(100, 190));

右側の小さいパネルには

setPreferredSize(new Dimension(250, 190));

が、小さい方のパネルは同じ大きさのままです。どうすれば直るのでしょうか?

これは、私のメインパネルにあるコードです。

import model.*;
import java.awt.*;
import javax.swing.*;

public class Panel extends JPanel
{

public Panel(Prison prison)
{
    setup();
    build(prison);
}

private void setup()
{
    setBorder(BorderFactory.createLineBorder(Color.blue));
    setLayout(new BorderLayout(1, 1));
    setPreferredSize(new Dimension(350, 190));
}

private void build(Prison prison)
{
    JTabbedPane tab = new JTabbedPane();       
    tab.addTab("Input", null, new InputPanel(), "Input");
    tab.addTab("Display", null, new DisplayPanel(), "Display");
    add(tab);            
}
}

解決方法は?

こんなことはしないでください。

レイアウトマネージャーの要点は、動的なサイズ変更を可能にすることです。これは、ユーザーがサイズ変更できるウィンドウだけでなく、テキストの変更(国際化)や異なるデフォルトのフォントサイズとフォントにも必要なことです。

もし、ただ レイアウトマネージャーを正しく使う パネルサイズについては、パネルが管理してくれます。ユーザーがウィンドウサイズを大きくしたときに、コンポーネントが画面全体に引き伸ばされるのを避けるには、左寄せのFlowLayoutを持つ一番外側のパネルと、その単一の子としてのUIの残りの部分を用意します - これはUIに好ましいサイズを与え、余剰分は背景色で埋められます。