Фреймы и графика для Java

В Java окно верхнего уровня (не содержащееся в другом окне) называется фреймом. В отличие от апплетов графические приложения, расширяющие класс java.awt.Frame или его подкласс jawax.swing.JFrame, не нуждаются в браузере. Для создания графического интерфейса приложения необходимо предоставить ему в качестве окна для вывода объект Frame или JFrame, в который будут помещаться используемые приложением компоненты GUI (Graphics User Interface). Большинство своих методов класс Frame наследует по иерархии от классов Component, Container и Window. Класс JFrame из библиотеки Swing является подклассом класса Frame.

Такое приложение запускается с помощью метода main() и само отвечает за свое отображение в окне Frame или JFrame.

/* пример # 9 :простейший фрейм – овалы и дуги : FrameDemo.java */

package chapt11;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Graphics;

import javax.swing.JFrame;

public class FrameDemo extends JFrame {

private String msg = "My Windows-Application";

public void paint(Graphics g) {

int diam = 230;

drawSphere(g, diam);

g.drawString(msg, 59, diam + 52);

g.drawLine(59, diam + 56, 190, diam + 56);

}

public void drawSphere(Graphics g, int diam) {

int r = diam / 2;

int alpha = 0;

int k = 20;

for (int i = 0; i < 4; i++) {

int width = (int) (r * Math.cos(Math.PI / 180 * alpha));

int height = (int) (r * Math.sin(Math.PI / 180 * alpha));

g.setColor(Color.MAGENTA);

g.drawArc(10 + r – width, r + height + i * 10,

2 * width, 80 – i * 20, 0, 180);

g.drawArc(10 + r – width, r – height + i * 10,

2 * width, 80 – i * 20, 0, 180);

g.setColor(Color.BLACK);

g.drawArc(10 + r – width, r + height + i * 10,

2 * width, 80 – i * 20, 0, -180);

g.drawArc(10 + r – width, r – height + i * 10,

2 * width, 80 – i * 20, 0, -180);

alpha += k;

k -= 1;

}

for (int i = 0; i < 4; i++) {

k = (i * i * 17);

g.drawOval(10 + k / 2, 40, diam – k, diam);

}

}

public static void main(String[] args) {

FrameDemo fr = new FrameDemo();

fr.setBackground(Color.LIGHT_GRAY);

// устанавливается размер окна. Желательно!

fr.setSize(new Dimension(250, 300));

// заголовок

fr.setTitle("Windows-Application");

// установка видимости. Обязательно!

fr.setVisible(true);

// перерисовка – вызов paint()

fr.repaint();

}

}

clip_image002

Рис. 11.9. Простейшее графическое приложение

Метод main() вызывает методы установки параметров окна и метод перерисовки окна repaint(). Фреймы активно используются для создания распределенных систем, эксплуатируемых в локальных и закрытых сетях.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

2 коммент. »

 
  • Анна says:

    У меня эта програмка не сработала – выдала массу ошибок :(

  • Pangur Ban says:

    У меня тоже не работало.
    Чтобы заработало, я заменил в исходнике знаки тире на минусы. Заработало. Хоть и не идеально.

 

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100