如何在JFrame中设置window顶部的Button面板?
How to set Button panel at the top of the window in JFrame?
在我的迷你浏览器程序中,我的 buttonPanel 包含 backButton、forwardButton 和 locationTextField。 fPane 包含buttonPanel 和jfxPanel。浏览器 window 应该看起来像顶部的按钮面板,其他内容覆盖 window.
的其余部分
这是我的构造函数部分:
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 移到一边,而不是移到 window 的顶部,后退按钮消失,并在页面下方创建额外的 space。
我假设按钮放在 buttonPanel
里面,那么你可以试试
getContentPane().add(buttonPanel, BorderLayout.NORTH);
getContentPane().add(fPane, BorderLayout.CENTER);
在pack()
之前
在我的迷你浏览器程序中,我的 buttonPanel 包含 backButton、forwardButton 和 locationTextField。 fPane 包含buttonPanel 和jfxPanel。浏览器 window 应该看起来像顶部的按钮面板,其他内容覆盖 window.
的其余部分这是我的构造函数部分:
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 移到一边,而不是移到 window 的顶部,后退按钮消失,并在页面下方创建额外的 space。
我假设按钮放在 buttonPanel
里面,那么你可以试试
getContentPane().add(buttonPanel, BorderLayout.NORTH);
getContentPane().add(fPane, BorderLayout.CENTER);
在pack()