Java 如何调整图像显示的边框布局?
我不知道如何描述这个问题,所以我没有搜索so或Google。任何人都有一个好主意命名这个问题,请告诉我Java 如何调整图像显示的边框布局?,java,swing,layout-manager,border-layout,Java,Swing,Layout Manager,Border Layout,我不知道如何描述这个问题,所以我没有搜索so或Google。任何人都有一个好主意命名这个问题,请告诉我 我知道添加一个额外的JPanel会起作用,我想知道我们是否可以调整布局。使用JPanel嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后,该中心柱JPanel使用BorderLayout并容纳顶部、底部和中心JPanel e、 g 使用JPanels嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后
我知道添加一个额外的JPanel会起作用,我想知道我们是否可以调整布局。使用JPanel嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后,该中心柱JPanel使用BorderLayout并容纳顶部、底部和中心JPanel e、 g
使用JPanels嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后,该中心柱JPanel使用BorderLayout并容纳顶部、底部和中心JPanel e、 g
使用JPanels嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后,该中心柱JPanel使用BorderLayout并容纳顶部、底部和中心JPanel e、 g
使用JPanels嵌套两个BorderLayout。外部的一个有两个侧壁和一个中间的“柱”壁,其中有三个侧壁。然后,该中心柱JPanel使用BorderLayout并容纳顶部、底部和中心JPanel e、 g
谢谢你的努力。但是-“我知道添加一个额外的JPanel会起作用,我想我们是否可以调整布局。”-我想我知道这个解决方案。@bijiDango:你不能通过设置布局的状态来“调整”布局。我想你可以尝试扩展它并改变它的内部工作方式,但我不能肯定这是否可行,因为我没有尝试过,也没有尝试的愿望,因为存在更简单的解决方案。谢谢你的努力。但是-“我知道添加一个额外的JPanel会起作用,我想我们是否可以调整布局。”-我想我知道这个解决方案。@bijiDango:你不能通过设置布局的状态来“调整”布局。我想你可以尝试扩展它并改变它的内部工作方式,但我不能肯定这是否可行,因为我没有尝试过,也没有尝试的愿望,因为存在更简单的解决方案。谢谢你的努力。但是-“我知道添加一个额外的JPanel会起作用,我想我们是否可以调整布局。”-我想我知道这个解决方案。@bijiDango:你不能通过设置布局的状态来“调整”布局。我想你可以尝试扩展它并改变它的内部工作方式,但我不能肯定这是否可行,因为我没有尝试过,也没有尝试的愿望,因为存在更简单的解决方案。谢谢你的努力。但是-“我知道添加一个额外的JPanel会起作用,我想我们是否可以调整布局。”-我想我知道这个解决方案。@bijiDango:你不能通过设置布局的状态来“调整”布局。我想你可以尝试扩展它并改变它的内部工作方式,但我不能肯定这是否可行,因为我没有尝试过它,也没有尝试它的愿望,因为存在更简单的解决方案。
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.*;
public class MyLayouts {
private static void createAndShowGui() {
JPanel centerColumnPanel = new JPanel(new BorderLayout());
centerColumnPanel.setBorder(BorderFactory.createTitledBorder("Center Column Panel"));
centerColumnPanel.add(makePanel("North", 400, 100), BorderLayout.PAGE_START);
centerColumnPanel.add(makePanel("South", 400, 100), BorderLayout.PAGE_END);
centerColumnPanel.add(makePanel("Center", 400, 200), BorderLayout.CENTER);
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.setBorder(BorderFactory.createTitledBorder("Main Panel"));
mainPanel.add(centerColumnPanel, BorderLayout.CENTER);
mainPanel.add(makePanel("West", 100, 400), BorderLayout.LINE_START);
mainPanel.add(makePanel("East", 100, 400), BorderLayout.LINE_END);
JFrame frame = new JFrame("MyLayouts");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
private static JPanel makePanel(String title, int width, int height) {
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder(title));
panel.add(Box.createRigidArea(new Dimension(width, height)));
return panel;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}