gpt4 book ai didi

java - 如何在JFrame中设置窗口顶部的按钮面板?

转载 作者:行者123 更新时间:2023-12-01 09:11:22 26 4
gpt4 key购买 nike

在我的迷你浏览器程序中,我的buttonPanel包含backButton、forwardButton和locationTextField。 fPane 包含buttonPanel 和jfxPanel。浏览器窗口应该看起来像顶部的按钮面板,其他东西覆盖窗口的其余部分。

这是我的构造函数部分:

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();
}

当我编译它时,它看起来像这样:

enter image description here

buttonPanel 移到一边而不是移到窗口顶部,后退按钮消失,并在页面下方创建额外的空间。

最佳答案

我假设按钮放置在 buttonPanel 内,那么你可以尝试

getContentPane().add(buttonPanel, BorderLayout.NORTH);
getContentPane().add(fPane, BorderLayout.CENTER);

pack()之前

关于java - 如何在JFrame中设置窗口顶部的按钮面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com