我正在开发一个 swing GUI,我想在 progressBar 上叠加一个按钮。 我已经写了更新进度条和按钮事件的代码,但我不知道如何管理布局!
目前面板代码如下:
public static void main(String[] args) throws IOException {
JFrame myFrame = new JFrame("myJfTitle");
myFrame.setLayout(new BorderLayout());
JPanel myPanel = new JPanel();
JButton myButton = new JButton("Click me");
JProgressBar myBar = new JProgressBar();
myBar.setValue(50);
myPanel.add(myButton);
myPanel.add(myBar);
myFrame.add(myPanel,BorderLayout.CENTER);
myFrame.setVisible(true);
}
结果如下:
我正在尝试获取此信息但未成功:
任何人都可以向我解释我应该使用哪种布局(或其他布局),或者将相同的引用链接给我,我可以从中阅读如何做?
更新:
通过添加以下代码,我设法覆盖了 2 个组件,但我仍然无法放大进度条以适应面板大小:
LayoutManager overlay = new OverlayLayout(myPanel);
myPanel.setLayout(overlay);
最佳答案
试试这个:
public class Test {
public static void main(String[] args) throws IOException {
JFrame myFrame = new JFrame("myJfTitle");
myFrame.setLayout(new BorderLayout());
JButton myButton = new JButton("Click me");
myButton.setAlignmentX(Component.CENTER_ALIGNMENT);
JProgressBar myBar = new JProgressBar();
LayoutManager overlay = new OverlayLayout(myBar);
myBar.setLayout(overlay);
myBar.setValue(50);
myBar.add(myButton);
myFrame.add(myBar, BorderLayout.CENTER);
myFrame.pack();
myFrame.setSize(new Dimension(300,100));
myFrame.setVisible(true);
}
}
关于java - 如何将 Jbutton 覆盖在 JprogressBar 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31655284/