Java 如何在标题边框中查找标题的x位置

Java 如何在标题边框中查找标题的x位置,java,swing,titled-border,Java,Swing,Titled Border,我尝试过getTitlePosition,但它似乎只返回边界的起点0,而不是标题本身。我还尝试了getBorderJustification,但它返回了Center的int值 有没有办法获得标题边框中实际文本的x位置 Box container = Box.createVerticalBox(); Box topBox = new Box(BoxLayout.PAGE_AXIS); Box btmBox = new Box(BoxLayout.PAGE_AXIS); TitledBorder b

我尝试过getTitlePosition,但它似乎只返回边界的起点0,而不是标题本身。我还尝试了getBorderJustification,但它返回了Center的int值

有没有办法获得标题边框中实际文本的x位置

Box container = Box.createVerticalBox();
Box topBox = new Box(BoxLayout.PAGE_AXIS);
Box btmBox = new Box(BoxLayout.PAGE_AXIS);
TitledBorder border = new TitledBorder("Title");
border.setTitleJustification(TitledBorder.CENTER);

topBox.add(new JLabel(new ImageIcon(new BufferedImage(200,40,BufferedImage.TYPE_INT_RGB))));
btmBox.add(new JLabel(new ImageIcon(new BufferedImage(200,40,BufferedImage.TYPE_INT_RGB))));

topBox.setBorder(border);
btmBox.setBorder(border);

container.add(topBox);
container.add(btmBox);
如果标题居中,我不知道如何确保弹出窗口保持在标题上方

因此,您需要检查标题位置。如果它居中,则使用基本数学:

  • 你知道面板的宽度
  • 您知道弹出窗口的宽度
  • 从面板宽度中减去弹出窗口宽度并除以2
  • 如果标题居中,我不知道如何确保弹出窗口保持在标题上方

    因此,您需要检查标题位置。如果它居中,则使用基本数学:

  • 你知道面板的宽度
  • 您知道弹出窗口的宽度
  • 从面板宽度中减去弹出窗口宽度并除以2

  • 是否有办法获取标题边框中实际文本的x位置?
    -否。这是绘制逻辑的一部分。问题是你为什么需要这些信息?你昨天回答了我关于如何使标题可编辑的问题。我找到了可以更改弹出菜单位置的地方,但我不知道如果标题居中并且在窗口大小更改时移动,如何确保弹出菜单保持在标题上方。
    是否有方法获取标题边框中实际文本的x位置?
    -否。这是绘制逻辑的一部分。问题是你为什么需要这些信息?你昨天回答了我关于如何使标题可编辑的问题。我找到了可以更改弹出菜单位置的地方,但我不知道如果标题居中并且在窗口大小更改时移动,如何确保弹出菜单保持在标题上方。