Как добавить JPanel в JScrollPanel, а затем снова добавить JPanel? - PullRequest
0 голосов
/ 16 ноября 2018

Теперь я обыскал стекпоток и не могу найти никого, задающего тот же вопрос.

У меня есть JPanel, где у меня есть JScrollPane с JPanel внутри.Я пытаюсь добавить JButton в JPanel внутри JScrollPane, и это сработало до того, как я добавил 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, я просто пытаюсьучиться на практике: D

1 Ответ

0 голосов
/ 16 ноября 2018
upgradeScrollPane.add(upgradePanel); 

Это неправильный подход.Вместо этого либо установите порт просмотра JScrollPane, либо поочередно добавьте компонент в конструкцию.

...