java - 访问 gridLayout 网格

标签 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 属性,并在需要时追加这些属性。这是一个明智的想法吗?或者是否有更有效的方法来做到这一点。

谢谢!

最佳答案

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

您似乎想随着玩家信息的变化而更新存储的 JPanel。在这种情况下,请在 for 循环之外声明 JPanel(在其中声明 JFrame 和主面板)。

关于java - 访问 gridLayout 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642413/

相关文章:

java - Prometheus:针对某种情况发出警报的最佳方式是什么?

java - 无法获取两个日期之间的记录

java - JPanel 未显示在另一个 JPanel 内

java - 用于 AWT/Swing 的 Java JDK 1.7 中的 Apple Retina 显示支持

java - 如何关闭小程序内的框架?

java - 如何使用java中的 map 列出具有特定主题的每条消息?

java - 是否有修改标识符命名的约定,否则这些标识符将成为 Java 中的关键字?

java - 扫描文件中的重复字符串

c# - Java Swing 与 C#.net 桌面数据库应用程序

java - dispose() 与 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 不同