Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149

Легкая программа показывает в менюшке непонятный артефакт

21.12.2016, 03:41. Показов 790. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Ниже работающий код. Однако при исполнении программы почему то отображается "будто бы вторая строка меню".

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
import javax.sound.midi.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import static javax.sound.midi.Sequence.PPQ;
public class JHF_TESTS_MMP3_412 {
    static JFrame jFrame;
    static int eventsCounter=0;
 
    static MyDrawingPanel myDrawingPanel;
    static ContinuePlaying continuePlaying;
    static StopPlaying stopPlaying;
    Sequencer sequencer;
 
 
    public static void main(String[] args) throws Exception {
 
        JHF_TESTS_MMP3_412 jhf_tests_mmp3_412 = new JHF_TESTS_MMP3_412();
        jhf_tests_mmp3_412.GStart();
    }
    public void setGUI() {
        myDrawingPanel = new MyDrawingPanel();
        continuePlaying = new ContinuePlaying();
        stopPlaying = new StopPlaying();
 
        jFrame = new JFrame("MMP3");
 
        JMenuBar MP3menuBar = new JMenuBar();
        JMenu MP3menu = new JMenu("Player");
        JMenuItem Play = new JMenuItem("Play");
        JMenuItem Stop = new JMenuItem("Pause");
 
        Play.addActionListener(continuePlaying);
        Stop.addActionListener(stopPlaying);
 
        MP3menu.add(Play);
        MP3menu.add(Stop);
 
        MP3menuBar.add(MP3menu);
 
        jFrame.setJMenuBar(MP3menuBar);
 
        jFrame.getContentPane().add(BorderLayout.CENTER,myDrawingPanel);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setSize(1920, 1080);
        jFrame.setVisible(true);
    }
 
 
    public void GStart() throws Exception{
        setGUI();
        sequencer = MidiSystem.getSequencer();
        sequencer.open();
        int[] arraytt = {127};
        sequencer.addControllerEventListener(myDrawingPanel,arraytt);
        Sequence sequence = new Sequence(PPQ,4);
        Track track = sequence.createTrack(); //Track track = new Sequence(PPQ,4).createTrack();
        for (long i = 1; i < 6500; i+=4) {
            track.add(newSingleMidiEvent(192,1,18,0,1));
            track.add(newSingleMidiEvent(144, 1, NotesrandomNumber(), 100, i));
            track.add(newSingleMidiEvent(176, 1, 127, 0, i));
            track.add(newSingleMidiEvent(128, 1, NotesrandomNumber(), 100, i + 2));
        }
        sequencer.setSequence(sequence);
        sequencer.setTempoInBPM(333);
        sequencer.start();
 
 
        Thread.sleep(100);
        System.out.println("eventsCounter: " + eventsCounter + "; arraytt: " + arraytt[0]);
 
    }
    public MidiEvent newSingleMidiEvent(int mv1, int mv2, int mv3, int mv4, long mv5) throws Exception {
        MidiEvent midiEvent = new MidiEvent(new ShortMessage(mv1, mv2, mv3, mv4), mv5);
        return midiEvent;
    }
    public int NotesrandomNumber() {
        int intrandom = (int) (Math.random()*65);
        return intrandom;
    }
    class MyDrawingPanel extends JPanel implements ControllerEventListener {
        boolean EventTestMark;
 
        public void controlChange(ShortMessage event){
            EventTestMark = true;
            myDrawingPanel.repaint();
        }
        public int dotsRandomNumberX() {
            int intrandomXandX = (int) (Math.random()*1820);
            return intrandomXandX;
        }
        public int dotsRandomNumberY() {
 
            int intrandomXandY = (int) (Math.random()*980);
            return intrandomXandY;
        }
        public Color colorsRandom() {
            int red = (int) (Math.random()*255);
            int green = (int) (Math.random()*255);
            int blue = (int) (Math.random()*255);
            Color randomColor = new Color(red,green,blue);
            return randomColor;
        }
        public void paint(Graphics g){
            if(EventTestMark==true) {
                eventsCounter++;
                g.setColor(colorsRandom());
                g.fillRect(dotsRandomNumberX(), dotsRandomNumberY(), 23+dotsRandomNumberX()/14, 23+ dotsRandomNumberY()/14);
                EventTestMark = false;
            }
        }
    }
    public class StopPlaying implements ActionListener{
        public void actionPerformed(ActionEvent actionEvent){
            sequencer.stop();
        }
    }
    public class ContinuePlaying implements ActionListener{
        public void actionPerformed(ActionEvent actionEvent){
            sequencer.start();
            sequencer.setTempoInBPM(333);
        }
    }
 
}
Фото приложено
Изображения
 
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2016, 03:41
Ответы с готовыми решениями:

