簡體   English   中英

如何在JFrame的窗口頂部設置Button面板?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM