「java树拖拽」java 树
本篇文章给大家谈谈java树拖拽,以及java 树对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、关于java树结构的实现
- 2、请问java中哪一个类可以很方便的处理“树”这个数据结构?
- 3、java swing 如何实现工具条任意拖拽的功能,类似与word的工具条,请大侠指点
- 4、java swing 中怎么实现鼠标拖拽控件到另一个控件的功能?
- 5、高手快来,救命呀,java如何复制树,一定要帮帮忙,郁闷很长时间了
- 6、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 树的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。