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,急!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)