• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

ScrollPane is always a problem !!!

 
Ranch Hand
Posts: 122
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi guys
I'm having a little problem here. I've designed a bean with a Scrollpane and a panel inside it. Labels and Textfields are added to the panel continuosly, and I've currently set the Panel's layout to null. In one of the cases for the TextFields, I've added a mouseclicked event wherein a calendar pops up inside the bean when the user clicks inside the TextField which has the date. Now, the problem is that initially, the panel's layout was Gridlayout, but when I do the same, all the components get sized to that of a calendar and it looks bad and now that the layout is null, the scrollbar's not appearing. If I happen to size the calendar small , then the user will not be able to select the date. Please help me with this.
Thanks
Meghna
//===============================================================
setLayout(new BorderLayout(0,0));
//setSize(290,115);
setSize(0,0);
JScrollPane1.setAutoscrolls(true);
JScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
JScrollPane1.setOpaque(true);
add(BorderLayout.CENTER,JScrollPane1);
JPanel1.setAutoscrolls(true);
JPanel1.setLayout(null);
JScrollPane1.getViewport().add(JPanel1);
JPanel1.setBounds(0,0,1,1);
//JScrollPane1.setBounds(0,0,430,200);
//JPanel1.setLayout(new GridLayout(0,2,5,5));
//JPanel1.setBounds(0,0,427,197);
//}}
//===============================================================
cclass SymMouse extends java.awt.event.MouseAdapter
{
public void mouseClicked(java.awt.event.MouseEvent event)
{
Object object = event.getSource();
if (object == cal)
cal_mouseClicked(event);
else if(object == mask1)
mask1_mouseClicked(event);
}
}
//===============================================================void cal_mouseClicked(java.awt.event.MouseEvent event)
{
// to do: code goes here.
String str = cal.getDate();
mask1.setText(str);
cal.setVisible(false);
}
//===============================================================void mask1_mouseClicked(java.awt.event.MouseEvent event)
{
if(mask1.isEditable() == true)
{
cal.setVisible(true);
cal.setSize(200, 150);
cal.setLocation(this.getX(), this.getY());
cal.repaint();
cal.validate();
}
else
return;
}
}//End Class
//===============================================================
 
"The Hood"
Posts: 8521
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Are you stuttering???
http://www.javaranch.com/ubb/Forum2/HTML/001179.html
 
Meghna ks
Ranch Hand
Posts: 122
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Cindy
Thanks for the reply, but setting the Panel's layout to FlowLayout is aligning all the components horizontally. Basically, the look need is Labels on the Left side and TextFields on the right side of the panel. GridLayout was working perfectly until the Calendar came into existence. So,
Please let me know if you come up with some idea.
Thanks in advance
Meghna
 
Ranch Hand
Posts: 133
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think you will have to use a gridBag layout to get the results you need. Check out Professional Java Programming (WROX) for a great discussion of the gridBag. In your case, if you just have 2 columns of data, you will want to set your constraints' gridwidth setting to 1 for the right column and constraints.gridwidth to REMAINDER before adding each left column object:
panel.setLayout(new GridBagLayout());
GridbagConstraints bag = new GridBagConstraints();
bag.gridwidth = 1;
panel.add(component1, bag);
bag.gridwidth = GridBagConstraints.REMAINDER;
panel.add(component2, bag);
etc, etc.
HTH
 
Meghna ks
Ranch Hand
Posts: 122
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Eric , I'll give it a try and get back to you if I come up with anything.
Thanks
Meghna
 
So I left, I came home, and I ate some pie. And then I read this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic