为了自定义渲染的目的,我创建了一个类(axialPanel.java),它扩展了JPanel并覆盖了paintComponent方法。将axispanel的一个实例添加到使用BorderLayout设置的容器类的西侧。我希望在axispanel周围有几个像素的边距,但是将axispanel的边框设置为具有一些中等大小的EmptyBorder实例似乎不起作用。关于如何实现这一目标的任何想法?
提前致谢。
答案 0 :(得分:2)
您的paintComponent
方法应该尊重组件的插图。
一个不打扰它的简单方法是在具有边框且您的组件作为BorderLayout
的中心的面板中接下来绘制的组件。
(顺便说一句:IMO,当你不想要一个小组时扩展JPanel
是一个坏主意。只需扩展JComponent
。布局有所不同,JPanel
也可能或者可能不会默认为不透明,具体取决于使用哪个版本的PL& F(因此除非您感到幸运,否则您总是需要致电setOpaque
。)