Ciao, ho fatto al volo questo piccolo esempio con un JTabbedPane con 5 pannelli, inserito in un JScrollPane. Lo JScrollPane è aggiunto al JFrame e le barre si vedono. Ad ogni modo ho notato che le barre non si vedono se il JScrollPane viene aggiunto ad un pannello il cui layout è un FlowLayout. Se non sbaglio, il contentPane dei JFrame hanno impostato per default un BorderLayout e quindi la cosa funziona, se però provo ad impostare un FlowLayout le barre non si vedono. Quindi, almeno dalle prove che ho fattto ho capito che lo JScrollPane deve essere inserito in un pannello con un layout che non sia il FlowLayout. Bada quindi che se non inserisci lo JScrollPane direttaemnte al JFrame, ma lo inserisci in un altro JPanel p, e poi inserisci p al JFrame, devi impostare un BorderLayout su p, visto che i JPanel hanno per dafult un FlowLayout.
Ecco il codice:
codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Uffa extends JFrame{
public Uffa(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setTitle("Uffa");
setSize(340, 340);
JTabbedPane tp = new JTabbedPane();
JPanel p1 = new JPanel();
p1.setLayout(new BorderLayout());
tp.add("uffa 1", p1);
p1.add(new JButton("uffa1"), "North");
p1.add(new JButton("uffa1"), "East");
p1.add(new JButton("uffa1"), "West");
p1.add(new JButton("uffa1"), "South");
p1.add(new JTextArea(15, 20), "Center");
JPanel p2 = new JPanel();
p2.setLayout(new BorderLayout());
tp.add("uffa 2", p2);
p2.add(new JButton("uffa2"), "North");
p2.add(new JButton("uffa2"), "East");
p2.add(new JButton("uffa2"), "West");
p2.add(new JButton("uffa2"), "South");
p2.add(new JTextArea(15, 15), "Center");
JPanel p3 = new JPanel();
p3.setLayout(new BorderLayout());
tp.add("uffa 3", p3);
p3.add(new JButton("uffa3"), "North");
p3.add(new JButton("uffa3"), "East");
p3.add(new JButton("uffa3"), "West");
p3.add(new JButton("uffa3"), "South");
p3.add(new JTextArea(15, 15), "Center");
JPanel p4 = new JPanel();
p4.setLayout(new BorderLayout());
tp.add("uffa 4", p4);
p4.add(new JButton("uffa4"), "North");
p4.add(new JButton("uffa4"), "East");
p4.add(new JButton("uffa4"), "West");
p4.add(new JButton("uffa4"), "South");
p4.add(new JTextArea(15, 15), "Center");
JPanel p5= new JPanel();
p5.setLayout(new BorderLayout());
tp.add("uffa 5", p5);
p5.add(new JButton("uffa5"), "North");
p5.add(new JButton("uffa5"), "East");
p5.add(new JButton("uffa5"), "West");
p5.add(new JButton("uffa5"), "South");
p5.add(new JTextArea(15, 15), "Center");
getContentPane().add(new JScrollPane(tp));
setLocation(0, 0);
validate();
show();
}
public static void main(String[] args){
new Uffa();
}
Ciao.