60 / 22 / 9
Регистрация: 24.10.2009
Сообщений: 200

Как сделать так чтобы при изменении размера окна апплета в Java картинка двигалась фиксировано с окном?

13.01.2013, 20:49. Показов 2961. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как сделать так чтобы при изменении размера окна апплета в Java картинка двигалась фиксировано с окном
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import java.applet.Applet;
import java.applet.*;
import java.awt.*;
import java.util.Random;
import java.math.BigDecimal;
 
public class NewApplet extends Applet implements Runnable{
 
double bw, bh,fi;
Thread t1;
int num,x0,y0,R,dx;
boolean flag;
Color bg_cl, cl_col, cl_grass, cl_light, cl_face;
Random rand = new Random();
 
public void init() {
// Цвет колобка
cl_col = Color.orange;
// Цвет лица
cl_face = Color.black;
// Цвет травы
cl_grass = Color.green;
// Цвет фона
bg_cl = Color.lightGray;
setBackground(bg_cl);
}
 
public void start(){
 
bw = 500; // Ширина бокса
bh = 300; // Высота бокса
x0 = 100; // Центр колобка
y0 = 200; // Центр колобка
R = 50; // Радиус колобка
dx = 2; // Скорость колобка
fi = 0;
 
flag = true;
t1 = new Thread(this);
t1.start();
}
 
public void run(){
while(flag){
try {
repaint();
t1.sleep(100);
}
catch(InterruptedException e) { }
}
}
 
public void stop() {
flag = false;
t1 = null;
}
 
public void update(Graphics g) {
paint(g);
}
 
public void paint(Graphics g){
 
// Трава
g.setColor(cl_grass);
g.fillRect(0, (int)bh-50, (int)bw, 50);
 
// Колобок
g.setColor(bg_cl);
g.fillOval(x0-R, y0-R, 2*R, 2*R);
 
x0 = x0 + dx;
fi = fi + 360*dx/(2*3.14*R);
 
if(fi>360){
fi = fi - 360;
}
 
// Колобок
g.setColor(cl_col);
g.fillOval(x0-R, y0-R, 2*R, 2*R);
 
// Лицо
g.setColor(cl_face);
g.drawArc(x0-R/2, y0-R/2, R, R, 220 - (int) fi, 100);
g.drawOval(x0-(int)(R*Math.cos(2*3.14*(fi+130)/360)/2.5-1), y0-(int)(R*Math.sin(2*3.14*(fi+120)/360)/2.5-1), 2, 2);
g.drawOval(x0-(int)(R*Math.cos(2*3.14*(fi+50)/360)/2.5-1), y0-(int)(R*Math.sin(2*3.14*(fi+50)/360)/2.5-1), 2, 2);
g.drawArc(x0-(int)(R*Math.cos(2*3.14*(fi+130)/360)/2.5-1)-R/6, y0-(int)(R*Math.sin(2*3.14*(fi+120)/360)/2.5-1)-R/6, R/3, R/3, 40 - (int) fi, 100);
g.drawArc(x0-(int)(R*Math.cos(2*3.14*(fi+50)/360)/2.5-1)-R/6, y0-(int)(R*Math.sin(2*3.14*(fi+50)/360)/2.5-1)-R/6, R/3, R/3, 40 - (int) fi, 100);
 
}
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2013, 20:49
Ответы с готовыми решениями:

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

Как сделать так, чтобы картинка от пункта А двигалась к пункту Б
Здравствуйте... Хочу тут давным давно создать монополию не большую. И вроде если механику можно продумать... То вот графический пла хз......

Как сделать так чтобы картинка в pictureBox двигалась по форме?
я уже несколько вариантов пробовала, не работает....помогите пожалуйста...

4
10 / 10 / 4
Регистрация: 15.11.2012
Сообщений: 46
23.01.2013, 09:53
Переменные R,x0,y0,bw,bh необходимо динамически изменять. Метод точно не помню, что то типа Resize(width,height). Он изменяет размеры апплета. В нем переопредели эти переменные
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
23.01.2013, 11:09
А с каких пор размер апплета можно менять? Он всю жизнь определялся значениями, указанными в html в соответствующем теге.
0
10 / 10 / 4
Регистрация: 15.11.2012
Сообщений: 46
23.01.2013, 12:52
Вроде бы с тех пор, когда в HTML тэге стали указываться начальные размеры. Вроде бы так...
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
23.01.2013, 15:53
Так после того, как указали в html - всё, зафиксированы размеры. О каком движении картинки при изменении размеров речь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2013, 15:53
Помогаю со студенческими работами здесь

Как сделать чтобы при изменении размера окна разрешение не менялось (DirectX 11)?
Здравствуйте. Я изучаю DirectX 11 и хотел бы узнать как мне в моей программе сделать так, чтобы при растягивании окна разрешение не...

Как сделать, чтобы кнопка не рисовалась а обновлялась при изменении размера окна?
Привет, нужна помощь Когда изменяем размер окна рисуется кнопка как сделать так чтоб кнопка не рисовалась а обновлялась? ...

Графический редактор - Как сделать чтобы при изменении размера окна форма не очищалась
Я делаю графический редактор и возник вопрос -как сделать чтобы при изменении размера окна форма не очищалась?

Как сделать чтобы при изменении размера окна браузера, изменялся размер картинки
Ребят , как сделать так, чтобы при изменении размера окна браузера, изменялся размер картинки? В CSS

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


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

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

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru