Я пытаюсь создать пианино, и у меня есть красивые изображения для каждой клавиши.
Я хочу динамический способ добавления клавиш в правильном положении.Теперь для белых клавиш это довольно просто, я просто использую FlowLayout, и они будут точно расположены.Но для черных клавиш я не могу придумать подходящий динамический способ их правильного добавления в пустые пространства между белыми клавишами.
Причина в том, что нижняя часть белого ключа шире, чем его верхняя часть.,Также расстояние между черными клавишами не является фиксированным, оно отличается от ключа к ключу.
Ширина нижней части белой клавиши всегда такая же, как и для верхней ширины.Поэтому, как я это реализовал, вырезал белый ключ в верхней и нижней части и использовал JPanel с FlowLayout каждый, а затем расположил эти две панели одну под другой.Этот способ работает, но я думаю, что он не оптимален, поскольку для добавления KeyListeners мне в конечном итоге понадобятся два для одного ключа.
Нет ли лучшего способа добавления черных клавиш?