Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 01:14   #1
avia
 
Регистрация: 04.12.2009
Сообщений: 2
По умолчанию Java апплет треугольник Серпинского

Всем доброго времени суток. Прошу помочь с одним непонятным мне моментом. Проблема в том, что Label не отображается, когда треугольник рисуется. То есть метод paint() перекрывает метод init(). Посоветуйте пожалуйста, как сделать так, чтобы и треугольник нарисовался, и лейбл отобразился? Вот код:
Код:
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import jdk.nashorn.internal.scripts.JS;

public class test extends Applet{
	 double xp1=300;
	 double yp1=300;
	 double xp2=10;
	 double yp2=300;
	 double sin60=Math.sin(3.14/3.);
	 int nivel_de_recursividad=10;	 
	 /*ползунки*/
	 JSlider jsNesting;
	 
	 public test() { 
	 }
	 
	 public void init() {
		 JLabel lbl = new JLabel("Hello World");
                 add(lbl);
	    }
	 
	 public static void main(String[] args) { }
	 public void paint(Graphics g){
		 paintRecursivo(g,nivel_de_recursividad,xp1,yp1,xp2,yp2);
		 }
	 private void paintRecursivo(Graphics g, int i, double xp12, double yp12, double xp22, double yp22 ) {

		 double dx=(xp22-xp12)/2.;
		 double dy=(yp22-yp12)/2.;
		 double xp32=xp12+dx-2*dy*sin60;
		 double yp32=yp12+dy+2*dx*sin60;
		 double dx1=(xp22+xp12)/2.;
		 double dy1=(yp22+yp12)/2.;
		 double dx2=(xp32+xp22)/2.;
		 double dy2=(yp32+yp22)/2.;
		 double dx3=(xp12+xp32)/2.;
		 double dy3=(yp12+yp32)/2.;

		  if(i<=0){
			  g.drawLine((int)xp12,(int)yp12,(int)xp22,(int)yp22);
			  g.drawLine((int)xp22,(int)yp22,(int)xp32,(int)yp32);
			  g.drawLine((int)xp32,(int)yp32,(int)xp12,(int)yp12);
		  }
		  else{
			  paintRecursivo(g,i-1,xp12,yp12,dx1,dy1);
			  paintRecursivo(g,i-1,dx1,dy1,xp22,yp22);
			  paintRecursivo(g,i-1,dx3,dy3,dx2,dy2);
		  }
		 }
}
avia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Треугольник Серпинского - c# Дана188 Помощь студентам 1 02.11.2014 20:15
Треугольник Серпинского c# Дана188 Помощь студентам 1 15.10.2014 07:42
Java. Апплет. События. Garry@'' Помощь студентам 0 25.10.2012 12:40
треугольник серпинского kalosha-stepa Паскаль, Turbo Pascal, PascalABC.NET 0 11.10.2012 21:31
Пернос значения в java апплет philka JavaScript, Ajax 0 20.06.2009 23:10