您的位置:程序门 -> java -> j2ee / ejb / jms



jtree简单的问题?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


jtree简单的问题?[已结贴,结贴人:fkyq01]
发表于:2007-06-19 17:34:36 楼主
左边是tree,右边是面板,

我要在他们中间加个可以左右拉动的功能,如何实现,给段代码来看看。
发表于:2007-06-19 17:54:591楼 得分:0
可以在中间加个   label  
给label加个监听鼠标事件。
鼠标按下去的时候就可以移动label.鼠标轻开的时候,轻开的位置就是label的位置。
根据label的位置,再改动tree的大小与右边面板的大小


10分....就懒得写代码了..
发表于:2007-06-20 08:12:552楼 得分:0
我是这么做的啊,不过我移动不了label,这个和布局有关系吗
发表于:2007-06-20 17:23:393楼 得分:0
分少咋就没人回呢?
发表于:2007-06-20 21:15:294楼 得分:0
这个是frame和iframe的区别   你去看看网上
frame   好象是可以自由拉动的     iframe就不行
发表于:2007-06-25 09:53:005楼 得分:0
是jframe吧
发表于:2007-06-29 08:31:036楼 得分:0
没人知道怎么实现拖动吗,我用的是jframe   ,而且用了borderlayout的布局,让tree在左边,panel在右边
发表于:2007-06-29 18:05:257楼 得分:0
郁闷又是没人回,还是没人会
发表于:2007-07-01 15:42:388楼 得分:10
package   listen;

import   javax.swing.jframe;
import   javax.swing.jpanel;
import   java.awt.*;
import   javax.swing.jsplitpane;
import   javax.swing.uimanager;
import   java.awt.event.windowevent;
import   javax.swing.jtree;


public   class   mainpro   extends   jframe   {
        public   mainpro()   {
                try   {
                        jbinit();
                }   catch   (exception   ex)   {
                        ex.printstacktrace();
                }
        }

        public   static   void   main(string[]   args)   {
                try   {
                        uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());
                }   catch   (exception   e)   {
                        e.printstacktrace();
                }
                mainpro   mainpro   =   new   mainpro();

                toolkit   thekit   =   mainpro.gettoolkit();
                dimension   wnsize   =   thekit.getscreensize();
                mainpro.setbounds(wnsize.width   /   4,   wnsize.height   /   4,   wnsize.width   /   2,
                                                    wnsize.height   /   2);
                mainpro.setvisible(true);

        }

        protected   void   processwindowevent(windowevent   e)   {
                super.processwindowevent(e);
                if   (e.getid()   ==   windowevent.window_closing)   {
                        system.exit(0);
                }
        }

        private   void   jbinit()   throws   exception   {
                leftpanel.setbackground(color.red);
                tree   =   new   jtree();
                treemain   treemain   =   new   treemain();
                tree   =   treemain.gettree();
                leftpanel.add(tree);
                rightpanel.setbackground(color.orange);
                this.getcontentpane().add(jsplitmainpane,   java.awt.borderlayout.center);
                jsplitmainpane.add(leftpanel,   jsplitpane.left);
                jsplitmainpane.add(rightpanel,   jsplitpane.right);
                jsplitmainpane.setonetouchexpandable(true);
        }

        jsplitpane   jsplitmainpane   =   new   jsplitpane();
        jpanel   leftpanel   =   new   jpanel();
        jpanel   rightpanel   =   new   jpanel();
        jtree   tree   =   null;

}
发表于:2007-07-01 15:42:559楼 得分:0
package   listen;

import   javax.swing.jtree;
import   javax.swing.tree.defaultmutabletreenode;

public   class   treemain   {
        treemain()   {
                top   =   new   defaultmutabletreenode( "root ");
                categorynode   =   new   defaultmutabletreenode( "node1 ");
                operationrode   =   new   defaultmutabletreenode( "node11 ");
                categorynode.add(operationrode);
                top.add(categorynode);

                categorynode   =   new   defaultmutabletreenode( "node2 ");
                operationrode   =   new   defaultmutabletreenode( "node2 ");
                top.add(categorynode);
                tree   =   new   jtree(top);
        }
        public   jtree   gettree()
        {
                return   tree;
        }
        jtree   tree   =   null;
        defaultmutabletreenode   top   =   null;
        defaultmutabletreenode   categorynode   =   null;
        defaultmutabletreenode   operationrode   =   null;
}


快速检索

最新资讯
热门点击