i am not getting the vertical scrollbars. to scroll the JTextPane
.
i am using JPanel
to show the JTextPane
inside of JScrollPane
.
here is the code . please review it.
thanks.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TestWithHtml
{
JTextPane textpane;
JPanel panel;
JFrame frame;
JScrollPane scrollpane;
TestWithHtml()
{
frame = new JFrame("Text With HTML");
frame.setSize(200,300);
panel = new JPanel(new BorderLayout());
panel.setBounds(0,0,200,300);
textpane = new JTextPane();
Dimension size = new Dimension(200,300);
//frame.getContentPane()
scrollpane = new JScrollPane(textpane);
panel.add(scrollpane, BorderLayout.CENTER);
textpane.setSize(size);
scrollpanel.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(textpane);
frame.add(panel);
textpane.setEditable(false);
textpane.setContentType("text/html");
textpane.setText("<b> hry </b>");
textpane.setText("<p><b>Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. Here Is some text. </b></p>");
frame.setVisible(true);
}
public static void main(String args[])
{
new TestWithHtml();
}
}
scrollpane = new JScrollPane(textpane);
panel.add(scrollpane, BorderLayout.CENTER);
textpane.setSize(size);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(textpane);
frame.add(panel);
You create the scroll pane using the text pane which is correct.
But then you add the text pane to the panel. This won't work because a component can only have a single parent, so the text pane is removed from the scroll pane.
So get rid of the panel and just add the scroll pane to the frame.
Also, there is no need for the setSize(...) since the layout manager of the scroll pane will determine the size of the text pane.
So your basic code should just be:
scrollpane = new JScrollPane(textpane);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
frame.add(scrollpane);