2010-11-23 64 views
1

我想设置一个JPanel使用BorderLayout以这种方式来创建图表。为此,我在南部地区的西部&有一个轴组件,而图表本身位于中心区域。问题是,当我添加我的'graph'组件(扩展Component的基类)并在其上绘制东西时,它与其他轴区域重叠。使用摆动布局jpanel与多个自定义组件

我想知道如何设置东西,从每个组件的0,0引用指的是它的特定起点,而不是所有的引用相同的点(现在正在发生) 。

希望这个解释不太难理解。提前致谢。

+0

当添加到BorderLayout的不同区域时,Swing组件不应该重叠。你一定在做一些奇怪的事情。张贴您的SSCCE(http://sscce.org)来证明问题。先从简单的东西开始,比如向西边加一个红色面板,向南加一个绿色面板,向中心加一个蓝色面板,你会发现这不是问题。然后尝试用一个自定义绘画来替换中间面板,以查看是否有问题。换句话说,隔离哪个组件导致您的问题。 – camickr 2010-11-23 16:29:03

回答

1

如果你的图真的延伸Component,请注意,你通常不能这样mix AWT and Swing components。请尝试扩展JComponent

可替代地,考虑JFreeChart

附录:即使在一个BorderLayoutWESTSOUTHCENTER一个JComponent通常在点会不适应,如在API图看出。

你可以放大为什么JFreeChart是不够的?它永远不会让我失望,但你也可以看看这个类别的另一种方法。

+0

这似乎没有任何区别。不幸的是JFreeChart不够接近我想要的可行性。感谢您的帮助。 – dylan 2010-11-23 12:28:26