jtree 父亲节点未展开是可以点击Button添加节点(create(jtree tree,string name)),当展开后就不行了。

jtree 父亲节点未展开是可以点击Button添加节点(create(jtree tree,string name)),当展开后就不行了。,第1张

include<stdioh>int main()

{ int N,r;

long double sum=0;

long double a,b;

scanf("%d",&N);

for(r=0;r<N;r++){

scanf("%lf%lf",&a,&b);

使用JTree 给你个例子import javaxswing;

import javaawt;

import javaawtevent;

import javautil;public class TreeDemo1{

public TreeDemo1(){

JFrame f=new JFrame("TreeDemo1");

Container contentPane=fgetContentPane();

String[] s1={"公司文件","个人信件","私人文件"};

String[] s2={"本机磁盘(C:)","本机磁盘(D:)","本机磁盘(E:)"};

String[] s3={"奇摩站","职棒消息","网络书店"};

Hashtable hashtable1=new Hashtable();

Hashtable hashtable2=new Hashtable();

hashtable1put("我的公文包",s1);

hashtable1put("我的电脑",s2);

hashtable1put("收藏夹",hashtable2);

hashtable2put("网站列表",s3);

Font font = new Font("Dialog", FontPLAIN, 12);

Enumeration keys = UIManagergetLookAndFeelDefaults()keys();

/定义widnows界面/

while (keyshasMoreElements()) {

Object key = keysnextElement();

if (UIManagerget(key) instanceof Font) {

UIManagerput(key, font);

}

}

try{

UIManagersetLookAndFeel("comsunjavaswingplafwindowsWindowsLookAndFeel");

}catch(Exception el){

Systemexit(0);

}

/定义widnows界面/

JTree tree=new JTree(hashtable1);

JScrollPane scrollPane=new JScrollPane();

scrollPanesetViewportView(tree);

contentPaneadd(scrollPane);

fpack();

fsetVisible(true);

faddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

Systemexit(0);

}

});

}

public static void main(String[] args){

new TreeDemo1();

}

}

将分层数据集显示为轮廓的控件。有关面向任务的文档和使用树的示例,请参阅《The Java Tutorial》中的 How to Use Trees 一节。

树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。展开 节点是一个非叶节点(由返回 false 的 TreeModelisLeaf(node) 标识),当展开 其所有祖先时,该节点将显示其子节点。折叠 节点是隐藏它们的节点。隐藏 节点是位于折叠祖先下面的节点。所有可查看 节点的父节点都是可以展开的,但是可以显示它们,也可以不显示它们。显示 节点是可查看的并且位于可以看到它的显示区域。

以下 JTree 方法使用 "visible" 来表示 "displayed":

isRootVisible()

setRootVisible()

scrollPathToVisible()

scrollRowToVisible()

getVisibleRowCount()

setVisibleRowCount()

下一组 JTree 方法使用 "visible" 表示 "viewable"(在展开的父节点下面):

isVisible()

makeVisible()

如果您有兴趣了解选择何时更改,请实现 TreeSelectionListener 接口,并使用方法 addTreeSelectionListener 添加实例。当选择更改时,将调用 valueChanged,即如果用户在同一节点上单击两次,则仅调用 valueChanged 一次。

如果有兴趣检测双击事件或用户何时单击节点(不管是否选中它),建议您执行以下 *** 作:

final JTree tree = ;

MouseListener ml = new MouseAdapter() {

public void mousePressed(MouseEvent e) {

int selRow = treegetRowForLocation(egetX(), egetY());

TreePath selPath = treegetPathForLocation(egetX(), egetY());

if(selRow != -1) {

if(egetClickCount() == 1) {

mySingleClick(selRow, selPath);

}

else if(egetClickCount() == 2) {

myDoubleClick(selRow, selPath);

}

}

}

};

treeaddMouseListener(ml);

注:上述示例同时获取路径和行,但是您只需要获取感兴趣的内容。

要使用 JTree 显示复合节点(例如,同时包含图形图标和文本的节点),请为 TreeCellRenderer 创建子类,并使用 setCellRenderer(javaxswingtreeTreeCellRenderer) 通知树使用它。要编辑此类节点,请为 TreeCellEditor 创建子类,并使用 setCellEditor(javaxswingtreeTreeCellEditor)。

与所有 JComponent 类一样,可以使用 InputMap 和 ActionMap 将 Action 对象与 KeyStroke 关联,并在指定条件下执行 *** 作!!

以上就是关于jtree 父亲节点未展开是可以点击Button添加节点(create(jtree tree,string name)),当展开后就不行了。全部的内容,包括:jtree 父亲节点未展开是可以点击Button添加节点(create(jtree tree,string name)),当展开后就不行了。、java界面编程实现展开树、会使用JBuilder2006的高手请进,有关jtable和jtree,急!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10186644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存