【发布时间】:2019-12-27 11:33:19
【问题描述】:
我尝试创建一些用于监控网络的应用程序。我将创建 4 个JPanels 并插入例如面板insert_panel_0、insert_panel_2 到panel_2。我无法在insert_panel_0、insert_panel_2 之间设置边界。我有垂直间隙,但我没有水平间隙。
你能帮我解决吗?
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class setting {
public static void main(String[] args) {
//get size window
Dimension tk = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int) tk.width;
int hight = (int) tk.height;
JFrame frame = new JFrame();
frame.setLayout(new GridLayout(1,4, 0, 0));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setBackground(Color.black);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
// set panels for window
JPanel panel_0 = new JPanel();
panel_0.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
panel_0.setBorder(new EmptyBorder(20, 20,20, 20));
panel_0.setBackground(Color.white);
frame.add(panel_0);
JPanel panel_1 = new JPanel();
panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
panel_1.setBackground(Color.yellow);
panel_1.setBorder(new EmptyBorder(20, 20,20, 20));
frame.add(panel_1);
JPanel panel_2 = new JPanel();
panel_2.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
panel_2.setBorder(new EmptyBorder(20, 20,20, 20));
panel_2.setBackground(Color.green);
frame.add(panel_2);
JPanel panel_3 = new JPanel();
panel_3.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
panel_3.setBorder(new EmptyBorder(20, 20,20, 20));
panel_3.setBackground(Color.blue);
frame.add(panel_3);
JPanel insert_panel_0 = new JPanel();
insert_panel_0.setPreferredSize( new Dimension(width/4, (int) Math.round( hight*0.05)));
insert_panel_0.setBackground(Color.black);
panel_2.add(insert_panel_0);
JPanel insert_panel_1 = new JPanel();
insert_panel_1.setPreferredSize( new Dimension(width/4, (int) Math.round( hight*0.05)));
insert_panel_1.setBackground(Color.black);
panel_2.add(insert_panel_1);
frame.setVisible(true);
}
}
【问题讨论】:
标签: java swing user-interface jframe jpanel