我想制作一个看起来像这样的jframe
:
如图所示,我想让右侧面板宽度为200px,底部面板高度为80px,然后其他所有内容都是自动的,因为我希望窗口可以调整大小。
有人可以帮助我实现这个目标吗?我一直在尝试使用gridLayout
,BorderLayout
和其他人。我看过一些有插图的东西,但无法弄明白。
答案 0 :(得分:1)
我相信这应该可以解决问题。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainFrame extends JFrame {
public static void main(String[] args) {
MainFrame frame = new MainFrame();
JPanel centerWrapper = new JPanel();
JPanel center = new JPanel();
center.setBackground(Color.BLUE);
JPanel right = new JPanel();
right.setBackground(Color.CYAN);
right.setPreferredSize(new Dimension(200, 10));
centerWrapper.setLayout(new BorderLayout());
centerWrapper.add(center, BorderLayout.CENTER);
centerWrapper.add(right, BorderLayout.EAST);
JPanel bottom = new JPanel();
bottom.setPreferredSize(new Dimension(640, 200));
bottom.setBackground(Color.GREEN);
frame.setLayout(new BorderLayout());
frame.add(centerWrapper, BorderLayout.CENTER);
frame.add(bottom, BorderLayout.SOUTH);
// you can now use center, right and bottom
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}