Я не уверен, как это исправить, у меня есть несколько JPanel (используемых для рисования) внутри основной JPanel с использованием BoxLayout. JPanels имеют установленный минимальный размер и предпочтительный размер. Основная панель JPanel показывает только 3 из пяти, так как она слишком мала. Я попытался установить размер основного JPanel довольно большим, а также попытался добавить прокрутку, но ничего не появилось.
Вот код:
public static void main(String[] args) throws XMLStreamException, IOException {
JFrame frame = makeFrame(500, 500);
JPanel panel = new JPanel();
panel.setSize(1800, 1800);
JScrollPane scroller = new JScrollPane(panel);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
frame.add(scroller);
test1(panel);
}
public static JFrame makeFrame(int sizex, int sizey){
JFrame frame = new JFrame();
frame.setTitle("FDA");
frame.setSize(sizex, sizey);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
return frame;
}
test1
добавляет шесть панелей JPanel размером 360x360 в panel
.
С полосой прокрутки я вижу только одну из панелей JPanel, и полосы прокрутки не появляются.
Редактировать: мне нужно подождать, пока все мои расчеты не будут выполнены, прежде чем я нарисую основную JPanel, поэтому она не отображала последние 3.
makeFrame
? Вы упаковываете раму? Весь код очень помог бы. - person Kezz   schedule 20.04.2013