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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 15:31   #1
kruserg
 
Регистрация: 22.04.2009
Сообщений: 3
По умолчанию Работа с аплетами (Java)

Как переделать программу под аплет? Визуализация структуры "треугольник Серпинского"
kruserg вне форума Ответить с цитированием
Старый 04.05.2012, 15:32   #2
kruserg
 
Регистрация: 22.04.2009
Сообщений: 3
По умолчанию

Задача выводит этот треугольник, но как переделать под аплет?


Код:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main {
    public static Image draw(int[][] A) {
        int r = A.length;
        int s = A[0].length;
        BufferedImage image = 
		new BufferedImage(s, r, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics = image.createGraphics();
        graphics.setColor(Color.WHITE);
        graphics.fill(new Rectangle2D.Double(0, 0, s, r));
        graphics.setColor(Color.BLACK);
        for (int i = 0; i < r; ++i) {
            for (int j = 0; j < s; ++j) {
                if (A[i][j] != 0) {
                    graphics.fillRect(j, i, 1, 1);
                }
            }
        }
        return image;
    }

    public static int[][] generatePascalTriangle(int n, int m) {
        int[][] T = new int[n][n];
        for (int i = 0; i < n; ++i) {
            T[i][0] = 1;
            for (int j = 1; j <= i; ++j) {
                T[i][j] = (T[i - 1][j - 1] + T[i - 1][j]) % m;
            }
            for (int j = i + 1; j < n; ++j) {
                T[i][j] = 0;
            }
        }
        return T;
    }

    public static Image drawSierpinskiTriangle(int n, int m) {
        return draw(generatePascalTriangle(n, m));
    }

    public static Image image;

    public static void main(String[] args) {
        image = drawSierpinskiTriangle(512, 2);
        // image = drawSierpinskiTriangle(729, 3);
        // image = drawSierpinskiTriangle(512, 4);
        // image = drawSierpinskiTriangle(625, 5);
        // image = drawSierpinskiTriangle(512, 8);

        int width = image.getWidth(null);
        int height = image.getHeight(null);
        JFrame frame = new JFrame();
        frame.addNotify();
        frame.setSize(frame.getInsets().left +
                frame.getInsets().right + width,
                frame.getInsets().top +
                frame.getInsets().bottom + height);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.add(new JPanel() {
            @Override
            public void paintComponent(Graphics g) {
                Graphics2D G = (Graphics2D) g;
                if (image != null) {
                    G.drawImage(image, 0, 0, null);
                }
            }
        });
        frame.setVisible(true);
    }
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 04.05.2012 в 15:35.
kruserg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами java programmm Помощь студентам 2 07.12.2011 17:56
java работа с каталогами programmm Помощь студентам 0 06.12.2011 20:57
Работа с java-формой ToDayGoodDay Работа с сетью в Delphi 1 01.08.2011 16:06
Работа с файлами в Java papos Помощь студентам 0 18.03.2011 22:52
Работа с видео на Java amperykl Общие вопросы по Java, Java SE, Kotlin 0 23.11.2007 13:29