Czy mozna dodawac zakladki w trakcie dzialania programu?

0

Witam.
Napisalem sobie aplikacje okienkowa z kilkoma zakladkami (JTabbedPane). Wszystko dzial pieknie do czasu gdy chce dodac nowa zakladke podczas dzialania aplikacji. Program zaczyna zajmowac caly zasob procesora a nowa zakladka i tak sie nie pojawia. Czy wie ktos moze jak sie takie cos robi??

0

Moze zrob na poczatku zakladke zeby byla niewidoczna setVisible(false) a potem tylko ja pokazesz zmieniając wartosc na true

0

Spróbuj :

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

/**
 *
 * @author Administrator
 */
public class Okno implements ActionListener{
    
    JFrame okno;
    JTabbedPane pane;
    JPanel panel,panel2;
    JButton b1, b2;
    
    /** Creates a new instance of okno */
    
    public void init()
    {
        okno = new JFrame("OKNO");
        okno.setSize(800,600);
        okno.setDefaultCloseOperation(okno.EXIT_ON_CLOSE);
        panel = new JPanel();
        b1 = new JButton("OK");
        b1.addActionListener(this);
        panel.add(b1);
        
        //pane.set
        pane = new JTabbedPane();
        
        pane.addTab("ZAKLADKA",panel);
        okno.add(pane);
        
        okno.setVisible(true);
    }

    public void dodaj()
    {
        panel2 = new JPanel();
        b2 = new JButton("QUIT");
        panel2.add(b2);
        pane.addTab("NIC", panel2);
        pane.repaint();
        okno.setVisible(true);
    }
    
    public void actionPerformed(ActionEvent e) {
       if ( e.getSource() == b1 )
       {
        dodaj();
       }
    }
    
    public Okno() {
    init();
    }
    
}

spojrz sobie na ten kod mi dodaje bez problemow

1 użytkowników online, w tym zalogowanych: 0, gości: 1