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

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

21.12.2016, 03:41. Показов 758. Ответов 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
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru