0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 6
1

Swing --> JavaFX, Переписать графический компонент в JavaFX

18.06.2013, 14:30. Показов 4344. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Только начал изучать Java.
Пишу программу крестики-нолики(игра).

Написал графический компонент ячейка в Swing (9 ячеек на поле). Хочу попробовать переписать графику на JavaFX . Как данный компонент можно реализовать на JavaFX ???

можно какой-нить простенький пример с коментами или статейку с примером понятным?
Спасибо.

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
package ru.zero.graphics;
 
import ru.zero.game_logic.Field;
import ru.zero.graphics_logics.MouseClickedEvent;
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
public class GraphicCell extends JComponent implements MouseListener {
 
    public static int WIDTH = 32;
    public static int HEIGHT = 32;
    public static final int SPACE = 10;
    private boolean isSelected = false;
    public boolean isClean = true;
    public boolean isZero;
    public int gX, gY;
    private Field logicField;
    private GraphicField gField;
 
    public GraphicCell(Field logicField, GraphicField gField, int x, int y) {
        this.logicField = logicField;
        this.gField = gField;
        this.gX = x;
        this.gY = y;
        setSize(WIDTH, HEIGHT);
        addMouseListener(this);
    }
 
    public void paint(Graphics g) {
 
        Graphics2D g2d = (Graphics2D) g;
        int lw = getWidth() - 1;
        int lh = getHeight() - 1;
        int rw = GraphicField.SPACE_BETWEEN * 2;
        int rh = GraphicField.SPACE_BETWEEN * 2;
 
        BasicStroke pen = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER);
 
        Color color = Color.red;
 
        if (isSelected) {
            color = Color.green;
        }
 
        g2d.setPaint(new GradientPaint(lw, lh, Color.white, lw / 4, lh / 4, color, true));
        g2d.fillRoundRect(0, 0, lw, lh, rw, rh);
        g2d.setColor(color);
        g2d.drawRoundRect(0, 0, lw, lh, rw, rh);
 
        if (!isClean && !isZero) {
            g2d.setStroke(pen);
            g2d.setColor(Color.black);
            g2d.drawLine(SPACE, SPACE, getWidth() - SPACE, getHeight() - SPACE);  // TODO вот так например можно изменять размер рисуемых фигур
            g2d.drawLine(getWidth() - SPACE, SPACE, SPACE, getHeight() - SPACE);
        } else if (!isClean) {
            g2d.setStroke(pen);
            g2d.setColor(Color.black);
            g2d.drawOval(SPACE, SPACE, getWidth() - 2 * SPACE, getHeight() - 2 * SPACE);
        }
 
    }
 
    public void mouseEntered(MouseEvent e) {
        if(!Field.gameOver) {
        isSelected = true;
        repaint();
        }
    }
 
    public void mouseExited(MouseEvent e) {
        if(!Field.gameOver) {
            isSelected = false;
            repaint();
        }
    }
 
    public void mouseClicked(MouseEvent e) {
 
        new MouseClickedEvent().clickOnMouseLeftButton(logicField, this, gField);
 
    }
 
    public void mousePressed(MouseEvent e) {
    }
 
    public void mouseReleased(MouseEvent e) {
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 14:30
Ответы с готовыми решениями:

JavaFX - замена Swing?
Простите, если ответ очевиден, но мне не совсем понятно. Полистал про JavaFX и сделал вывод, что...

Swing -> JavaFX - Программирование
Добрый день. Пытаюсь код (чат - сервер) написанный с использованием Swing сменить на JavaFX Данная...

JavaFX или Swing
Здраствуйте! Хочу перейти к написанию программ с графическим интерфейсом и графикой. Хочу спросить...

Swing или JavaFX?
Всем привет. Какую технологию стоит изучать, если пока не знаю ни одну? Или может быть нужно знать...

6
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
18.06.2013, 15:25 2
Цитата Сообщение от Adrenal1ne Посмотреть сообщение
можно какой-нить простенький пример с коментами или статейку с примером понятным?
внезапно
http://docs.oracle.com/javafx/
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 6
18.06.2013, 15:34  [ТС] 3
AckiyBolt, Спасибо уважаемый, я эти примеры смотрел, но не нашел то, что мне нужно. Может быть вы покажите статью из данной документации , в которой описывается создание своего графического объекта.?

Спасибо.
0
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
18.06.2013, 18:28 4
э... графического объекта?
судя по вашему коду вам нужно что-то такое http://docs.oracle.com/javafx/... ge_ops.htm
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 6
18.06.2013, 18:46  [ТС] 5
Цитата Сообщение от AckiyBolt Посмотреть сообщение
э... графического объекта?[/url]
Да , например графический объект "кнопка" , только я хочу эту кнопку написать сам с нуля, но не понимаю как это сделать.

Доку обязательно посмотрю.
Спасибо.
0
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
18.06.2013, 19:16 6
Цитата Сообщение от Adrenal1ne Посмотреть сообщение
Да , например графический объект "кнопка" , только я хочу эту кнопку написать сам с нуля, но не понимаю как это сделать.
а. так бы и сказали
http://docs.oracle.com/javafx/... ontrol.htm
2
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 6
18.06.2013, 20:46  [ТС] 7
AckiyBolt, Большое спасибо
0
18.06.2013, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2013, 20:46
Помогаю со студенческими работами здесь

JavaFX, Swing и JGraphX
Здравствуйте! Нашёл очень хорошую библиотеку для построения графов, но она идёт под Swing, а...

Сложности перехода от Swing на JavaFX
Добрый день! Не понимаю некоторых вещей в JavaFX. Например в swing если у меня есть JLabel с...

SWT, Swing, JavaFX. Что актуальнее?
Доброго времени суток. С недавних пор начал изучать графику в java, после чего у меня возникло пару...

JavaFX. Самое первое задание в JavaFX вместо Java. Не используя вспомогательных объектов
Всем привет, уважаемые форумчане! Мы работали на программировании в вузе на Java. Теперь дали...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru