Это будет работать:
public class ScrollPaneTest extends JFrame {
private Container myCP;
private JTextArea resultsTA;
private JScrollPane scrollPane;
public ScrollPaneTest() {
setSize(500, 500);
setLocation(100, 100);
myCP = this.getContentPane();
myCP.setLayout(null);
resultsTA = new JTextArea("Blah blah");
resultsTA.setBounds(10, 10, 150, 30);
scrollPane = new JScrollPane(resultsTA,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(200, 100));
scrollPane.setBounds(0, 0, 500, 500);
myCP.add(scrollPane);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new ScrollPaneTest();
}
}
Если вы используете нулевую разметку, вы должны указать границы.
Редактировать
setBounds()
метод решает задачу метода setLocation()
.
например, setBounds(x,y,w,h);
first 2 установит местоположение x / y этого компонента относительно его контейнера.
второй 2 (w / h) установит размер этого компонента.
другими словами: -
- setBounds (int x, int y, int witdh, int height) - устанавливает размер и расположение компонента
- setLocation (int x, int y) - устанавливает местоположение компонента