2012-12-07 35 views
1

我想向我的JTextArea添加滾動條,但它不會顯示。我在論壇上看過很多東西,但都是徒勞的。任何建議,高度讚賞。 在此先感謝。以下是我的代碼。JScrollPane在帶有兩個面板的JFrame中

JPanel pan, pan2; 
JTextArea text = new JTextArea(); 
JTextField fname = new JTextField(18); 
JLabel filename = new JLabel("Filename"); 
JButton view = new JButton("View"); 
public FileReading() { 
    setLayout(new BorderLayout()); 
    pan = new JPanel(); 
    pan2 = new JPanel(); 
    JScrollPane scroll = new JScrollPane(text); 
    //scroll.setBounds(400,400,400,400); 
    scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
    text.setEditable(false); 
    scroll.setViewportView(text); 
    pan2.add(scroll); 
    //scrollpane.setViewportView(text); 
    pan2.setLayout(new BorderLayout()); 
    //pan2.add(scrollpane); 
    pan.setLayout(new FlowLayout()); 
    pan.add(filename, FlowLayout.LEFT); 
    pan.add(fname, FlowLayout.CENTER); 
    pan.add(view, FlowLayout.RIGHT); 
    view.addActionListener(this); 
    fname.addActionListener(this); 
    pan2.add(text, BorderLayout.CENTER); 
    pan2.add(pan, BorderLayout.SOUTH); 
    //BorderLayout.EAST 
    //add(pan, BorderLayout.SOUTH); 
    add(pan2);//, BorderLayout.CENTER 
    setVisible(true); 
} 

public static void main(String args[]) { 
    FileReading frame = new FileReading(); 
    frame.setTitle("Enter The Full Path to the File"); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setBounds(400,400,400,400); 
    //frame.setSize(400,400); 
} 

回答

1

其他的事情你需要添加scroll(JScrollPane)到pan2而不是text(JTextArea中) 試試這個

pan2.add(scroll, BorderLayout.CENTER); 

到位pan2.add(text, BorderLayout.CENTER);

編輯當我們添加JScrollPane到面板

JTextArea被自動添加,爲您添加text(JTextArea中)內JScrollPane

here - >JScrollPane scroll = new JScrollPane(text);

+0

非常感謝你們,我很難找出答案。現在它的所有工作都以我想要的方式工作:)。 – guthik

+0

@ user1825142如果它工作...你可以接受答案,並upvote也 – exexzian

0

可以試試這個

add(scroll);//, BorderLayout.CENTER 
add(pan, BorderLayout.SOUTH); 

,而不是

add(pan2);//, BorderLayout.CENTER 

這樣,我們直接添加到滾動窗格主架和推杆下面