Da, ovo ti se desava zato sto je Swing dizajniran tako da svaki kontejner ima razlicite objekte.
Elem, evo nacina kako da to izbegnes:
Code:
package pak1;
import java.awt.AWTEvent;
import java.util.Vector;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Test extends JFrame {
private JTabbedPane jTabbedPane = null;
private JPanel jPanel1 = null;
private JPanel jPanel2 = null;
private JTextField jTextField1 = null;
private JTextField jTextField2 = null;
private JComboBox jComboBox1 = null;
private JComboBox jComboBox2 = null;
public static void main(String[] args) {
Test t = new Test();
t.show();
}
public Test() {
super();
initialize();
}
private void initialize() {
this.setSize(401, 253);
this.setTitle("JFrame");
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
jTextField1 = new JTextField();
jTextField1.setBounds(new java.awt.Rectangle(41,13,75,20));
jTextField2 = new JTextField();
jTextField2.setBounds(new java.awt.Rectangle(41,37,76,20));
Vector v1 = new Vector();
v1.add("first"); v1.add("second");v1.add("third");
Vector v2 = new Vector();
v2.add("first"); v2.add("second");v2.add("third");
jComboBox1 = new JComboBox(v1);
jComboBox1.setBounds(new java.awt.Rectangle(142,13,85,25));
jComboBox2 = new JComboBox(v2);
jComboBox2.setBounds(new java.awt.Rectangle(143,44,84,25));
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.add(jTextField1, null);
jPanel1.add(jTextField2, null);
jPanel1.add(jComboBox1, null);
jPanel1.add(jComboBox2, null);
addToJpanel(jPanel1);
jPanel2 = new JPanel();
jPanel2.setLayout(null);
jTabbedPane = new JTabbedPane();
jTabbedPane.setBounds(new java.awt.Rectangle(39,17,295,174));
jTabbedPane.addTab("first", jPanel1 );
jTabbedPane.addTab("second", jPanel2);
jTabbedPane.repaint();
this.getContentPane().setLayout(null);
this.getContentPane().add(jTabbedPane);
jTabbedPane.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent e) {
JPanel thisTabJpanel = (JPanel)jTabbedPane.getSelectedComponent();
addToJpanel(thisTabJpanel);
if(jTabbedPane.getSelectedIndex() == 0){
jTextField1.setText("first");
}else if(jTabbedPane.getSelectedIndex() == 1){
jTextField1.setText("second");
}
}
});
}
private void addToJpanel(JPanel jpanel) {
jpanel.add(jTextField1, null);
jpanel.add(jTextField2, null);
jpanel.add(jComboBox1, null);
jpanel.add(jComboBox2, null);
}
}
Pozdrav!
Sad mu nije nista, ubio si ga k'o zeca...