Если вы хотите, чтобы холст находился посередине, а затем имел метки на любой из 4 сторон, вы можете использовать BorderLayout
, например, так:
JPanel framePanel = new JPanel(new BorderLayout());
JPanel triangleCanvas = ...
framePanel.add(triangleCanvas, BorderLayout.CENTER);
JPanel northLabels = ...
framePanel.add(northLabels, BorderLayout.PAGE_START);
JPanel southLabels = ...
framePanel.add(southLabels, BorderLayout.PAGE_END);
JPanel eastLabels = ...
framePanel.add(eastLabels, BorderLayout.LINE_END);
JPanel westLabels = ...
framePanel.add(westLabels, BorderLayout.LINE_START);
frame.getContentPane().add(framePanel);
Если вывы хотите как-то выровнять, где ваши метки зависят от нарисованного в данный момент треугольника (или от того, что находится в контейнере), но, надеюсь, вы не захотите этого делать.