我不能让水平滚动条出现。 我已经使用JTextPane.setSize(),JTextPane.setPreferredSize()和JTextPane的大小没有方法试过。 我还使用JScrollPane.setPreferredSize()。
垂直滚动条出现,但水平一个没有。
下面是一个例子:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test {
private int textPaneWidth = 500;
private int textPaneHeigth = 200;
private int scrollPaneWidth = 100;
private int scrollPaneHeigth = 100;
private JTextPane textPane;
private JButton button;
private JFrame frame;
private JScrollPane scrollPane;
public static void main(String[] args) {
Test gui = new Test();
gui.go();
}
private void go() {
frame = new JFrame("Test");
button = new JButton("button");
textPane = new JTextPane();
scrollPane = new JScrollPane(textPane, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(new ButtonListener());
textPane.setFont(new Font("Courier", Font.PLAIN, 12));
// Sizes:
// textPane.setSize(textPaneWidth, textPaneHeigth); // ???
// textPane.setPreferredSize(new Dimension(textPaneWidth, textPaneHeigth)); // ???
scrollPane.setPreferredSize(new Dimension(scrollPaneWidth, scrollPaneHeigth));
frame.add(button);
frame.add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
textPane.setText("==================================================================== \n" +
"==================================================================== \n" +
"==================================================================== \n" +
"==================================================================== \n" +
"==================================================================== \n");
}
}
}
当按下按钮时,该字符串被添加到的JTextPane。 有垂直滚动,但没有水平滚动。
这就是我按下按钮后看到:
我究竟做错了什么?