Asus k52n при включении показывает непонятный экран
Привет всем! При загрузке ноутбука вылезает вот такой экран Подскажите в чем проблема и можно ли это исправить?

Asus G60VX-RBBX05 при включении показывает непонятный синий экран
После лого производителя появляется такой экран. Подскажите, что неисправно?

При нулевых отступах перед хедером стоит непонятный отступ, обозреватель показывает странный код
Помогите, пожалуйста, разобраться! При нулевых отступах перед хедером стоит непонятный отступ, обозреватель показывает вот этот код: ...

6
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
21.12.2016, 22:38  [ТС]
Помогите, в чем же беда???
0
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
30.05.2017, 01:13  [ТС]
help
0
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
30.05.2017, 07:02
Кликните здесь для просмотра всего текста
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
import javax.sound.midi.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
 
import static javax.sound.midi.Sequence.PPQ;
 
public class JHF_TESTS_MMP3_412 {
    static JFrame jFrame;
    static int eventsCounter = 0;
 
    static MyDrawingPanel myDrawingPanel;
    static ContinuePlaying continuePlaying;
    static StopPlaying stopPlaying;
    Sequencer sequencer;
 
 
    public static void main(String[] args) throws Exception {
 
        JHF_TESTS_MMP3_412 jhf_tests_mmp3_412 = new JHF_TESTS_MMP3_412();
        jhf_tests_mmp3_412.GStart();
    }
 
    public void setGUI() {
        myDrawingPanel = new MyDrawingPanel();
        continuePlaying = new ContinuePlaying();
        stopPlaying = new StopPlaying();
 
        jFrame = new JFrame("MMP3");
 
        JMenuBar MP3menuBar = new JMenuBar();
        JMenu MP3menu = new JMenu("Player");
        JMenuItem Play = new JMenuItem("Play");
        JMenuItem Stop = new JMenuItem("Pause");
 
        Play.addActionListener(continuePlaying);
        Stop.addActionListener(stopPlaying);
 
        MP3menu.add(Play);
        MP3menu.add(Stop);
 
        MP3menuBar.add(MP3menu);
 
        jFrame.setJMenuBar(MP3menuBar);
 
        jFrame.getContentPane().add(BorderLayout.CENTER, myDrawingPanel);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setSize(1920, 1080);
        jFrame.setVisible(true);
    }
 
 
    public void GStart() throws Exception {
        setGUI();
        sequencer = MidiSystem.getSequencer();
        sequencer.open();
        int[] arraytt = {127};
        sequencer.addControllerEventListener(myDrawingPanel, arraytt);
        Sequence sequence = new Sequence(PPQ, 4);
        Track track = sequence.createTrack(); //Track track = new Sequence(PPQ,4).createTrack();
        for (long i = 1; i < 6500; i += 4) {
            track.add(newSingleMidiEvent(192, 1, 18, 0, 1));
            track.add(newSingleMidiEvent(144, 1, NotesrandomNumber(), 100, i));
            track.add(newSingleMidiEvent(176, 1, 127, 0, i));
            track.add(newSingleMidiEvent(128, 1, NotesrandomNumber(), 100, i + 2));
        }
        sequencer.setSequence(sequence);
        sequencer.setTempoInBPM(333);
        sequencer.start();
 
 
        Thread.sleep(100);
        System.out.println("eventsCounter: " + eventsCounter + "; arraytt: " + arraytt[0]);
 
    }
 
    public MidiEvent newSingleMidiEvent(int mv1, int mv2, int mv3, int mv4, long mv5) throws Exception {
        MidiEvent midiEvent = new MidiEvent(new ShortMessage(mv1, mv2, mv3, mv4), mv5);
        return midiEvent;
    }
 
    public int NotesrandomNumber() {
        int intrandom = (int) (Math.random() * 65);
        return intrandom;
    }
 
    class MyRect {
        Rectangle rect;
        Color  color;
 
    }
    class MyDrawingPanel extends JPanel implements ControllerEventListener {
        boolean EventTestMark;
        Random rnd = new Random();
        int[][] rects = new int [100][3];
        int index;
 
        public MyDrawingPanel() {
            for (int i = 0; i < rects.length; i++) {
                rects[i][0] = -1;
            }
        }
 
