[ igisar @ 04.01.2007. 23:33 ] @
Imam problem sa JScrollPane
Neznam da napisem deo koda koji bi trebao da se klizaci pojave
evo koda
Code:
import javax.swing.*;
import java.awt.*;

public class glavno {
    public static void main(String args[]) {
        oblik o=new oblik();
    }
}
class oblik extends JFrame{
    public oblik() {
        setSize(500,500);
        setVisible(true);
        
        JPanel panel=new JPanel();
        panel.setBackground(Color.white);
        
        JScrollPane sp=new JScrollPane(panel);
        
        getContentPane().setLayout(new GridLayout(1,1));
        getContentPane().add(sp);
        
        JButton b=new JButton();
        b.setBounds(0,0,301,301);
        
        JButton b1=new JButton();
        b1.setBounds(300,50,301,301);
        
        panel.setLayout(null);
        panel.add(b);
        panel.add(b1);
    }
}

nadam se da mozete pomoci jako mi je vazno
[ JPF @ 05.01.2007. 02:07 ] @
Problem je što si sa panel.setLayout(null) ukinuo layout manager, a on je odgovoran za izračunavanje veličine komponente i na njega se oslanja JScrollPane da bi znao kad je dio komponente izašao van vidljivog dijela prozora.

LM, u slučaju kad je layout manager null JPane vraća (0,0) za preferredSize, pa JScrollPane zaključi da ne treba da crta scroll bar. Rješenje je da ili koristiš neki layout manager (preporučljivo) ili da sa panel.setPreferredSize(new Dimension(500, 500)); podesiš sam veličinu panela.