2017-03-06 62 views
0

我沒有獲得垂直滾動條。滾動JTextPane。 我正在使用JPanel來顯示JScrollPane內部的JTextPane。 這裏是代碼。請檢查它。 謝謝。未在JTextPane中獲取滾動條

these is the image of output i am getting.

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(); 
    } 
} 

回答

1
scrollpane = new JScrollPane(textpane); 
panel.add(scrollpane, BorderLayout.CENTER); 
textpane.setSize(size); 
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 
panel.add(textpane); 
frame.add(panel); 

創建使用文本窗格這是正確的滾動窗格。

但是,然後將文本窗格添加到面板。這不起作用,因爲組件只能有一個父項,所以文本窗格從滾動窗格中刪除。

所以擺脫面板,只是將滾動窗格添加到框架。

此外,由於滾動窗格的佈局管理器將確定文本窗格的大小,因此不需要setSize(...)。

所以你的基本代碼應該僅僅是:

scrollpane = new JScrollPane(textpane); 
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 
frame.add(scrollpane); 
+0

耶那是我的錯誤。非常感謝 – Sumit