Skip to content

Commit

Permalink
Merge pull request #32 from HaleyWang/develop
Browse files Browse the repository at this point in the history
fix bug
  • Loading branch information
HaleyWang authored Jul 10, 2022
2 parents e2b79b4 + 6cdb17f commit 192f549
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 260 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ build/resources

temp.txt
springremote
bin/main/
bin/test/
5 changes: 1 addition & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,7 @@ dependencies {
compile 'com.formdev:flatlaf:0.22'

compile 'org.swinglabs:swingx:1.6.1'
implementation 'javax.annotation:javax.annotation-api:1.3.2'



compile 'javax.annotation:javax.annotation-api:1.3.2'

}

Expand Down
Binary file modified build/libs/SpringRemote-0.1.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#Sun Apr 19 10:06:36 CST 2020
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
Expand Down
36 changes: 2 additions & 34 deletions src/main/java/com/haleywang/putty/view/CommandTreeDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,15 @@ public void mouseReleased(MouseEvent e)

if (tp != null && movePath != null)
{
//阻止向子节点拖动
if (movePath.isDescendant(tp) && movePath != tp)
{
JOptionPane.showMessageDialog(owner, "目标节点是被移动节点的子节点,无法移动!",
"非法操作", JOptionPane.ERROR_MESSAGE );
JOptionPane.showMessageDialog(owner, "Target node is a descendant of current node, cannot move.",
"Invalid action", JOptionPane.ERROR_MESSAGE);
return;
}
//既不是向子节点移动,而且鼠标按下、松开的不是同一个节点
else if (movePath != tp)
{
System.out.println(tp.getLastPathComponent());
//add方法可以先将原节点从原父节点删除,再添加到新父节点中
DefaultMutableTreeNode currentNode = ((DefaultMutableTreeNode)tp.getLastPathComponent());
if(currentNode.getAllowsChildren()) {
currentNode.add(
Expand Down Expand Up @@ -137,53 +134,34 @@ else if (movePath != tp)
topPanel.add(menuPanel, BorderLayout.NORTH);

addSiblingButton.addActionListener(event -> {
//获取选中节点
DefaultMutableTreeNode selectedNode
= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
//如果节点为空,直接返回
if (selectedNode == null) {
return;
}
//获取该选中节点的父节点
DefaultMutableTreeNode parent
= (DefaultMutableTreeNode)selectedNode.getParent();
//如果父节点为空,直接返回
if (parent == null) {
return;
}


//创建一个新节点
DefaultMutableTreeNode newNode = createNewNode();
//获取选中节点的选中索引
int selectedIndex = parent.getIndex(selectedNode);
//在选中位置插入新节点
model.insertNodeInto(newNode, parent, selectedIndex + 1);
//--------下面代码实现显示新节点(自动展开父节点)-------
//获取从根节点到新节点的所有节点
TreeNode[] nodes = model.getPathToRoot(newNode);
//使用指定的节点数组来创建TreePath
TreePath path = new TreePath(nodes);
//显示指定TreePath
tree.scrollPathToVisible(path);
});
menuPanel.add(addSiblingButton);

addChildButton.addActionListener(event -> {
//获取选中节点
DefaultMutableTreeNode selectedNode
= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
//如果节点为空,直接返回
if (selectedNode == null) {
return;
}
//创建一个新节点
DefaultMutableTreeNode newNode = createNewNode();
//直接通过model来添加新节点,则无需通过调用JTree的updateUI方法
//model.insertNodeInto(newNode, selectedNode, selectedNode.getChildCount());
//直接通过节点添加新节点,则需要调用tree的updateUI方法
selectedNode.add(newNode);
//--------下面代码实现显示新节点(自动展开父节点)-------
TreeNode[] nodes = model.getPathToRoot(newNode);
TreePath path = new TreePath(nodes);
tree.scrollPathToVisible(path);
Expand All @@ -196,7 +174,6 @@ else if (movePath != tp)
= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
if (selectedNode != null && selectedNode.getParent() != null)
{
//删除指定节点
model.removeNodeFromParent(selectedNode);
}
});
Expand All @@ -206,20 +183,16 @@ else if (movePath != tp)
TreePath selectedPath = tree.getSelectionPath();
if (selectedPath != null)
{
//编辑选中节点
tree.startEditingAtPath(selectedPath);
}
});
menuPanel.add(editButton);



JButton cancelButton = new JButton("Cancel");
okButton.addActionListener(e -> {
System.out.println(e);
DefaultMutableTreeNode selectedNode
= (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
//如果节点为空,直接返回
if (selectedNode == null) {
return;
}
Expand All @@ -230,19 +203,15 @@ else if (movePath != tp)

SideView.getInstance().getCommandEditorPanel().getCommandNameTextField().setText(currentName);

//创建一个新节点
CommandDto dto = new CommandDto();

dto.setName(currentName);
dto.setCommand(SideView.getInstance().getCommandEditorPanel().getUpdateCommandTextArea().getText());

DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(dto);
//直接通过model来添加新节点,则无需通过调用JTree的updateUI方法
int count = selectedNode.getChildCount();
int index = count;
model.insertNodeInto(newNode, selectedNode, index);
//直接通过节点添加新节点,则需要调用tree的updateUI方法
//selectedNode.add(newNode);
//tree.updateUI();

DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
Expand All @@ -251,7 +220,6 @@ else if (movePath != tp)
DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) model.getRoot();
CommandDto rootObj = toCommandDto(rootNode);


TreePath treePath = tree.getSelectionPath();
Preconditions.checkNotNull(treePath);
SideView.getInstance().getCommandsTreePanel().setCurrentPathWithLeafIndex(treePath, index);
Expand Down
8 changes: 3 additions & 5 deletions src/main/javaopen/org/demo/CopyPathToTextField.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,14 @@
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;

/**
* 拖拽文件至文本框显示文件路径
*/

public class CopyPathToTextField extends JFrame {
private static final long serialVersionUID = 1L;
private JTextArea field;
private final JTextArea field;

public CopyPathToTextField() {

this.setTitle("拖拽文件至文本框显示文件路径");
this.setTitle("Demo");
this.setSize(500, 300);
this.setLocationRelativeTo(null);
this.setLayout(null);
Expand Down
205 changes: 0 additions & 205 deletions src/main/javaopen/org/demo/EditJTree.java

This file was deleted.

Loading

0 comments on commit 192f549

Please sign in to comment.