现在我已经在 stackoverflow 上搜索过了,但找不到任何人问同样的问题。
我有一个 JPanel,其中有一个 JScrollPane,里面有一个 JPanel。 我正在尝试将 JButton 添加到 JScrollPane 内的 JPanel,并且在将 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
最佳答案
upgradeScrollPane.add(upgradePanel);
这是错误的做法。相反,要么设置 JScrollPane 的 View 端口,要么在构造时添加组件。
关于java - 如何在 JScrollPane 中添加 JPanel,然后再次添加 JPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335045/