        public void controlChange(ShortMessage event) {
            EventTestMark = true;
            myDrawingPanel.repaint();
        }
 
        public int dotsRandomNumberX() {
            int intrandomXandX = (int) (Math.random() * 1820);
            return intrandomXandX;
        }
 
        public int dotsRandomNumberY() {
 
            int intrandomXandY = (int) (Math.random() * 980);
            return intrandomXandY;
        }
 
        public Color colorsRandom() {
            int red = (int) (Math.random() * 255);
            int green = (int) (Math.random() * 255);
            int blue = (int) (Math.random() * 255);
            Color randomColor = new Color(red, green, blue);
            return randomColor;
        }
        public int colorsRandom(boolean flag) {
            return rnd.nextInt(0xFFFFFF);
        }
 
        public void paint(Graphics g) {
            super.paint(g);
            if (EventTestMark == true) {
                eventsCounter++;
                index =  rnd.nextInt(rects.length);   // новый прямоугольник
                rects[index][0] = dotsRandomNumberX();
                rects[index][1] = dotsRandomNumberY();
                rects[index][2] = colorsRandom(true);
                for (int[] rect : rects) {
                    if (rect[0] == -1) {
                        continue;
                    }
                    g.setColor(new Color(rect[2]));
                    g.fillRect(rect[0], rect[1], 23 + rect[0] / 14, 23 + rect[1] / 14);
 
                }
                EventTestMark = false;
            }
        }
    }
 
    public class StopPlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.stop();
        }
    }
 
    public class ContinuePlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.start();
            sequencer.setTempoInBPM(333);
        }
    }
 
}

Смотрите код.
Смысл в том, что при вызове paint() надо вызывать super.paint() чтобы
JFrame работал корректно. Но при этом полностью затирается окно
Чтобы предыдыщуее содержимое осталось, надо хранить его где то
и полностью рисовать самому.
В коде создан массив под 100 прямоугольников, они генерятся случайно
и перерисовывается каждый раз весь массив.
1
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
30.05.2017, 19:42  [ТС]
Спасибо, мастер!
0
 Аватар для lamaundercover
3 / 3 / 1
Регистрация: 15.08.2016
Сообщений: 149
30.05.2017, 23:11  [ТС]
Увага! Снова нашел баг в этой программе!

После того, как мы решили сохранять результаты, прямоугольники "раскидываются" не случайно, хотя механизм ни Вы ни Ваш покорный слуга не меняли!

Вот картинки!

А вот код, попробовал заменить на List, результат тот же - нет рандомности!

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
import javax.sound.midi.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import java.util.List;
 
import static javax.sound.midi.Sequence.PPQ;
 
