1

a にa を追加しようとしていJSeparatorますPanelGridBagLayout、表示されません。

私は次のようなオプションを試しました

panel.add(new JSeparator());

panel.add(new JSeparator(SwingConstants.HORIZONTAL));

それらのどれも目に見える区切りを与えていません。

4

1 に答える 1

3

Swing チュートリアルのセパレーターの使用方法に関するセクションを読んで、次のステートメントを見つけてください。

セパレーターにはほとんど API がなく、1 つのことを念頭に置いている限り、非常に使いやすいです。ほとんどの実装では、垂直セパレーターの優先高さは 0 であり、水平セパレーターの優先幅は 0 です。これは、セパレーターを意味します。優先サイズを設定するか、BorderLayout や BoxLayout などのレイアウト マネージャーの制御下に配置して、使用可能な表示領域を埋めるように拡張しない限り、表示されません。

したがって、 と一緒に使用する場合はGridBagLayout、セパレーターが特定の行のすべての列を埋めるように、適切な制約を指定する必要があります。制約と実際の例の詳細については、GridBagLayout の使用方法に関する Swing チュートリアルのセクションを参照してください。このチュートリアルでは、ボタンで 3 列を埋める方法を示しているので、ボタンを区切り記号に置き換えてみてください。

于 2016-04-27T05:32:34.260 に答える