【问题标题】:How to add a JPanel in a JScrollPanel and then add in a JPanel again?如何在 JScrollPane 中添加 JPanel,然后再次添加 JPanel?
【发布时间】:2018-11-16 09:37:09
【问题描述】:

现在我搜索了 stackoverflow,但找不到任何人问同样的问题。

我有一个 JPanel,里面有一个 JScrollPane,里面有一个 JPanel。 我正在尝试在 JScrollPane 内的 JPanel 中添加一个 JButton,并且在我将 JScrollPane 添加到代码之前它就起作用了。

问题是 JButton 不再显示了。

该部分的代码是:

//----- Second Panel -----
JPanel secondPanel = new JPanel();
secondPanel.setBorder(new LineBorder(Color.black, 1, false));
secondPanel.setLayout(new GridLayout(2,1));

//----- Upgrade Scroll Pane -----
JScrollPane upgradeScrollPane = new JScrollPane();
upgradeScrollPane.setBorder(new LineBorder(Color.black,1,false));

//----- Upgrade Panel -----
JPanel upgradePanel = new JPanel();
upgradePanel.setLayout(new GridLayout(44,5));

//----- Reinforced index finger -----
Upgrades.rifButton = new JButton();
loadImage(Upgrades.rifButton, "resources/Upgrades/Cursor/Reinforced index finger.png");
Upgrades.rifButton.addActionListener(e -> Upgrades.rif());
Upgrades.rifButton.setToolTipText("Test");
upgradePanel.add(Upgrades.rifButton);

//Adding Upgrade Panel in Upgrade Scroll Pane
upgradeScrollPane.add(upgradePanel);

//Adding Upgrade Scroll Pane in Second Panel
secondPanel.add(upgradeScrollPane);

我真的不知道我做错了什么。

是的,它是 cookie clicker 的副本,我只是想边做边学 :D

【问题讨论】:

    标签: java swing jpanel jbutton jscrollpane


    【解决方案1】:
    upgradeScrollPane.add(upgradePanel); 
    

    这是错误的方法。相反,要么设置JScrollPane 的视口,要么在构造时添加组件。

    【讨论】:

      猜你喜欢
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多