Tag: jtree

在java GUI中更新JTree

我在GUI中使用了JTree并将其添加到JFrame中。 当我想更新它并在我的程序的另一部分更改它的节点时(当程序正在运行时,作为执行的操作)我尝试添加新节点,或删除节点; 但我的界面不会改变。 请建议我一个解决方案。 问候

从JTree添加和删除节点

我有一个非常基本的JTree 。 因为我匆忙,如果不需要,我宁愿不使用TreeModel 。 我写了一个SSCCE来揭露这个问题: 有时我会添加一个节点。 其他时候我删除它们。 当我按下Add ,正确添加了一个节点。 当我推送Remove ,它应该删除节点,但它不会。 此外,如果我尝试添加多个节点,树只会保留我添加的第一个节点。 我为JTree编写了一个更新方法,首先擦除从根节点挂起的所有节点,然后查看我必须创建的节点和子节点。 除了不使用TreeModel操作树之外,我在这里做错了什么? import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; public class TreeTest { private JFrame myFrame; private JTree myTree; private JButton addButton, removeButton; private int numberOfNodes; […]

如何使用JTree显示JPanel目录中的文件?

我正在使用Swing开发GUI。 GUI以这样的方式实现:当用户想要加载一组文本文件时,然后应该打开文件选择器对话框并且用户选择存在所有文件的目录。 现在,我想使用JTree将所选目录中的所有文件列入JScrollPane。 我正在使用此示例在我的代码中实现JTree: http : //www.java2s.com/Code/Java/File-Input-Output/FileTreeDemo.htm 但是,在选择目录后,JTree不会显示在JPanel中。 我已将JTree代码放在actionPerformed()方法中。 我不确定这是不是正确的方法。 这是代码: public void actionPerformed(ActionEvent e) { //Handle open button action. if (e.getSource() == OpenFileButton) { int returnVal = fc.showOpenDialog(GUIMain.this); if (returnVal == JFileChooser.APPROVE_OPTION) { file = fc.getSelectedFile(); System.out.println(file); File[] filesInDirectory = file.listFiles(); SortFile sf = new SortFile(); // Calls sortByNumber method in class SortFile to […]

当您单击每个树节点时,我想将信息添加到jpanel jscrollpane中

当你点击每个树节点时,我想把信息添加到jpanel jscrollpane中……请… !!! 1.我想在Tree.java中控制那个状态选择的树节点,其中Frame.java Tree.java package pms; import java.awt.BorderLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; public class Tree extends JTree { private JTree tree; public static int selectItem = 0; public JTree CreateTree() { setLayout(new BorderLayout()); DefaultMutableTreeNode root = new DefaultMutableTreeNode(“Management”); DefaultMutableTreeNode bigLeaf1 = new DefaultMutableTreeNode(“Generl Affair”); DefaultMutableTreeNode bigLeaf2 = new […]

JTree – 如何使用For-Loop添加节点?

我有一个简单的JTree ,系统地添加相关变量的节点: public void init() { final String section1 = “JAVA”; final String section1_content1 = “Tutorial1”; final String section1_content2 = “Tutorial2”; final String section1_content3 = “Tutorial3”; final String section1_content4 = “Tutorial4”; final String section1_content5 = “Tutorial5”; final String section1_content6 = “Tutorial6”; final String content1a = “Introduction”; final String content1b = “Hello World!”; // Create the […]

正确的方式使用JTextPane创建Class,JTree,DefaultTreeCellRenderer

我有这个类,以便使用JTree在叶子中显示多种颜色… 该类是TextPaneDefaultTreeCellRenderer import java.awt.*; import java.util.*; import javax.swing.*; import javax.swing.text.*; import javax.swing.tree.*; public class TextPaneDefaultTreeCellRenderer extends DefaultTreeCellRenderer { TextPaneTreeCellRenderer textPaneScrollPane = new TextPaneTreeCellRenderer(); public TextPaneDefaultTreeCellRenderer() { initialize(); } private void initialize() { textPaneScrollPane.setBackgroundNonSelectionColor(getBackgroundNonSelectionColor()); textPaneScrollPane.setBackgroundSelectionColor(getBackgroundSelectionColor()); textPaneScrollPane.setTextNonSelectionColor(getTextNonSelectionColor()); textPaneScrollPane.setTextSelectionColor(getTextSelectionColor()); } @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { […]

使用DOM解析器从XML文档创建JTree

package xml; import javax.xml.parsers.*; import org.w3c.dom.*; import org.xml.sax.*; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import java.io.*; public class ThirdParser extends JFrame{ DocumentBuilderFactory factory; DocumentBuilder builder; File f; Document d; JTree tree; JScrollPane scroll; //—————————————————————————— public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ @Override public void run(){ new ThirdParser(); } }); } //—————————————————————————— public ThirdParser(){ try{ factory = […]

如何为JTree单元设置透明背景?

伙计们, 我正在尝试创建一个渐变JTree控件。 除了树单元格的背景不透明外,以下代码大部分都有效。 如果有人打电话告诉我,我做得不对,我将不胜感激。 预先感谢您的帮助。 问候, 彼得 package TestPackage; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; import java.awt.*; public class Test { public Test() { JFrame frame = new JFrame(); JPanel framePanel = new JPanel(); framePanel.setLayout(new BorderLayout()); frame.setContentPane(framePanel); DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(“Item”); DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(“Child”); rootNode.add(childNode); GradientTree tree = new GradientTree(rootNode); // JTree […]

DefaultTreeModel和Wicket Tree:setAsksAllowsChildren不起作用

我在Web应用程序中使用Wicket的Tree组件。 但是空文件夹以文件方式显示。 像这样: Bellow是我使用DefaultTreeModel和Tree的地方: PDMinterface pdmI = new PDMinterface(); DefaultMutabletreeNode rootTreeNode = pdmI.getDocTree(); //文档树根结点,由PDM接口提供 DefaultTreeModel treeModel = new DefaultTreeModel(rootTreeNode); treeModel.setAsksAllowsChildren(true); 我确定folder5设置为允许孩子: public DefaultMutableTreeNode getDocTree(){ DefaultMutableTreeNode root = new DefaultMutableTreeNode(); root.setAllowsChildren(true); FolderNode rootFolder = new FolderNode(0, “root”, “Jiajun”, true); root.setUserObject(rootFolder); for(int i=0; i < 5; i++){ DefaultMutableTreeNode newnode = new DefaultMutableTreeNode(); newnode.setAllowsChildren(true); FolderNode newFolder = new […]

TreePath到java.io.File

有没有简单的方法从TreePath获取File (或java.nio.file.Path )? 例如,你有一个像这样的JTree : Green |—Blue |—Red |—Yellow |—Purple.jpg |—Brown.jpg |—Black.jpg 如果您有一个TreePath转到Black.jpg ,有没有办法获得路径为Green\Yellow\Black.jpg的File (或Path )? 我可以做很长的路,一个接一个地带着父母/孩子,一点一点地构建路径,但我希望有更优雅的方式……