5 / 5 / 2
Регистрация: 09.03.2011
Сообщений: 52

Написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом

02.06.2012, 11:01. Показов 2604. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать программу, которая будет выводить на экран прямоугольник с каким-нибудь текстом; каждые 15 секунд в новом месте экрана.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2012, 11:01
Ответы с готовыми решениями:

Написать программу, которая будет выводить на экран 40 строк
6) Написать программу, которая будет выводить на экран 40 строк таблицы умножения трехзначных чисел, сомножители которой задаются...

Написать программу, которая будет определять цвет пикселя под курсором и выводить на экран этот цвет
Хочу написать программу, кот. будет определять цвет пикселя под курсором и выводить на экран этот цвет словом или кодом или как лучше?...

Составить программу которая будет выводить на экран инициалы Р.М.С
Составить программу, которая рисует на экране компьютера ваши инициалы с помощью линий и дуг. Инициалы Р.М.С.

4
5 / 5 / 2
Регистрация: 09.03.2011
Сообщений: 52
09.06.2012, 14:07  [ТС]
Накидал код, чисто для проверки рисовалки треугольника в таймертаск. Не рисует. Нужно как-то определить Graphics g, что он распространялся на run(). Помогите.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Timer;
import java.util.TimerTask;
import java.applet.*;
import java.awt.*;
 
 
@SuppressWarnings("serial")
public class SpoOne extends Applet 
{
    public void paint(Graphics g)
    {
        setSize(500,500);
        g.drawRect(1, 1, 22, 22); //этот прямоугольник рисует, тк класс графикс определен
        int delay = 1000;
        int interval = 1000;
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() 
        {
            public void run() 
            {
                System.out.println("in");
                g.drawRect(33, 33, 22, 22); //а этот не рисует
            }
        }, delay, interval);
    }
}
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
09.06.2012, 15:55
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.applet.Applet;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
 
public class SpoOne extends Applet {
 
    @Override
    public void init() {
        super.init();
        int delay = 100;
        int interval = 100;
        Timer timer = new Timer();
        MyTask mt = new MyTask(this);
        timer.scheduleAtFixedRate(mt, delay, interval);
    }
 
    class MyTask extends TimerTask {
        private Component c;
        private Random r = new Random();
        private Rectangle rec;
 
        public MyTask(Component c) {
            this.c = c;
        }
 
        @Override
        public void run() {
            int a = r.nextInt(100);
            int b = r.nextInt(100);
            int c = r.nextInt(100);
            int d = r.nextInt(100);
            this.c.repaint();
            rec = new Rectangle(a, b, c, d);
            ((Graphics2D)this.c.getGraphics()).draw(rec);
        }
    }
}
текст сами

Добавлено через 17 минут
чтобы не было глюков из-за EDT лучше в 36 строке
Java
1
this.c.getGraphics().clearRect(this.c.getX(), this.c.getY(), this.c.getWidth(), this.c.getHeight());
так как репаинт в другом потоке и может ложить на перерисовку тутже и откладывать на потом
1
5 / 5 / 2
Регистрация: 09.03.2011
Сообщений: 52
10.06.2012, 08:59  [ТС]
Спасибо, разобрался
Но проблема с выводом текста осталась, чтобы вывести нужно как-то инициализировать Graphics2D. Может можно сделать как-то так же как с прямоугольником?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
10.06.2012, 11:17
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.applet.Applet;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.font.FontRenderContext;
import java.awt.font.TextLayout;
import java.awt.geom.Rectangle2D;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
 
public class SpoOne extends Applet {
 
    @Override
    public void init() {
        super.init();
        int delay = 0;
        int interval = 1000;
        Timer timer = new Timer();
        MyTask mt = new MyTask(this);
        timer.scheduleAtFixedRate(mt, delay, interval);
    }
 
    class MyTask extends TimerTask {
        private Component c;
        private Random r = new Random();
 
        public MyTask(Component c) {
            this.c = c;
        }
 
        @Override
        public void run() {
            int x = r.nextInt(100);
            int y = r.nextInt(100);
            Graphics g = this.c.getGraphics();
            g.clearRect(this.c.getX(), this.c.getY(), this.c.getWidth(), this.c.getHeight());
            Graphics2D g2d = (Graphics2D) g;
            String text = " some string  ";
            g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            g2d.translate(x, y);
            g2d.setColor(new Color(r.nextInt(65000)));
            g2d.draw(getRectrArroundText1(text, this.c.getFont()));
            g2d.drawString(text, 0, 0);
        }
 
        private Rectangle2D getRectrArroundText1(String text, Font font) {
            return font.getStringBounds(text, new FontRenderContext(null, true, true));
        }
        private Rectangle2D getRectrArroundText2(String text, Font font) {
            return new TextLayout(text, font, new FontRenderContext(null, true, true)).getBounds();
        }
    }
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.06.2012, 11:17
Помогаю со студенческими работами здесь

Написать программу, которая будет выводить цитаты
Добрый день, очень плохо идет понимание языка Си, вообще не могу разобраться... Помогите написать простую программу, дедлайн уже завтра... ...

Написать программу, которая будет выводить елочку из символов
Нужно написать программу которая будет выводить елочку из символов ^ ^ ^^^ ^^^^^ по заданной пользователем высотой. ...

Написать программу, которая будет выводить ответы на запросы С#
МАРКА: ЦВЕТ: СТРАНА: Audi white China BMW silver Japan Jaguar silver ...

Написать программу, которая будет выводить прогноз погоды
Всем привет . У меня во время изучения с # возникла идея написать программу, которая будет выводить прогноз погоды в мою программу с...

Написать программу, которая будет зеркально выводить введенную строку
Доброго времени суток! Стоит задача: написать программу, которая будет зеркально выводить введенную строку. Условие: нельзя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru