Musze napisac aplet rysujacy romb, na podstawie boku i kata wczytanych z pola tekstowego. Jak na razie potrafie tylko obliczyc wspolrzedne wierzcholkow. Tworze z nich dwie tablice, aby za pomoca procedur drawPolygon narysowac figore. Niestet nie wiem jak to zrobic.
package pl.wsb.students.pk;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
public class Romb2 extends Applet implements ActionListener {
Label etykieta1 = new Label("Długość boku:");
TextField pole1 = new TextField();
Label etykieta2 = new Label("Wartość kąta:");
TextField pole2 = new TextField();
Button przycisk1 = new Button("Rysuj");
public void init() {
Panel panel = new Panel();
panel.setLayout(new GridLayout(3, 3));
panel.add(etykieta1);
panel.add(etykieta2);
panel.add(pole1);
panel.add(pole2);
panel.add(przycisk1);
pole1.addActionListener(this);
pole2.addActionListener(this);
przycisk1.addActionListener(this);
add(BorderLayout.NORTH, panel);
}
public void actionPerformed(ActionEvent ev) {
String alfa = pole1.getText();
double beta = (Math.PI * Double.valueOf(alfa))/(Math.PI/2);
int x1 = 20;
int y1 = 50;
int bok = Integer.valueOf(pole2.getText());
int x2 = x1 + bok;
int y2 = y1;
double h = bok * Math.sin(beta);
double c = Math.sqrt(bok*bok-h*h);
int x3 = (int) (x2+c);
int y3 = (int) (y2+h);
int x4 = x3-bok;
int y4 = y3;
int x5 = x1;
int y5 = y1;
}
}
Oto co udalo mi sie stworzyc. Jak ktos ma jakies propozycje to czekam.
Rozwazam dwie wersje. Aplet rysuje na biezaco podczas wprowadzania wartosci w polach tekstowych lub po kliknieciu na przycisk rysuj.