Mam klasę z przyciskiem oraz kilkoma JComboBox'ami. Po kliknięciu w przycisk, pobiera on indeksy wybrane z combobox'ów.
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent click) {
int choosedA1 = listA1.getSelectedIndex();
int choosedN1 = listN1.getSelectedIndex();
int choosedA2 = listA2.getSelectedIndex();
int choosedN2 = listN2.getSelectedIndex();
}
});
}
Dalej mam inną klasę, w której rysowany jest wykres sinusa i cosinusa:
class Drawing extends JPanel {
double sinus(double x) {
return Math.sin(x);
}
double cosinus(double y) {
return Math.cos(y);
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
// Arrows
g.drawLine(10, 100, 380, 100);
g.drawLine(200, 30, 200, 190);
g.drawLine(380, 100, 350, 90);
g.drawLine(380, 100, 350, 110);
g.drawLine(200, 30, 190, 60);
g.drawLine(200, 30, 210, 60);
//Arrow names
g.drawString("Os X", 340, 70);
g.drawString("Os Y", 220, 40);
Polygon p = new Polygon();
Polygon p2 = new Polygon();
int point;
int a1 = 1;
int n1 = 1;
for (point = -170; point <= 170; point++) {
p.addPoint(point + 200, 100 - (int) (n1*50 * sinus((point / 100.0) * 2/(a1) * Math.PI)));
}
int point2;
int a2 = 1;
int n2 = 1;
for (point2 = -170; point2 <= 170; point2++) {
p2.addPoint(point2 + 200, 100 - (int) (n2*50 * cosinus((point2 / 100.0) * 2/(a2) * Math.PI)));
}
repaint();
// Sinus
g.setColor(Color.green);
g.drawPolyline(p.xpoints, p.ypoints, p.npoints);
// Cosinus
g.setColor(Color.red);
g.drawPolyline(p2.xpoints, p2.ypoints, p2.npoints);
// Zero zero point
g.setColor(Color.blue);
g.drawString("0", 202, 115);
g.drawOval(198, 98, 5, 5);
}
}
Moje pytanie: co zrobić, żeby wybrane w combobox'ach wartości były zmiennymi w klasie rysującej wykres? Mam na myśli:
int choosedA1;
powinno przekazać swoją wartość do
int a1;
(Teraz zmiennym przypisałem wartości = 1). Przy każdej zmianie (wyborze innych wartości z combobox'ów) chcę aby wykres był przerysowywany od nowa (uaktualniany na bieżąco). Proszę o pomoc.
//Dopisałem =java wewnątrz znaczników < code >.