嗨,大家好,
上面是我的框架的截图,它现在的样子。我希望第一个标签 PlatformTest1 在红色条纹之后开始。为了清楚起见,我在自己身上画了红色条纹。我使用了带有 3 个 Janels 的 Borderlayout,一个在 West、North 和 Center。我用从两个列表中获得的标签填充北面板和西面板。在中心面板中,我想要一个大小为 list1.size() * list2.size() 的网格。但是我只是没有在红色条纹所在的位置添加第一个标签。我尝试添加一个空白标签,但这看起来不太好。
到目前为止,这是我的代码:
public DisplayMapping() {
final int x = list1.size();
final int y = list2.size();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100,600, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
JPanel panelApps = new JPanel();
panelApps.setBorder(new LineBorder(new Color(0, 0, 0), 2));
contentPane.add(panelApps, BorderLayout.WEST);
panelApps.setLayout(new GridLayout(y, 1));
JPanel panelHW = new JPanel();
panelHW.setBorder(new LineBorder(new Color(0, 0, 0), 2));
contentPane.add(panelHW, BorderLayout.NORTH);
panelHW.setLayout(new GridLayout(1,x));
JPanel panelGrid = new JPanel();
contentPane.add(panelGrid, BorderLayout.CENTER);
panelGrid.setLayout(new GridLayout(1, 0, 0, 0));
for(String s : list1)
{
JLabel lbl = new JLabel();
lbl.setText(s);
panelApps.add(lbl);
panelApps.revalidate();
panelApps.repaint();
contentPane.revalidate();
contentPane.repaint();
}
for(String s : XMLParser.HardwareListGUI)
{
JLabel lbl = new JLabel();
lbl.setText(s);
panelHW.add(lbl);
panelHW.revalidate();
panelHW.repaint();
contentPane.revalidate();
contentPane.repaint();
}
我还尝试在 x 方向上设置 PanelApps 的边界,但也没有成功。我希望有人可以在这里提供帮助。
提前致谢。