Mam problem z przekazaniem do metody paintComponent() tablicy z odpowiednimi wartościami.
W tej samej klasie w metodzie setData(), tablica wyświetla prawidłowe wartości.
Zaś w metodzie paintComponent() wszystkie wartości są zerowe.
Może ktoś wie co jest grane?
klasa MyPlotter:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class MyPlotter extends JPanel{
int width = 320;
int height = 130;
float widthC;
float heightC;
int frameSize;
int[] data;
public MyPlotter(int fSize){
setSize(width,height);
setPreferredSize(this.getSize());
this.frameSize = fSize;
data = new int[fSize+1];
}
public void setData(int[] intValue){
data = intValue;
data = Arrays.copyOf(intValue, intValue.length);
// TUTAJ JESZCZE WSZYSTKO JEST OK
for (int i=0; i<440; i++)
System.out.println("setData "+data[i]);
repaint();
}
public void paintComponent (Graphics g){
// g.drawLine(...)
// g.setColor(...)
// etc...
for (int i = 0; i< frameSize-1;i++){
//PROBLEM: WARTOŚCI ZEROWE
System.out.println("paint() "+data[i]);
// g.drawline(...);
}
}
}
Dane wprowadzone są z innej klasy MyPanel
import javax.swing.JPanel;
public class MyPanel extends JPanel {
private MyPlotter plotter;
public MyPanel(){
setSize(320,210);
plotter = new MyPlotter(440);
add(this.plotter,0);
}
public void setData(int[] data){
plotter.setData(data);
}
}