public class untitled {
    static JFrame jFrame;
    static int eventsCounter = 0;
    static MyDrawingPanel myDrawingPanel;
    static ContinuePlaying continuePlaying;
    static StopPlaying stopPlaying;
    Sequencer sequencer;
    public static void main(String[] args) throws Exception {
        untitled untitled = new untitled();
        untitled.GStart();
    }
    public void setGUI() {
        myDrawingPanel = new MyDrawingPanel();
        continuePlaying = new ContinuePlaying();
        stopPlaying = new StopPlaying();
        jFrame = new JFrame("MMP3");
        JMenuBar MP3menuBar = new JMenuBar();
        JMenu MP3menu = new JMenu("Player");
        JMenuItem Play = new JMenuItem("Play");
        JMenuItem Stop = new JMenuItem("Pause");
        Play.addActionListener(continuePlaying);
        Stop.addActionListener(stopPlaying);
        MP3menu.add(Play);
        MP3menu.add(Stop);
        MP3menuBar.add(MP3menu);
        jFrame.setJMenuBar(MP3menuBar);
        jFrame.getContentPane().add(BorderLayout.CENTER, myDrawingPanel);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setSize(1920, 1080);
        jFrame.setVisible(true);
    }
    public void GStart() throws Exception {
        setGUI();
        sequencer = MidiSystem.getSequencer();
        sequencer.open();
        int[] arraytt = {127};
        sequencer.addControllerEventListener(myDrawingPanel, arraytt);
        Sequence sequence = new Sequence(PPQ, 4);
        Track track = sequence.createTrack(); //Track track = new Sequence(PPQ,4).createTrack();
        for (long i = 1; i < 6500; i += 4) {
            track.add(newSingleMidiEvent(192, 1, 18, 0, 1));
            track.add(newSingleMidiEvent(144, 1, NotesrandomNumber(), 100, i));
            track.add(newSingleMidiEvent(176, 1, 127, 0, i));
            track.add(newSingleMidiEvent(128, 1, NotesrandomNumber(), 100, i + 2));
        }
        sequencer.setSequence(sequence);
        sequencer.setTempoInBPM(333);
        sequencer.start();
        Thread.sleep(100);
        System.out.println("eventsCounter: " + eventsCounter + "; arraytt: " + arraytt[0]);
    }
    public MidiEvent newSingleMidiEvent(int mv1, int mv2, int mv3, int mv4, long mv5) throws Exception {
        MidiEvent midiEvent = new MidiEvent(new ShortMessage(mv1, mv2, mv3, mv4), mv5);
        return midiEvent;
    }
    public int NotesrandomNumber() {
        int intrandom = (int) (Math.random() * 65);
        return intrandom;
    }
    class MyRect {
        Rectangle rect;
        Color color;
    }
    class MyDrawingPanel extends JPanel implements ControllerEventListener {
        boolean EventTestMark;
        Random rnd = new Random();
        List arrayList = new ArrayList();
        int index;
        public void controlChange(ShortMessage event) {
            EventTestMark = true;
            myDrawingPanel.repaint();
        }
        public int dotsRandomNumberX() {
            int intrandomXandX = (int) (Math.random() * 1820);
            return intrandomXandX;
        }
        public int dotsRandomNumberY() {
            int intrandomXandY = (int) (Math.random() * 980);
            return intrandomXandY;
        }
        public Color colorsRandom() {
            int red = (int) (Math.random() * 255);
            int green = (int) (Math.random() * 255);
            int blue = (int) (Math.random() * 255);
            Color randomColor = new Color(red, green, blue);
            return randomColor;
        }
        public void paint(Graphics g) {
            super.paint(g);
            if (EventTestMark == true) {
                System.out.println(eventsCounter++);
                List arrayListInternal = new ArrayList();
                arrayListInternal.add(dotsRandomNumberX());
                arrayListInternal.add(dotsRandomNumberY());
                arrayListInternal.add(colorsRandom());
                arrayList.add(arrayListInternal);
                ListIterator iterator = arrayList.listIterator();
                while (iterator.hasNext()) {
                    ArrayList arrayListTemp = (ArrayList) iterator.next();
                    g.setColor((Color) arrayListTemp.get(2));
                    g.fillRect((int) arrayListTemp.get(0), (int) arrayListTemp.get(1), 23 + (int) arrayListTemp.get(0) / 14, 23 + (int) arrayListTemp.get(1) / 14);
                    System.out.println(arrayListTemp);
                }
            }
            EventTestMark = false;
        }
    }
    public class StopPlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.stop();
        }
    }
    public class ContinuePlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.start();
            sequencer.setTempoInBPM(333);
        }
    }
}
Миниатюры
Легкая программа показывает в менюшке непонятный артефакт   Легкая программа показывает в менюшке непонятный артефакт  
0
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
31.05.2017, 03:44
Кликните здесь для просмотра всего текста
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
import javax.sound.midi.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import java.util.List;
 
import static javax.sound.midi.Sequence.PPQ;
 
