2

ビュー側ではなくバックエンドにいるため、Java の GUI に関する知識はほとんどありません。基本的に私はこれらの結果を得たかった

ここに画像の説明を入力

画像はすでにそれ自体を物語っていますが、コードを実行したときに私が持っているのはこれです。

ここに画像の説明を入力

両端にパディングはありません。パネルは Jframe の境界線のすぐ上にあります。これを修正したいのですが、パネルが Jframe と同じサイズであるこの種のレイアウトは望んでいません。少なくとも、両端に何らかのパディングがあります。

ここに私のコードがありますが、これは私のフレームのコンストラクタにあります

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    String[] cNames = {"First Name", "Middle Name","Last Name","Status"};
    Object[][] data = {{"John Doe", "John Doe", "John Doe", "Single"},
                       {"Doe John", "Doe John", "Doe John", "Married"}};
    JTable table = new JTable(data, cNames);
    table.setPreferredScrollableViewportSize(new Dimension(500, 70));

    jScrollPane1 = new JScrollPane(table);

    listPahel = new JPanel();
    listPahel.setLayout(new BorderLayout());
    listPahel.add(jScrollPane1, BorderLayout.CENTER);

    add(listPahel);

上記のコードは、上記の 2 番目の画像になります。

何か洞察があれば、私に教えてください

4

2 に答える 2

5

最も簡単な方法は、に境界線を設定することJPanelです:

listPahel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
于 2013-03-16T12:23:31.797 に答える
3
  1. JPanel に EmptyBorders を追加

    また

  2. JFrame の EAST、WEST、NORTH、SOUTH 領域に空の JPanel (4 つ) を追加し、CENTER 領域に JScrollPane を配置した JPanel を追加すると、CENTER 領域の周囲に 10 ピクセルのギャップが作成されます。

    その後に

  3. JPanel の LayoutManager に JScrollPane が含まれているように FlowLayout (デフォルトで API に実装) から BorderLayout に変更

于 2013-03-16T12:26:37.223 に答える