Re: Problem about JScroll
To: comp.lang.java.gui
ashwinijain wrote:
hello,
i am preparing software in which i have used many components like
jtable, jlabel etc..
i have added all these components to jpanel.
and i want the scrolled window but i am not able to get this...
code is...
class BillingSoftware extends JPanel /*implements ActionListener */
{
.................. //components are added here
}
b=new BillingSoftware();
JFrame myFrame=new JFrame();
myFrame.getContentPane().setLayout(null);
Ugh! null layouts are evil evil evil.
m.b.setBounds(0,0,1000,3200);
What is m?
JScrollPane pane=new JScrollPane();
pane.getViewport().add(m.b);
pane.setBounds(0,0,1000,3200);
I think this is a bad thing (tm)
myFrame.getContentPane().add(pane);
myFrame.getContentPane().setBackground(Color.white);
I suspect you should be doing that to pane?
myFrame.setSize(1000,3200);
I think this too is a bad thing (tm)
myFrame.show();
When posting problems to newsgroups ALWAYS give a Small Self-contained
Complete Compilable Example (SSCCE) like this one (which scrolls nicely) ...
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class BillingSoftware extends JPanel{
BillingSoftware () {
// Use simple ugly GridLayout for demo purposes.
// See http://www.miglayout.com/ for my favourite today.
// For a nicer layout, change one line below to
// setLayout(new MigLayout("wrap 2"));
setLayout(new GridLayout(6,2));
setBackground(Color.WHITE);
add(new JLabel("Foo"));
add(new JTextField("apples", 10));
add(new JLabel("Bar"));
add(new JTextField("apples", 10));
add(new JLabel("Baz"));
add(new JTextField("apples", 10));
add(new JLabel("Qux"));
add(new JTextField("apples", 10));
add(new JLabel("Zip"));
add(new JTextField("apples", 10));
add(new JLabel("Zap"));
add(new JTextField("apples", 10));
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
BillingSoftware b=new BillingSoftware();
JScrollPane pane=new JScrollPane(b);
JFrame myFrame=new JFrame();
Container c = myFrame.getContentPane();
c.add(pane);
myFrame.setSize(200,150); // best is myFrame.pack()
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
});
}
}
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24