Я уже не знаю, откуда мне просить помощи. (Java, Swing)
Коротко - как заставить JScrollPane работать с JPanel в NULL layout?
Длинно - Еcть JPanel, в который вставляются JLabel, количество которых зависит от массива. Вот код в картинке: (можно даже увидеть оставшиеся комменты от попыток запихнуть это в scrollPane)
Длинно - Еcть JPanel, в который вставляются JLabel, количество которых зависит от массива. Вот код в картинке: (можно даже увидеть оставшиеся комменты от попыток запихнуть это в scrollPane)
Как видно - долго бедный фрейм и панелька не продержатся, и туда было бы логично вписать скроллбар, но по ускользающей от меня причине, у меня не получается впихнуть туда JScrollPane, как бы я не старался. Я перерыл весь Стак, Кодранч и даже официальные доки от Оракла. Даже поменяв лейаут, нифига не происходит, генерируется пустое окно. Я уже три дня над этим голову ломаю. Полный текст кода скину в комментарий. (в скрин не поместилось)
public void actionPerformed(ActionEvent e) {
try {
ReadFile file = new ReadFile(path);
String[] aryLines = file.OpenFile();
JFrame frame2 = new JFrame("Table");
JPanel panel = new JPanel();
// JScrollPane scrollPane = new JScrollPane(panel);
frame2.setSize(600, 300);
panel.setBounds(0, 0, 600, 600);
panel.setLayout(null);
//scrollPane.setPreferredSize(new Dimension(600,300));
for (counter = aryLines.length; counter > 0; counter-=6) {
JLabel jLabel1 = new JLabel("Имя: "+ aryLines[counter-6]);
JLabel jLabel2 = new JLabel("Деталь: " +aryLines[counter-5]);
JLabel jLabel3 = new JLabel("Дата прибытия заказа: " + aryLines[counter-3]);
JLabel jLabel4 = new JLabel("Дата заказа детали: " + aryLines[counter-4]);
JCheckBox jCheckBox = new JCheckBox();
JTextArea area = new JTextArea(Integer.toString(counter));
jLabel1.setBounds(15, 5 + (counter - 6)*30, 300, 20);
jLabel2.setBounds(15,35 + (counter - 6)*30, 300, 20);
jLabel3.setBounds(15, 70 + (counter - 6)*30, 300, 20);
jLabel4.setBounds(15, 100 + (counter - 6)*30,300,20);
//jLabel.setBackground(Color.BLACK);
panel.add(jLabel1); panel.add(jLabel2); panel.add(jLabel3); panel.add(jLabel4);
//panel.add(jCheckBox);
}
// scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
// frame2.getContentPane().add(scrollPane);
frame2.add(panel);
//panel.add(scrollPane);
frame2.setLayout(null);
frame2.setVisible(true);