public class untitled {
    static JFrame jFrame;
    static int eventsCounter = 0;
    static MyDrawingPanel myDrawingPanel;
    static ContinuePlaying continuePlaying;
    static StopPlaying stopPlaying;
    Sequencer sequencer;
    public static void main(String[] args) throws Exception {
        untitled untitled = new untitled();
        untitled.GStart();
    }
    public void setGUI() {
        myDrawingPanel = new MyDrawingPanel();
        continuePlaying = new ContinuePlaying();
        stopPlaying = new StopPlaying();
        jFrame = new JFrame("MMP3");
        JMenuBar MP3menuBar = new JMenuBar();
        JMenu MP3menu = new JMenu("Player");
        JMenuItem Play = new JMenuItem("Play");
        JMenuItem Stop = new JMenuItem("Pause");
        Play.addActionListener(continuePlaying);
        Stop.addActionListener(stopPlaying);
        MP3menu.add(Play);
        MP3menu.add(Stop);
        MP3menuBar.add(MP3menu);
        jFrame.setJMenuBar(MP3menuBar);
        jFrame.getContentPane().add(BorderLayout.CENTER, myDrawingPanel);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setSize(1920, 1080);
        jFrame.setVisible(true);
    }
    public void GStart() throws Exception {
        setGUI();
        sequencer = MidiSystem.getSequencer();
        sequencer.open();
        int[] arraytt = {127};
        sequencer.addControllerEventListener(myDrawingPanel, arraytt);
        Sequence sequence = new Sequence(PPQ, 4);
        Track track = sequence.createTrack(); //Track track = new Sequence(PPQ,4).createTrack();
        for (long i = 1; i < 6500; i += 4) {
            track.add(newSingleMidiEvent(192, 1, 18, 0, 1));
            track.add(newSingleMidiEvent(144, 1, NotesrandomNumber(), 100, i));
            track.add(newSingleMidiEvent(176, 1, 127, 0, i));
            track.add(newSingleMidiEvent(128, 1, NotesrandomNumber(), 100, i + 2));
        }
        sequencer.setSequence(sequence);
        sequencer.setTempoInBPM(333);
        sequencer.start();
        Thread.sleep(100);
        System.out.println("eventsCounter: " + eventsCounter + "; arraytt: " + arraytt[0]);
    }
    public MidiEvent newSingleMidiEvent(int mv1, int mv2, int mv3, int mv4, long mv5) throws Exception {
        MidiEvent midiEvent = new MidiEvent(new ShortMessage(mv1, mv2, mv3, mv4), mv5);
        return midiEvent;
    }
    public int NotesrandomNumber() {
        int intrandom = (int) (Math.random() * 65);
        return intrandom;
    }
    class MyRect {
        Rectangle rect;
        Color color;
    }
    class MyDrawingPanel extends JPanel implements ControllerEventListener {
        boolean EventTestMark;
        Random rnd = new Random();
        List arrayList = new ArrayList();
        int index;
        public void controlChange(ShortMessage event) {
            EventTestMark = true;
            myDrawingPanel.repaint();
        }
        public int dotsRandomNumberX() {
            int intrandomXandX = (int) (Math.random() * 1820);
            return intrandomXandX;
        }
        public int dotsRandomNumberY() {
            int intrandomXandY = (int) (Math.random() * 980);
            return intrandomXandY;
        }
        public Color colorsRandom() {
            int red = (int) (Math.random() * 255);
            int green = (int) (Math.random() * 255);
            int blue = (int) (Math.random() * 255);
            Color randomColor = new Color(red, green, blue);
            return randomColor;
        }
        public void paint(Graphics g) {
            super.paint(g);
            if (EventTestMark == true) {
                System.out.println(eventsCounter++);
                List arrayListInternal = new ArrayList();
                arrayListInternal.add(dotsRandomNumberX());
                arrayListInternal.add(dotsRandomNumberY());
                arrayListInternal.add(colorsRandom());
                arrayListInternal.add((int)(Math.random() * 1820/14)+23); // width
                arrayListInternal.add((int)(Math.random() * 980/14)+23); // height
                arrayList.add(arrayListInternal);
                ListIterator iterator = arrayList.listIterator();
                while (iterator.hasNext()) {
                    ArrayList arrayListTemp = (ArrayList) iterator.next();
                    g.setColor((Color) arrayListTemp.get(2));
                    g.fillRect((int) arrayListTemp.get(0), (int) arrayListTemp.get(1), (int) arrayListTemp.get(3),  (int) arrayListTemp.get(4));
                    System.out.println(arrayListTemp);
                }
            }
            EventTestMark = false;
        }
    }
    public class StopPlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.stop();
        }
    }
    public class ContinuePlaying implements ActionListener {
        public void actionPerformed(ActionEvent actionEvent) {
            sequencer.start();
            sequencer.setTempoInBPM(333);
        }
    }
}

Рандомность есть, но размеры формировались из координат, отсюда и вид что большие справа, маленькие слева.
Поправил. Смотрите.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.05.2017, 03:44
Помогаю со студенческими работами здесь

Лёгкая программа C++
Помогите написать программу на C++

легкая программа
люди пожалуйста помогите сделать программу,а то не могу придумать((вот условие Если у студента все 5-ки к стипендии прибавляется 50% от...

Легкая программа
Помогите, пожалуйста, написать программу: В файле дан текст, имеющий вид x1−x2+x3−x4+..., где xi - число. Найдите значение выражения.

Не работает легкая программа
#include&lt;stdio.h&gt; main() { int c; scanf(&quot;%d&quot;,c); if (c=40) printf(&quot;Hello&quot;); } Хочу вывести Hello если ввели 40....

легкая программа на php
. Дана строка(вводится с формы) найти и заменить в строке все сочетания (вводятся с формы) на сочетания (вводятся с формы). Вывести...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru