0

私はJavaでチェッカーボードに取り組んでいます。しかし、私には奇妙な問題があります。vgap を 0 に設定しても vgap が作成されます。高さの正方形の間に約 5px のスペースがあります。幅はまあまあ。これは、ダイアグラム オブジェクトの私のレイアウト コードです。

this.setLayout(new GridLayout(10, 10, 0, 0));
this.setPreferredSize(new Dimension(230, 230));

そして、これは私がダイアグラムを実装する場所です:

// The jpanel that has to contain the diagram
jpanel.setLayout(new FlowLayout());
add(jpanel, BorderLayout.WEST);
// The placement of the diagram in that jpanel
jp.add(new diagram());

これはどのように見えるかです:

[][][][][][][][][]
<The spacing that I have to get removed>
[][][][][][][][][]

しかし、次のようにする必要があります。

[][][][][][][][][]
[][][][][][][][][]

^
|
no spacing between them
4

2 に答える 2

3
  • LayoutManagerJPanel をFlowLayoutからBorderLayoutに変更する必要があります。または ...、

  • FlowLayoutかなり受け入れられるのPreferredSizeは、配置された JCompoments からコンテナー ( JPanel) に入っています。すべては次のものに依存します。

    1. Diagram戻り値PreferredSize

    2. Diagramコンテナでサイズ変更できるかどうか、どのように変更できるか

    3. GridLayoutが実際に使用される方法と場所

  • より良いヘルプのために、SSCCEをすぐに投稿してください

于 2012-08-14T21:50:36.390 に答える
0

JLabelの代わりにJPanelに画像をロードすることで問題を修正しました。画像をBufferedImageにしてから、drawImageでJPanelに描画します

于 2012-08-14T22:32:08.930 に答える