Помогите пожайлуста с Java-апплетом!!! Джавой (Javой) я занимаюсь не первый день, но апплеты начал учить недавно. У меня есть апплет Построение графика функции sin(x) * cos(2*x). Мне нужно сделать так, чтобы из HTML файла были получены параметры левой и правой границы диапазона с помощью метода getParameter(). Затем эти значения должны быть выведены на экран и между left и right должны находиться значения, которые отличаются от параметра left на некоторый шаг (некоторое число) допустим на 5. Например: Если left="20", right="60". То в результате диапазон должен выглядеть следующим образом: 20 25 30 и т.д. и так до 60 по оси x. И каждая подпись к риске (число(значение)) должна размещаться строго по опеределённым координатам под каждой риской. Координаты должны вычисляться по обоим осям (x и y) в соответствии с шагом step и определёнными заданными значениями переменных x_new и y_new. Как изменить диапазон по оси x и по оси y и вывести его на экран с помощью drawString() по соответствующим координатам используя step и x_new или y_new? Как реализовать полностью работоспособный апплет? Есть ли в аппелете ошибки и в чём они заключаются? Пожайлуста напишите код со всеми исправлениями или хотя бы что-нибудь посоветуйте. Искал везде где только можно. Ничего найти похожего не смог. Вот мой код java-апплета: Код | import java.applet.Applet; import java.awt.*;
public class Function2 extends Applet { int left, right; static double a = 1.0D; static double b = 1.0D; int x_new; int y_new; int x; int y; int width; int height; public Function2() { x_new = 300; y_new = 200; }
public void init() { super.init(); Color background = getColorParameter("background"); if (background != null) this.setBackground(background); if (background == null) setBackground (Color.yellow); String param = new String(); param = getParameter("left"); try { if (param != null) left = Integer.parseInt(param); else left = 0; } catch (NumberFormatException e) { left = -1; } if (left != 0) left=Integer.parseInt(getParameter("left")); param = getParameter("right"); try { if (param != null) right = Integer.parseInt(param); else right = 0; } catch (NumberFormatException e) { right = -1; } if (right != 0) right=Integer.parseInt(getParameter("right")); setLayout(null); Color color = new Color(255, 220, 220); } protected Color getColorParameter(String name) { String value = this.getParameter(name); try { return new Color(Integer.parseInt(value, 16)); } catch (Exception e) { return null; } }
public void paint(Graphics g) { int step; int chislo1 = 12; int chislo2 = 6; g.setColor(Color.red); char c1 = '\226'; g.setColor(new Color(c1, c1, c1)); c1 = '|'; g.setColor(new Color(c1, c1, c1));
// Это требуется изменить
step = right - left / chislo2;
for(y = 0; y <= 6; y++) { g.drawLine(x_new - 5, (y_new + 150) - 50 * y, x_new + 5, (y_new + 150) - 50 * y); height = left + step * y; g.drawString(String.valueOf(height), 300 + step * y, x_new-250); } step = right - left / chislo1;
for(x = 0; x <= 12; x++) { g.drawLine((x_new + 300) - 50 * x, y_new - 5, (x_new + 300) - 50 * x, y_new + 5); width = left + step * x; g.drawString(String.valueOf(width), 0 + step * x, y_new + 20); }
g.setColor(Color.black); g.drawLine(x_new - 300, y_new, x_new + 300, y_new); g.drawLine(x_new, y_new - 180, x_new, y_new + 180); g.setFont(new Font("SansSerif", 14, 12)); g.drawLine(295,35,300,15); g.drawLine(305,35,300,15); g.drawString("y", 285, 40); g.drawLine(585,195,605,200); g.drawLine(585,205,605,200); g.drawString("x", 580, 214); g.setColor(Color.black); g.drawLine(132, 2, 132, 2); double x = -30D; g.setColor(Color.red); do { if(x > 30D) break; double f = a * (Math.sin(x) + Math.cos(2D * x * b)); x += 0.001D; int i1 = (int)(x * 10D + 300D); int j1 = (int)(-f * 10D + 200D); if(j1 >= 20 && j1 <= 380) g.drawLine(i1, j1, i1 + 1, j1); } while(true); } }
|
Вот код HTML-файла, в который встраивается апплет: Код | <html> <head> <title> </title> </head> <body> <center> <applet code="Function2.class" width="610" height="390"> <param name="background" value="FFFF00"> <param name="left" value="20"> <param name="right" value="60"> </applet> </center> </body> </html>
|
Заранее спасибо.
Присоединённый файл ( Кол-во скачиваний: 3 )
start2.rar 3,04 Kb
|