Pergunta

Como utilizar, numa única janela, mais componentes do que podem ser exibidos diretamente?

Resposta

Através da utilização do componente java.awt.ScrollPane é possível utilizar-se mais componentes do que podem ser exibidos diretamente numa janela (Frame). O componente ScrollPane exibe automaticamente barras de rolagem horizontais ou verticais quando necessário, isto é, quando seu conteúdo é maior do que área visível da janela.

O exemplo a seguir utiliza um ScrollPane que contêm um painel, organizado como um grid, que por sua vez contêm 10 rótulos e 10 caixas de entrada.

import java.awt.*;

public class ScrollPaneDemo extends Frame {
  private ScrollPane pane;
  public static final void main(String args[]) {
    (new ScrollPaneDemo()).show();
  }
  public ScrollPaneDemo() {
    super("ScrollPane Demo");
    setSize(200, 200);
    add("Center", pane = new ScrollPane());
    Panel p = new Panel(new GridLayout(10, 2, 5, 5));
    for (int i=0; i<10; i++) {
      p.add(new Label("Campo "+i));
      p.add(new TextField());
    }
    pane.add(p);
    addWindowListener(new CloseAndExit());
  }
}