访问gridLayout网格

时间:2013-05-20 04:03:20

标签: java swing awt jpanel grid-layout

所以我使用borderLayout面板和girdLayout作为中心位置,我已经在gridLayout中添加了一些对象,但后者我想在同一网格中添加更多信息。

private JFrame frame;
private JPanel mainPanel;
static private JPanel centerPanel;

public void loadPlayer(Player player){
int count = 1;

 centerPanel = new JPanel(new GridLayout(1,3));

for (Item i: player.getAllItems()){

    JPanel jpI= new JPanel();
    JLabel jlItem= new JLabel(i.getName());
    BorderLayout bl = (BorderLayout) (mainPanel.getLayout()) ;
    jpI.add(jlItem);
    jpI.setBorder(BorderFactory.createLineBorder(Color.BLACK));

    centerPanel.add(jpI);
    mainPanel.add(centerPanel,BorderLayout.CENTER);

 }

我最初的想法是在我的课程中添加3个JPanel属性,并在需要时添加它们。这是一个明智的想法吗?或者是否有更有效/更有效的方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

“向同一网格添加更多信息”是什么意思?您是否希望能够更改存储在三个JPanel内的信息?或者您希望能够删除当前的JPanel并根据需要添加新的JPanel?

您似乎想要更新存储的播放器信息更改时的JPanel。在这种情况下,请在for循环之外声明JPanels(您声明JFrame和主Panel的地方)。