Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Beginner
Jun 5, 2007

Force JScrollPane to Display a Scrollbar

Some of us may like to use the null layout instead of any ready layout manager. However, when it comes to using JscrollPane or other scrollable components, I've found that the scrollbar is unable to appear even when the JComponent (such as a JPanel) is larger than the JScrollPane. The following code demonstrates a way to overcome this problem:

//enable the DefaultLookAndFeelDecorate
JFrame.setDefaultLookAndFeelDecorated(true);

//create a JFrame//
JFrame jfr = new JFrame("Frame");

//create a jpanel with null layout//
JPanel jpn = new JPanel();
jpn.setLayout(null);

//create two label and add inside the jpanel, one at top and one at bottom
JLabel label1, label2;
label1 = new JLabel("Label 1"); label1.setBounds(2, 2, 100, 25);
label2 = new JLabel("Label 2"); label2.setBounds(2, 300, 100, 25);

jpn.add(label1); jpn.add(label2);

//set jpanel size[viewable] to 180 x 350
jpn.setPreferredSize(new Dimension(180, 350));

//create scrollable component and assign jpanel to be view
JScrollPane jsp = new JScrollPane(jpn);

//set jscrollpane size to 200x150
jsp.setBounds(2, 2, 200, 150);

jfr.setContentPane(jsp);
jfr.setSize(210, 180);
jfr.setVisible(true);
The most important thing is to remember to set your JComponent's size by using the setPreferredSize(...) method and make sure JScrollPane is smaller than JPanel.

Ong Eng Hua
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap