Mam troszke problem ze znikaniem grafiki w tabach, proszę o pomoc:
Mam główną klase KlasaMain i tam też mam całe GUI (tu poakzuję część z tabami:
JPanel panelTabs = new JPanel();
panelTabs.setLayout(new BorderLayout());
panelTabs.setBounds(0, 0, 692, 250);
tabs = new JTabbedPane();
JPanel tabPanel1 = new JPanel(new BorderLayout());
ImageIcon icon1 = new ImageIcon("img/tab-probka.gif");
tabPanel1.setBackground(Color.BLACK);
tabs.addTab("Próbka do Modyfikacji", icon1, tabPanel1, "Próbka dźwiękowa do usunięcia zakłóceń.");
tabs.setMnemonicAt(0, KeyEvent.VK_1);
JPanel tabPanel2 = new JPanel(new BorderLayout());
ImageIcon icon2 = new ImageIcon("img/tab-szum.png");
tabPanel2.setBackground(Color.BLACK);
tabs.addTab("Próbka Szumu", icon2, tabPanel2, "Zakładka z próbką szumu.");
tabs.setMnemonicAt(1, KeyEvent.VK_2);
tabs.setOpaque(true);
panelTabs.add(tabs);
W klasie KLasaDisplay mam metody paint() i paintCOmponent():
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.black);
g.fillRect(0, 0, displayTabs.getWidth(), displayTabs.getHeight());
g.setColor(Color.green);
g.drawLine(0, panelCenterHeightI, panelWidthD.intValue(), panelCenterHeightI);
}
public void paintComponent(double array[]) {
g = displayTabs.getComponentAt(displayTabs.getSelectedIndex()).getGraphics();
//super.paintComponent(g);
g.setColor(Color.green);
for (int i = 0; i < array.length-1; i++){
Integer valueI = (int) array[i];
g.drawLine(
i,
panelCenterHeightI,
i,
panelCenterHeightI - valueI //"-" w góre
);
}
}
To co narysuje przez paint() wstepnie chce miec to jako domyslne - na razie to tam upchnolem wstępnie.
Ale jak mam taby to chce za pomoca tablicy wyrysowywac potem wykres w tabie zależnie od wartosci tablicy. I analogicznie w innych tabach ( też z jakichś arrayow ).
No i PROBLEM jest wtedy, ze jak podam mu tablice do narysowania paintComponent - to ją defacto narysuje ale potem po zmianie tabsów albo przy minimalizacji etc - wykresy z tabów znikają...
Prosze o pomoc.