[英]How to set Button panel at the top of the window in JFrame?
在我的小型瀏覽器程序中,我的buttonPanel包含backButton,forwardButton和locationTextField。 fPane包含buttonPanel和jfxPanel。 瀏覽器窗口應該看起來像頂部的buttonPanel,其他內容覆蓋了窗口的其余部分。
這是我的構造器部分:
private JButton backButton = new JButton(), forwardButton = new JButton();
private final JFXPanel jfxPanel = new JFXPanel();
private JTextField locationTextField = new JTextField(40);
private JPanel fPane = new JPanel();
public Browser(){
createScene();
setPreferredSize(new Dimension(1024,600));
setResizable(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel buttonPanel = new JPanel(new BorderLayout(5,0));
buttonPanel.setBorder(BorderFactory.createEmptyBorder(3, 5, 3, 5));
buttonPanel.setBackground(Color.darkGray);
backButton.setIcon(new ImageIcon(Hello.class.getResource("/left.png")));
backButton.setBackground(Color.DARK_GRAY);
buttonPanel.add(backButton,BorderLayout.NORTH);
forwardButton.setIcon(new ImageIcon(Hello.class.getResource("/forward.png")));
forwardButton.setBackground(Color.DARK_GRAY);
buttonPanel.add(forwardButton,BorderLayout.NORTH);
buttonPanel.add(locationTextField,BorderLayout.CENTER);
fPane.add(buttonPanel,BorderLayout.NORTH);
fPane.add(jfxPanel, BorderLayout.CENTER);
getContentPane().setLayout(new BorderLayout(5,0));
getContentPane().add(fPane, BorderLayout.WEST);
pack();
}
當我編譯它時,它看起來像這樣:
buttonPanel放在一邊而不是放在窗口頂部,后退按鈕消失,並且在頁面下方創建了額外的空間。
我假設按鈕位於buttonPanel
,那么您可以嘗試
getContentPane().add(buttonPanel, BorderLayout.NORTH);
getContentPane().add(fPane, BorderLayout.CENTER);
在pack()
之前
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.