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

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

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2009, 21:50   #1
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию Окно в Java

Здравствуйте, может кто подскажет:
создал простое окно JFrame с 1 полем ввода, строкой текста и 3мя кнопками. При запуске процесс java.exe занимает 17 Мбайт, если свернуть - 2Мбайт, если опять развернуть 7Мбайт. Виртуальная память 29Мбайт. Если производить любые действия с окном(перемащать, изменять размер), кол-во потребляемой памяти увеличивается. Такое происходит из-за моего неумения управлять ресурсами или это плата за кросплатформанность?
Appmen вне форума Ответить с цитированием
Старый 24.10.2009, 23:53   #2
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

ещё 1 вопрос: пробовал нарисоать квадрат
Код:
package plotter;

import javax.swing.*;
import java.awt.*;


class plotter extends JFrame
{
	
	public plotter()
	{
		super ("Plotter");
	setBounds(0, 0, 200, 200);	
	setVisible(true);
	
	}
	public void draw (Graphics graf)
	{
		
		graf.drawRect(20,20,30,30);
	}
	public static void main (String args[])
	{
		plotter window = new plotter();
		window.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		
		
	}
}
но ничего не поучилось. Кто может объяснить что не так?
Appmen вне форума Ответить с цитированием
Старый 25.10.2009, 13:24   #3
bohdan4ik
Рэдиска
Форумчанин
 
Регистрация: 10.09.2008
Сообщений: 250
По умолчанию

Цитата:
Сообщение от Appmen Посмотреть сообщение
но ничего не поучилось.
Хочу построить дом, вот дерево и гвозди, но ничего не получилось. Намек понятен? Обьяснять нужно, что конкретно получилось/не получилось/каким образом это выглядело. Конечно, есть телепаты, но их работа, порой, сложна.

upd:

Забыли вызвать метод "draw".
bohdan4ik вне форума Ответить с цитированием
Старый 25.10.2009, 14:45   #4
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

Логично. Окно вызывается, прямоугольник не рисуется. Вот рабочий пример:
Код:
import java.awt.*;
class GraphTest extends Frame{
GraphTest(String s) {
super(s);
setBounds(0, 0, 500, 300);
setVisible(true);
}
public void paint(Graphics g){
Dimension d = getSize();
int dx=d.width/20, dy=d.height/20;
g.drawRect(dx, dy+20, d.width-2*dx, d.height-2*dy-20);
}
public static void main(String[] args){
GraphTest f = new GraphTest("Пример рисования");
}
}
вот рабочий пример. Прямоугольник рисуется методом paint. Появляется окошко и прямоугольник в нём. Если не ошибаюсь тут не вызывается этот метод. Не могу понять в чём разница, кроме подгонки под окно размеров прямоугольника. К стати, размер прямоугольника в моём окне выбран так, чтобы он попадал в окно.
Appmen вне форума Ответить с цитированием
Старый 27.10.2009, 19:34   #5
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

С первым вопросом разобрался, со вторым кажется тоже.
Appmen вне форума Ответить с цитированием
Старый 14.11.2009, 20:10   #6
leska
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Appmen Посмотреть сообщение
С первым вопросом разобрался, со вторым кажется тоже.
А что по первому накопали?
Хочешь начать карьеру фрилансера, но не знаешь как? Узнай здесь!
leska вне форума Ответить с цитированием
Старый 15.11.2009, 00:33   #7
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

Ну, узнал, что это всё злобная виртуальная машина. Не стал вдаваться в подробности. Есть гораздо больше непонятного
Appmen вне форума Ответить с цитированием
Старый 15.11.2009, 01:55   #8
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

На работу со Swing и awt вообще смысла нету смотреть.
Java заточена не под десктоп, а под web/server-side технологии.

В больших приложениях очень редко графику пишут непосредственно на Swing или AWT. Обычно используют SWT.

Appmen правильно заметил - не стоит вдаваться в это. Не стоит оно того.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 17.11.2009, 23:08   #9
Appmen
Пользователь
 
Регистрация: 09.10.2009
Сообщений: 56
По умолчанию

Почему же, иногда пишут. Java тем и хороша, что (теоретически) обеспечивает кросплатформенность и одинаковый вид на всех платформах (поддерживаемых).

Меня просто смутило, что с перемещением окна немного добавлялось количество используемой памяти (где высвобождение ресурсов?) и не уменьшалось при простое. Да и много это как-то для простого фрейма без ничего.

Последний раз редактировалось Appmen; 17.11.2009 в 23:13.
Appmen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59
Java Enterprise Editon и Java Standard Editon Deikwon Общие вопросы по Java, Java SE, Kotlin 2 04.12.2007 10:00
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28