请教 JSplitPane 两个问题 那把你的画线代码添加到JPanel的paint()而不是JSplitPane的paint() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重量组件放到轻量容器里面是会出现问题的,最好不要混用,免的处理起来麻烦,再说AWT本身提供的功能就少,除非是写Applet,希望客户端出的问题少点。另,实在没看懂你的需求,详细讲一讲吧,我的画图软件就用了JSplitPane和JScrollPane,这里确实有不少复杂的问题。相信我能帮你。 最好不要把AWT和SWING混用要把AWT转成SWING请参考http://java.sun.com/docs/books/tutorial/uiswing/converting/index.html Jpanel可以放在JScrollPane 里如果要用好JSplitPane ,关于PreferredSize和MinimumSize, MaximumSize的区别一定要烂熟于胸. 谢谢各位。:)改写了一点,现在的情况是这样的:绘图是在 canvas ( extends Panel )里做的,canvas 放在 ScrollPane 里是为 right而 left 是 JScrollPanel, 里面内容是一个 JTree相关代码:JScrollPane left = new JScrollPane(tree);ScrollPane right = new ScrollPane();right.add( canvas );JSplitPanel jsp = new JSplitPanel( .... , true, left, right );jsp.setDividerLocation( 150 );...现在可以正常显示了,因为右边用了AWT组件。不正常的地方是 divider 可以向左边拖动、或者拖回设定的位置 ( 左150 )但是不能向右拖——不奇怪,但是怎么解决呢?还有就是 AWT 里好像没有类似 JSplitPane 的组件吧不然也没这么麻烦了:) 楼主为什么不直接使用JPanel来画? 这个 canvas(Panel) 是远远大于屏幕范围的,用来画流程图之类的所以需要在 ScrollPane 里 我的意思是为什么不直接画在JPanel上,而是使用cancas? canvas 是从 Panel 继承的,应该没有问题吧,只是加了几个事件处理函数而已 我也觉得用JPanel比较好一点毕竟Swing和AWT在一起总是怪怪的 问题解决了canvas 使用了 setBounds()改成 setLocation() & setPreferredSize() 以后就可以使用 JPanel 为画板, JScrollPane 为右容器了thank all List接口中为什么会有Collection接口中存在的方法???? 在线等,简单的java程序,有个小小的问题 跨广域网的聊天程序 初学JAVA有一个问题很不能理解,望高手解答 初学ireport碰到麻烦,忘达人指教 《我在北大青鸟的180天》/Java部分/第一章 高分求N多窗口切换下维持静态变量的解决方案 请问各位牛人,有高分哦!在线等待............... 新手问题:运行时报的这个错误是怎么回事? 为什么我的程序过不了 关于WSAD的问题 在线等,如何在程序中用dtd验证xml,100分送!!!
另,实在没看懂你的需求,详细讲一讲吧,我的画图软件就用了JSplitPane和JScrollPane,这里确实有不少复杂的问题。相信我能帮你。
要把AWT转成SWING请参考
http://java.sun.com/docs/books/tutorial/uiswing/converting/index.html
如果要用好JSplitPane ,关于PreferredSize和MinimumSize, MaximumSize的区别一定要烂熟于胸.
改写了一点,现在的情况是这样的:
绘图是在 canvas ( extends Panel )里做的,canvas 放在 ScrollPane 里
是为 right
而 left 是 JScrollPanel, 里面内容是一个 JTree
相关代码:
JScrollPane left = new JScrollPane(tree);
ScrollPane right = new ScrollPane();
right.add( canvas );
JSplitPanel jsp = new JSplitPanel( .... , true, left, right );
jsp.setDividerLocation( 150 );
...现在可以正常显示了,因为右边用了AWT组件。
不正常的地方是 divider 可以向左边拖动、或者拖回设定的位置 ( 左150 )
但是不能向右拖——不奇怪,但是怎么解决呢?还有就是 AWT 里好像没有类似 JSplitPane 的组件吧
不然也没这么麻烦了
:)
所以需要在 ScrollPane 里
只是加了几个事件处理函数而已
毕竟Swing和AWT在一起总是怪怪的
canvas 使用了 setBounds()
改成 setLocation() & setPreferredSize() 以后
就可以使用 JPanel 为画板, JScrollPane 为右容器了
thank all