Pessoal,
to tentando colocar uma barra de rolagem em um JTabbedPane, que usa JFrame como base. Quero que ao diminuir o tamanho da janela, apareça a barra de rolagem. Já tentei de várias formas mas não to conseguindo. Já usei JScrollPane, JScrollBar e nada…
EDIT: criei esse exemplo simples. Estou usando o Eclipse Galileo…
[code]public class BarraDeRolagem extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JLabel jLabel = null;
private JTextArea jTextArea = null;
private JButton jButton = null;
private JScrollPane jScrollPane = null;
private JTabbedPane jTabbedPane = null;
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJTabbedPane(), BorderLayout.CENTER);
}
return jContentPane;
}
private JPanel getJPanel() {
if (jPanel == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(40, 31, 43, 15));
jLabel.setText("JLabel");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setPreferredSize(new Dimension(50, 50));
jPanel.setAutoscrolls(true);
jPanel.add(jLabel, null);
jPanel.add(getJTextArea(), null);
jPanel.add(getJButton(), null);
}
return jPanel;
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(38, 66, 265, 134));
}
return jTextArea;
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(159, 223, 81, 23));
}
return jButton;
}
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJPanel());
}
return jScrollPane;
}
private JTabbedPane getJTabbedPane() {
if (jTabbedPane == null) {
jTabbedPane = new JTabbedPane();
jTabbedPane.addTab(null, null, getJScrollPane(), null);
}
return jTabbedPane;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
BarraDeRolagem thisClass = new BarraDeRolagem();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public BarraDeRolagem() {
super();
initialize();
}
private void initialize() {
this.setSize(548, 315);
this.setResizable(true);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
this.setVisible(true);
}
}[/code]
