Вот мой код:
//this is a JPanel, the gray panel behind the A4 paper
public Panel(int w, int h) { //w=624, h=600
this.w = w;
this.h = h;
ownlayout();
setLocation(0, 0);
setSize(w,h);
setBackground(Color.gray);
JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL);
vbar.setLocation(w-30,0);
Tab tab = new Tab(w-30,842);
//Tab is a JPanel too, this is the A4 paper
add(tab);
add(vbar);
}
private void ownlayout() {
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
/*layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, w, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, h, Short.MAX_VALUE)
);*/
}
Как видите, высота панели вкладок больше, чем высота серой панели.
Поэтому я хочу получить полосу прокрутки в правой части серой панели, которая может прокручивать панель вкладок (которая находится на серой панели) вверх и вниз. Но он показывает только панель вкладок, а полоса прокрутки отсутствует!
Я могу сделать это, если я установлю границу макета, а не ownlayout (), но мне нужен бесплатный дизайн, а не borderlayout.
Пожалуйста, помогите мне с некоторым примером!