各位大虾:
小弟我在JScrollPane里面放置一个带有许多位置不定的label的JPane,设置JPane的layout为null,运行后没有滚动条,在外面的也就没了,而如果不设置为null,所有label就成一直线排列,label的大小也就是它内容的大小,如果超出范围会出现滚动条,难道就不能随意设置JPane里面的label吗???还请各位高手指点,谢谢!!!明天见
以下代码不能显示滚动条,只要把scrollPanel.setLayout(null);注释掉如果内容长度超过可实框就可以显示滚动条,但位置就成一条直线,label大小就只有内容的大小了 JLabel lab1 = new JLabel("1");
lab1.setFont(GlobalInfo.font15);
lab1.setBackground(GlobalInfo.BACKGROUND_WHITE);
lab1.setBorder(labborder);
lab1.setOpaque(true);
lab1.setBounds(0,0,50,600);

JLabel lab2 = new JLabel("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
lab2.setFont(GlobalInfo.font15);
lab2.setBackground(GlobalInfo.BACKGROUND_WHITE);
lab2.setBorder(labborder);
lab2.setOpaque(true);
lab2.setBounds(50,0,300,50);

JLabel lab3 = new JLabel("bbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaa");
lab3.setFont(GlobalInfo.font15);
lab3.setBackground(GlobalInfo.BACKGROUND_WHITE);
lab3.setBorder(labborder);
lab3.setOpaque(true);
lab3.setBounds(350,0,300,50);

JLabel lab4 = new JLabel("ccccccccccccccccccccaaaaaaaaaaaaaa");
lab4.setFont(GlobalInfo.font15);
lab4.setBackground(GlobalInfo.BACKGROUND_WHITE);
lab4.setBorder(labborder);
lab4.setOpaque(true);
lab4.setBounds(650,0,200,50);

JLabel lab5 = new JLabel("ccccccccccccccc                                                                     ");
lab5.setFont(GlobalInfo.font15);
lab5.setBackground(GlobalInfo.BACKGROUND_WHITE);
lab5.setBorder(labborder);
lab5.setOpaque(true);
lab5.setBounds(850,0,200,50);

JPanel scrollPanel = new JPanel();
scrollPanel.setBackground(GlobalInfo.BACKGROUND_WHITE);
scrollPanel.setLayout(null);
scrollPanel.add(lab1);
scrollPanel.add(lab2);
scrollPanel.add(lab3);
scrollPanel.add(lab4);
scrollPanel.add(lab5);

sp = new JScrollPane();
sp.setBounds(30,160,scmSize.width-60,500);
//sp.getViewport().setLayout(null);
sp.getViewport().add(scrollPanel);
//sp.getViewport().add(lab1);
//sp.getViewport().add(lab2);
//sp.getViewport().add(lab3);
//sp.getViewport().add(lab4);
//sp.getViewport().add(lab5);
//sp.getViewport().setBackground(GlobalInfo.BACKGROUND_WHITE);
//sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
//sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
mainPane.add(sp);