Re: JScrollPane Scrollbar issues
Mike,
Thanks for the response. I discovered the problem, however, I'm
looking at a different situation than the simple example below. I'll
modify the ex. below to show you my issue.
import java.awt.Dimension;
import javax.swing.*;
public class Test {
public static final void main( String args[] ) {
TestPanel viewport = new TestPanel();
JScrollPane scrollPane = new JScrollPane( viewport );
scrollPane.setPreferredSize( new Dimension(300,200) );
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
frame.setContentPane( scrollPane );
frame.pack();
frame.setVisible(true);
}
}
// Creates the ViewPort panel
class TestPanel extends JPanel
{
public TestPanel()
{
setLayout(new GridLayout(0, 6));
for (int i = 0; i < 6; i++)
{
// add new repeated panels
add(new RepeatedPanel());
}
}
}
// Repeated panel in grid formation
// ***** PROBLEM: The JTextArea inside the panel is causing
// the JScrollPane to get a different viewing area, because every
// textarea that's added to the parent JScrollPane is messing up the
scrollbar locations
class RepeatedPanel extends JPanel
{
JTextField singleLine1;
JTextField singleLine2;
JTextArea multiLine;
public TestPanel()
{
singleLine1 = new JTextField("single ex. 1");
add(singleLine1);
singleLine2 = new JTextField("single ex. 2");
add(singleLine2);
multiLine = new JTextArea("multi ex. 1");
multiLine.setLineWrap(true);
add(multiLine);
}
}
Is there a way to hide the inner JTextArea from the outside
JScrollPane, or disable it as a scrollable area? Or would it be
simpler to create a multi-line JTextField with word-wrap
and text aligned with the beginning of the field?
Thanks for your help, it is appreciated.
Michael Rauscher wrote:
SeanSBW@gmail.com schrieb:
Sorry if this has been posted. I went through 3 pages of topics
looking for it, plus numerous google searches to no avail. Does anyone
know why in Java 1.5 the Horizontal scrollbar in a JScrollPane
initializes to the middle?
It doesn't
import java.awt.Dimension;
import javax.swing.*;
public class Test {
public static final void main( String args[] ) {
JTable table = new JTable(5,5);
table.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
JScrollPane scrollPane = new JScrollPane( table );
scrollPane.setPreferredSize( new Dimension(300,200) );
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
frame.setContentPane( scrollPane );
frame.pack();
frame.setVisible(true);
}
}
Bye
Michael