Вы НИКОГДА не должны переопределять метод paint () JFrame (если вы действительно не знаете, что делаете).Этот метод отвечает за все оптимизированное поведение рисования Swing.
Пользовательское рисование всегда должно выполняться путем переопределения метода paintComponent () компонента Swing, как вы это делали на панели NoteDraw.
Причина, по которой код в методе рисования не отображается, заключается в том, что панель NoteDraw непрозрачна, и поэтому панель рисует поверх графического кода в вашем методе рисования.
Таким образом, решение заключается в перемещении графикикод рисования на панель NoteDraw.
Или, если вы пытаетесь создать какое-то фоновое изображение для вашего кадра, вы можете попробовать использовать Панель фона .
Или, если вам действительно нужно настраивать рисование, создайте фоновую панель и переопределите метод paintComponent ().Затем вы устанавливаете макет BorderLayout и добавляете эту панель к фрейму.Затем вы делаете панель NoteDraw непрозрачной и добавляете ее на пользовательскую фоновую панель.Теперь фон будет виден на панели NoteDraw.