Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa JTabbedPane

[es] :: Java :: Problem sa JTabbedPane

[ Pregleda: 2561 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Laki123

Član broj: 16706
Poruke: 98
*.nspoint.net.



+4 Profil

icon Problem sa JTabbedPane02.06.2006. u 19:18 - pre 217 meseci
Imam jedan JTabbedPane koji treba da ima vise tabova, na kojima ce biti 2 JTextField i 2 JComboBox.
Znaci svaki tab treba da bude potpuno isti, s tim da se menja jedino vrednost u ComboBox-u u zavisnosti od toga koji je tab aktivan.
Kako da napravim ovo (znaci da imam samo 2 JTextField i 2 JComboBox), a da ne moram za svaki tab da pravim nove JTextField-ove i JComboBox-ove.
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ns.ac.yu.



+6 Profil

icon Re: Problem sa JTabbedPane02.06.2006. u 21:42 - pre 217 meseci
Ne znam u kojoj situaciji ti ovo treba.
Pokusaj ovako: Stavis te 4 komponente na jedan panel,
taj isti panel stavis na sve tabove i onda ispitujes koji je tab selektovan:
Code:
jTabbedPane1.addChangeListener(new ChangeListener(){
    public void stateChanged(ChangeEvent e) {
              if (jTabbedPane1.getSelectedIndex()==0){
                    //ovde setuje sadrzaj combobox-ova i textfield-ova za slucaj da je selektovan prvi tab
              }else if (jTabbedPane1.getSelectedIndex()==1){
                    //ovde za drugi tab
              }//else... i tako dalje
       }


Pozdrav!
Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

Laki123

Član broj: 16706
Poruke: 98
*.nspoint.net.



+4 Profil

icon Re: Problem sa JTabbedPane03.06.2006. u 18:52 - pre 217 meseci
To sam vec ranije probao i ne radi. Stavim 4 komponente na jedan panel, i kada stavim taj isti panel na sve tabove, bude samo jedan tab, tj. ako stavim ovako nesto:
Code:
Tabovi.addTab("proba", null, mojPanel);
Tabovi.addTab("proba2", null, mojPanel);

napravice se samo jedan tab, jedino ako stavim razlicite panele onda ce napraviti i drugi, treci... tab.
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ns.ac.yu.



+6 Profil

icon Re: Problem sa JTabbedPane03.06.2006. u 19:44 - pre 217 meseci
Citat:
Laki123: To sam vec ranije probao i ne radi. Stavim 4 komponente na jedan panel, i kada stavim taj isti panel na sve tabove, bude samo jedan tab, tj. ako stavim ovako nesto:
Code:
Tabovi.addTab("proba", null, mojPanel);
Tabovi.addTab("proba2", null, mojPanel);

napravice se samo jedan tab, jedino ako stavim razlicite panele onda ce napraviti i drugi, treci... tab.



Pa dobro, stavi cetiri panela na kojima su iste komponente.

Pozdrav!
Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

Laki123

Član broj: 16706
Poruke: 98
*.nspoint.net.



+4 Profil

icon Re: Problem sa JTabbedPane04.06.2006. u 11:40 - pre 217 meseci
Citat:
Pa dobro, stavi cetiri panela na kojima su iste komponente.


I ovo sam ranije pokusavao, ako tako uradim onda ce samo poslednji panel (tab) imati te komponente, a ostali ce biti prazni.
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ns.ac.yu.



+6 Profil

icon Re: Problem sa JTabbedPane04.06.2006. u 15:36 - pre 217 meseci
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...
 
Odgovor na temu

Laki123

Član broj: 16706
Poruke: 98
*.nspoint.net.



+4 Profil

icon Re: Problem sa JTabbedPane04.06.2006. u 19:47 - pre 217 meseci
To mi je trebalo. Hvala puno na trudu i pomoci.
 
Odgovor na temu

[es] :: Java :: Problem sa JTabbedPane

[ Pregleda: 2561 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.