AbsoluteLayoutを使用するJFrameのエッジの周囲に余分なスペースを入れることはできますか? JFrameの下側のコンポーネントとしてボタンがあると、JFrameウィンドウの下端に合わせてボタンが配置されているように見えます。 AbsoluteLayoutを使用しているときに、コンポーネントとJFrameのエッジの間に少し余分なスペースを追加する方法があるかどうかを知りたいと思います。Java:AbsoluteLayoutの余分なスペース
0
A
答えて
0
ボタンの下に追加できる空白スペースを作成するには、Box.createRigidArea(dimensions)を使用できます。
2
提案:あなたはJFrameのにコンポーネントを追加すると
- 、あなたは実際のJFrameのcontentPaneにそれを追加しています。 contentPaneに「バッファ」ボーダーを与えるには、コンポーネントの周りに必要なボーダーの量のint定数であるパラメーターをEmptyBorder(...)に渡すことを検討してください。
- 「絶対」レイアウトを使用するのは避けてください。特に、GUIの下部などのレイアウトマネージャの配置場所にコンポーネントを配置するのは避けてください。たとえば、
、中央と下のJPanelのが原因空の境界線のGUIの端に外出しない方法を次のコードで作成されたGUIでのノートは:
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.*;
public class ButtonAtBottom {
private static void createAndShowGui() {
JPanel bottomPanel = new JPanel();
bottomPanel.add(new JButton("Bottom Button"));
bottomPanel.setBorder(BorderFactory.createTitledBorder("Bottom Panel"));
JPanel centerPanel = new JPanel();
centerPanel.setBorder(BorderFactory.createTitledBorder("Center Panel"));
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(centerPanel, BorderLayout.CENTER);
mainPanel.add(bottomPanel, BorderLayout.PAGE_END);
// **** here I add the border to the mainPanel which I'll
// make into the contentPane
int eb = 25;
mainPanel.setBorder(BorderFactory.createEmptyBorder(eb, eb, eb, eb));
// don't set the preferredSize per Kleopatra, but am doing it
// here simply to make code shorter for this sscce
mainPanel.setPreferredSize(new Dimension(500, 400));
JFrame frame = new JFrame("ButtonAtBottom");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
+1
笑って大声で:-) – kleopatra
0
設定しますコンテンツパネルの空白の境界。ここで、SIZE
は必要なパディングの量です。あなたが各エッジに異なるパディングをしたい場合、あなたはそれに応じて設定することができるように
JFrame frame = new JFrame();
JPanel panel = new JPanel(null);
panel.setBorder(BorderFactory.createEmptyBorder(SIZE,SIZE,SIZE,SIZE);
frame.setContentPane(panel);
//The rest
引数が上、左、下、右パディングのためのものです。
関連する問題
- 1. 余分なスペース
- 2. グリッドレイアウト余分なスペース
- 3. プレタグの余分なスペース
- 4. Androidウィジェットの余分なスペース
- 5. recyclerview内の余分なスペース
- 6. HAML余分なスペースがTextarea
- 7. ドロップダウンメニューCss余分なスペース
- 8. asp.net mvc razor余分なスペース
- 9. Chrome - CSS - 余分なスペース
- 10. C concate string余分なスペース
- 11. 余分なスペースでページ分割
- 12. tinyMCEのテーブルの上に余分なスペース
- 13. 画像の下の余分なスペース
- 14. div要素の余分なスペースの解
- 15. jsRender - 各ループ内の余分なスペース
- 16. SVGの余分な垂直スペース
- 17. iOS - TableViewヘッダーの余分なスペース
- 18. RecyclerViewアイテム間の余分な空きスペース
- 19. 余分なスペース固定の高さ
- 20. プロトタイプセルの余分なスペース。 Swift 3
- 21. SSRSレポートの余分なスペース図
- 22. ブートストラップnavbarの問題、余分なスペース
- 23. WPFコンボボックスエントリ間の余分なスペース
- 24. Outlook 2010の行間余分なスペース
- 25. 応答CSSの余分なスペースは、float:left;
- 26. Gmail/Chromeの余分な行スペースHTMLメール
- 27. 余分なスペースをリストボックスから外す
- 28. ミニコンで余分なスペースを印刷
- 29. フォントを変更した余分なスペース
- 30. html5 css余分な白いスペース右端
AbsoluteLayoutは効果的なレイアウトではありません - – kleopatra