Я создал небольшую программу, в которой у меня есть JFrame с JScrollPane. В этом JScrollPane есть панель (где я устанавливаю Viewportview) с разными JButtons. Я установил свои setBounds, установил нуль для макета панели, но я не вижу полосу jscrollbar.
JFrame jf = new JFrame("My Frame");
//other things of the frame...
JScrollPane jsp = new JScrollPane();
jsp.setBounds(0,83,301,667);
JPanel jp = new JPanel();
jp.setLayout(null);
JButton jb = new JButton("Button 1");
jb.setBounds(0,0,40,1500) //here there is only 1 button, a big button
jp.add(jb);
jp.revalidate();
jp.repaint();
jsp.setViewportView(jp);
И вот здесь я не вижу полосу jscrollbar, она работает, только если я установил макет:
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
Но с этим макетом я не могу установить свои setBounds, и все помещается ниже предыдущего компонента. Спасибо и извините за мой плохой английский
null
(и других аспектов кода, связанных с этим). - person Andrew Thompson   schedule 14.07.2014