прежде всего я должен сказать, что я проверил эти вопросы и не нашел мой ответ:JScrollPane не работает для моего JPanel
и многие другие вопросы, как так
также я проверил эти учебники и примеры:
и многие другие сайты. но я не мог исправить свою проблему.
и это простой вид моего кода:
public class Question extends JFrame {
public Question() {
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLayout(new BorderLayout());
setSize(d.width, d.height);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(d.width, d.height));
panel.setBorder(BorderFactory.createLineBorder(Color.red));
panel.setLayout(new BoxLayout(panel, 1));
for (int i = 0; i < 100; i++) {
panel.add(new JButton("kjdh"));
}
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setPreferredSize(new Dimension(500, 500));
getContentPane().add(scrollPane);
getContentPane().add(panel);
setVisible(true);
}
public static void main(String[] args) {
new Question();
}
}
но JScrollPane
не появляется. Я много тестировал. Я изменил способ добавления panel
и scrollPane
в мой frame
, но это не сработало. может ли кто-нибудь помочь мне плз?
Вы пробовали scrollPane.add (панель), и добавление только панель? –
Вы пробовали фреймворк для расчета размеров? И правильно, предпочтительный размер требует настройки настроек, используйте полный размер. –
Вы уже добавили jpanel внутри scrollpane, поэтому нет необходимости добавлять jpanel снова в фрейм. Избегайте добавления ненужного кода, например, дважды добавляя jpanel. Просто удалите строку 'getContentPane(). Add (panel)'. –