2013-05-20 3 views
0

Так что я использую панель borderLayout с girdLayout для центральной позиции, я добавил некоторые объекты в gridLayout, но позже я хотел бы добавить дополнительную информацию к тем же сеткам.доступ к 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

Что вы подразумеваете под «добавлением дополнительной информации в одни и те же сетки»?? Вы хотите, чтобы вы могли изменять информацию, хранящуюся внутри трех JPanels? Или вы хотите удалить текущие JPanels и добавить новые по мере необходимости?

Похоже, вы хотите обновить JPanels, сохраненные при изменении информации игрока. В этом случае объявите JPanels вне цикла for (где вы объявляете JFrame и главную панель).

Смежные вопросы