「java树拖拽」java 树

博主:adminadmin 2022-11-28 03:20:09 48

本篇文章给大家谈谈java树拖拽,以及java 树对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

关于java树结构的实现

可以用递归模拟树

要求子树拥有父树的id;

绝对原创;

import java.util.ArrayList;

import java.util.List;

public class Test2 {

public static void main(String[]args){

ListTree trees = new ArrayListTree();

int id = 1;

Tree t1 = new Tree(0,id++,"我是根树");

Tree t2 = new Tree(0,id++,"我是第二个根树");

Tree t3 = new Tree(1,id++,"我是子树");

trees.add(t1);

trees.add(t2);

trees.add(t3);

Tree t4 = new Tree(1,id++,"树根你好");

Tree t5 = new Tree(4,id++,"我不是树根");

Tree t6 = new Tree(5,id++,"我才是树根");

trees.add(t4);

trees.add(t5);

trees.add(t6);

show(trees);

}

public static void show(ListTree trees){

for(int i=0;itrees.size();i++){

Tree t = trees.get(i);

if(t.parent == 0){

StringBuffer blank = new StringBuffer();

t.show(trees,blank);

}

}

}

}

import java.util.List;

public class Tree {

public Tree(int parent,int id,String str) {

this.parent = parent;

this.id = id;

this.str = str;

}

int parent;//树的根树

int id;

String str;

// StringBuffer blank = new StringBuffer();

void show(ListTree trees, StringBuffer blank){

blank.append(" ");

System.out.println(blank + str );

for(int i=0;itrees.size();i++){

Tree t = trees.get(i);

if(t.parent == id){

t.show(trees,blank);

}

}

}

}

请问java中哪一个类可以很方便的处理“树”这个数据结构?

可以参考jdk中的TreeModel接口,可以单独拿出来对树结构进行操作。

实例可以在网上搜索一下JTree的用法。

java swing 如何实现工具条任意拖拽的功能,类似与word的工具条,请大侠指点

你可以试试在鼠标按下时捕获鼠标按下的Event事件,在这个事件中就可以获取到光标所在的(x,y)坐标点,相应的在鼠标拖动时也会触发拖动事件,获取相应的(x,y)坐标点,然后把坐标点动态的赋值给工具栏panel,这样工具栏就会跟着你的鼠标移动了。

java swing 中怎么实现鼠标拖拽控件到另一个控件的功能?

拖曳(Drag and Drop)在Swing中有支持,直接调用setDragEnabled就可以实现“可拖动”效果。

常用的控件中都有:setDragEnabled、setDropMode、setDropTarget。

高手快来,救命呀,java如何复制树,一定要帮帮忙,郁闷很长时间了

给你一个简单实例:

import javax.swing.*;

import javax.swing.tree.DefaultMutableTreeNode;

import java.awt.BorderLayout;

public class TreeDemo {

JFrame frame = new JFrame();

JPanel panel = new JPanel();

String[] strings = {"aaa","bbb","ccc"};

DefaultMutableTreeNode rooTreeNode;

DefaultMutableTreeNode sub1;

DefaultMutableTreeNode sub2;

DefaultMutableTreeNode sub3;

public TreeDemo()

{

sub1 = new DefaultMutableTreeNode("A");

sub2 = new DefaultMutableTreeNode("B");

sub3 = new DefaultMutableTreeNode("C");

for(int i=0;istrings.length;i++)

{

sub1.add(new DefaultMutableTreeNode(strings[i]));

sub2.add(new DefaultMutableTreeNode(strings[i]));

sub3.add(new DefaultMutableTreeNode(strings[i]));

}

rooTreeNode = new DefaultMutableTreeNode("ROOT");

rooTreeNode.add(sub1);

rooTreeNode.add(sub2);

rooTreeNode.add(sub3);

JTree tree = new JTree(rooTreeNode);

JScrollPane scrollPane = new JScrollPane(tree); //滚动,防止超出范围

panel.setLayout(new BorderLayout());

panel.add(scrollPane,BorderLayout.CENTER);

frame.getContentPane().add(panel);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400, 400);

frame.setVisible(true);

}

public static void main(String[] args) {

new TreeDemo();

}

}

Java 树形问题 很简单 在线等随时给分

不知下面这个例子是否会对你有所帮助。

import javax.swing.*;

import javax.swing.tree.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

public class 处理树选取事件 extends JApplet {

JTree tree = new JTree();

JTextArea textArea = new JTextArea();

JSplitPane splitPane = new JSplitPane(

JSplitPane.HORIZONTAL_SPLIT,

new JScrollPane(tree),

new JScrollPane(textArea));

public void init() {

splitPane.setDividerLocation(150);

textArea.setFont(new Font("Serif", Font.PLAIN, 17));

getContentPane().add(splitPane, BorderLayout.CENTER);

tree.addTreeSelectionListener(

new TreeSelectionListener() {

public void valueChanged(TreeSelectionEvent e) {

TreePath path = e.getNewLeadSelectionPath();

String s = new String();

if(path != null) {

s += "New lead selection path: " +

path.toString() + "\n";

}

else

s += "selection cleared\n";

path = e.getOldLeadSelectionPath();

if(path != null) {

s += "Old lead selection path: " +

path.toString() + "\n";

}

else

s += "No previous lead selection\n";

textArea.append(s + "\n");

printSelectionInformation(e);

}

void printSelectionInformation(TreeSelectionEvent e) {

showPaths(e);

showRows();

textArea.append("\n----------------------------");

textArea.append("----------------------------\n");

}

private void showPaths(TreeSelectionEvent e) {

TreePath[] paths = e.getPaths();

textArea.append("Number of Paths: " +

paths.length + "\n");

for(int i=0; i paths.length; ++i) {

TreePath path = paths[i];

boolean wasAdded = e.isAddedPath(path);

textArea.append(" path " + i + ": ");

textArea.append(path +

(wasAdded ? " added to selection" :

" removed from selection") + "\n");

}

}

private void showRows() {

int[] rows = tree.getSelectionRows();

if(rows != null rows.length 0) {

textArea.append("\nSelected Rows: ");

for(int i=0; i rows.length; ++i) {

textArea.append(

Integer.toString(rows[i]));

if(i != rows.length-1)

textArea.append(",");

}

}

}

});

}

}

关于java树拖拽和java 树的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。