Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 22.11.2018
Сообщений: 3
1

Нарисовать секундомер с движущейся стрелкой

22.11.2018, 09:03. Показов 2130. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать приложение, в котором нарисован секундомер с движущейся стрелкой.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2018, 09:03
Ответы с готовыми решениями:

Нарисовать красный движущейся круг
Только начали учить графику. Как нарисовать круг и заставить его перемещаться к границе окна? Сам...

Нарисовать секундомер
Дана окружность,а в ней - линия (циферблат с секундной стрелкой,если короче),нужно сделать...

Секундомер(и только секундомер).
Да,я в гугле рылся,и там всё в усложнённом варианте.Мне нужно только по простому,поскольку я в JS...

Кнопка со стрелкой
Не пойму как создать в делфи подобную как на картинке кнопку? Выпадающий ее список похож на...

2
296 / 149 / 67
Регистрация: 22.02.2017
Сообщений: 592
22.11.2018, 09:59 2
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package test;
 
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.AffineTransform;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.Timer;
 
 
public class Test00
{
    public JFrame win = new JFrame();
    public JLabel jl = new JLabel();
    public Timer tm;
    public int a = 30;
    public int fps = 15;
    public int speed = 1;
    
    public Test00()
    {
        makeWindow();
        makeLine();
        makeTimer();
        makeButton();
    }
    
    
    private void makeWindow()
    {
        win.setSize(800, 600);
        win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        win.setResizable(false);
        win.setLayout(null);
        win.setLocationRelativeTo(null);
        win.setVisible(true);
    }
    
    
    private void makeLine()
    {
        jl.setBounds(400, 300, 200, 200);
        jl.setBackground(new Color(120,190,255,120));
        jl.add(new Line(jl.getHeight(), jl.getWidth()));
        //jl.setOpaque(true);
        win.add(jl);
    }
    
    
    private void makeTimer()
    {
        tm = new Timer(fps, new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                if (a < 360)
                {
                    a += speed;
                }
                else
                {
                    a = 1;
                }
                jl.repaint();
                System.out.println(a);
            }
        });
        
        tm.start();
    }
    
    
    private void makeButton()
    {
        for (int i = 0; i < 2; i++)
        {
            JButton bt = new JButton("Speed" + i);
            bt.setName(i+"");
            bt.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    switch(Integer.parseInt(((JButton) e.getSource()).getName()))
                    {
                        case 0:
                            fps = 30;
                            tm.setDelay(fps);
                        break;
                        case 1:
                            speed = 3;
                        break;
                    }
                }
            });
            bt.setBounds(15, 15+i*100, 150, 70);
            bt.setMargin(new Insets(0,0,0,0));
            bt.setHorizontalTextPosition(SwingConstants.CENTER);
            bt.setForeground(Color.BLACK);
            bt.setOpaque(true);
            bt.setLayout(null);
            win.add(bt);
            win.repaint();
        }
    }
    
    
    public class Line extends JComponent
    {
        private static final long serialVersionUID = 1L;
 
        
        public Line(int w, int h)
        {
            setBounds(0, 0, w, h);
        }
        
        
        public void paintComponent(Graphics g)
        {
            Graphics2D g2 = (Graphics2D) g;
            
            AffineTransform affineTransform = g2.getTransform();
            g2.rotate(Math.toRadians(a), getWidth()/2, getHeight()/2);
            g2.setColor(new Color(0, 0, 0)); 
            g2.drawLine(getWidth()/2, getHeight()/2, getWidth()/2, getWidth());
            g2.setTransform(affineTransform);
            g2.dispose();
        }
    }
    
    
    public static void main(String[] args)
    {
        new Test00();
    }
}
Для старта, хотя на будущее я бы класс не подгружал в JLabel, много процесса кушает этот подход, если переделать под обновляемый битмап то здесь все полегче. Но если в приложении только секундомер то и так сойдет )
0
3 / 3 / 0
Регистрация: 14.02.2019
Сообщений: 37
15.03.2019, 19:20 3
Не запускается Ошибку выдает.
==
Error: Main method not found in class les2.prog, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
==
0
15.03.2019, 19:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2019, 19:20
Помогаю со студенческими работами здесь

Шкала со стрелкой
Всем привет! Помогите сделать следующее: имеется 2 Image: один - шкала, а другой - стрелка. И...

Линия со стрелкой
Как нарисовать такую линию со стрелкой в winowsform

Линия со стрелкой (ООП)
Здравствуйте, мне нужно сделать класс, позволяющий рисовать линию некоторого размера и заданного...

Стиль CSS стрелкой
Привет. На одном видео видел стиль CSS оформлялся со стрелкой, что она означает? menu &gt; ul li{...


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

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