我有一個 JTextArea 組件,如下所示:
textArea = new JTextArea();
textArea.setBounds(0,0,490,390);
textArea.setEditable(false);
textArea.setFont(new Font(Font.SANS_SERIF,Font.PLAIN,30));
textArea.setFocusable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
然后我將 scrollPane 添加到具有空布局的 JFrame 中:
this.add(scrollPane);
但滾動條不會出現,如果有人幫助我,我會很高興。
uj5u.com熱心網友回復:
如果將屬性更改VERTICAL_SCROLLBAR_AS_NEEDED為VERTICAL_SCROLLBAR_ALWAYS將導致滾動條顯示,即使文本緩沖區為空,如下圖所示。
整個代碼
public class ScrollBarDemo {
public static void main(String[] args) {
JTextArea textArea = new JTextArea();
textArea.setBounds(0,0,490,390);
textArea.setEditable(false);
textArea.setFont(new Font(Font.SANS_SERIF,Font.PLAIN,30));
textArea.setFocusable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
JFrame frame = new JFrame();
frame.add(scrollPane);
frame.setTitle("Scrollbar Demo");
frame.setSize(200, 200);
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
我知道我沒有SwingUtilities用來正確啟動 Swing 應用程式,但我只是這樣做是為了快速回答 OP。此外,它與所問的問題無關。

編輯:
夸大了組件的尺寸,讓 OP 看到他或她的錯誤。問題是,因為 OP 沒有使用布局管理器,所以無論 OP 創建什么都超出了框架的范圍。因此,滾動條在可視區域之外。
public class ScrollBarDemo {
public static void main(String[] args) {
JTextArea textArea = new JTextArea();
textArea.setBounds(0,0,490,390);
textArea.setEditable(false);
textArea.setFont(new Font(Font.SANS_SERIF,Font.PLAIN,30));
textArea.setFocusable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setBounds(50, 50, 400, 400);
JFrame frame = new JFrame();
JPanel pane = new JPanel();
pane.setBounds(0, 0, 600, 800);
pane.add(scrollPane);
frame.add(pane);
frame.setTitle("Scrollbar Demo");
frame.setSize(800, 800);
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529931.html
上一篇:使用Java的XNOR門
