13

GridLayoutを備えたJPanelがあります。グリッドのすべてのセルにボタンがあります。すべてのボタンが灰色の境界線で囲まれていることがわかります。これらの境界線を削除したいと思います。誰かがそれがどのように行われるか知っていますか?

4

6 に答える 6

14
Border emptyBorder = BorderFactory.createEmptyBorder();
yourButton.setBorder(emptyBorder);

ボーダーの詳細については、BorderFactoryを参照してください。

于 2010-04-26T12:10:50.643 に答える
11
yourButton.setBorderPainted(false);
于 2011-07-14T05:50:06.893 に答える
7

最近の Java バージョンでは、 setContentAreaFilled(false) を呼び出して境界線を完全に削除する必要があります。パディングのために空の境界線を追加します。

button.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
button.setContentAreaFilled(false);
于 2017-04-12T07:52:17.580 に答える
3

境界線はボタンの GUI の一部である可能性が非常に高いと思います。.setBorder(null)すべてのボタンを呼び出してみて、何が起こるか見てみましょう!

于 2010-04-26T12:02:08.770 に答える
2

次のようになります。

yourButton.setBorder(null);
于 2016-04-02T12:45:53.463 に答える
1

これらの回答はすべて何らかの形で機能しますが、それぞれの回答を例とともにもう少し詳しく比較したいと思います。

最初のデフォルト ボタン:

ここに画像の説明を入力

境界線が描かれたボタンを false に設定すると、境界線とホバー アクションが削除されますが、パディングは保持されます。

button.setBorderPainted(false);

ここに画像の説明を入力

null の境界線または空の境界線を持つボタンは、境界線、ホバー アクション、およびパディングを削除します。

button.setBorder(BorderFactory.createEmptyBorder());

また

button.setBorder(null);

ここに画像の説明を入力

空の境界線と寸法を持つボタンは、境界線とホバー アクションを削除し、パディングを指定された値に設定します。

border.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));

ここに画像の説明を入力

最後に、これらを背景とホバー アクションと組み合わせて、ホバー時にハイライトされるカスタム マット ボタンを取得します。

button.setBackground(Color.WHITE);
button.setBorderPainted(false);

button.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mouseEntered(java.awt.event.MouseEvent evt) {
        button.setBackground(Color.GRAY);
    }

    public void mouseExited(java.awt.event.MouseEvent evt) {
        button.setBackground(Color.WHITE);
    }
});

ここに画像の説明を入力

于 2020-04-03T15:28:44.523 に答える