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

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

21.12.2016, 03:41. Показов 795. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru