mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
Left mouse click on a component in the component tree sometimes has no
effect
This commit is contained in:
@@ -41,6 +41,8 @@ import javax.swing.event.DocumentEvent;
|
|||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
import javax.swing.event.PopupMenuEvent;
|
import javax.swing.event.PopupMenuEvent;
|
||||||
import javax.swing.event.PopupMenuListener;
|
import javax.swing.event.PopupMenuListener;
|
||||||
|
import javax.swing.event.TreeSelectionEvent;
|
||||||
|
import javax.swing.event.TreeSelectionListener;
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
import javax.swing.tree.DefaultTreeCellRenderer;
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
||||||
import javax.swing.tree.DefaultTreeModel;
|
import javax.swing.tree.DefaultTreeModel;
|
||||||
@@ -277,20 +279,27 @@ public class TreePanel extends JPanel {
|
|||||||
tree.setRowHeight(0);
|
tree.setRowHeight(0);
|
||||||
ToolTipManager.sharedInstance().registerComponent(tree);
|
ToolTipManager.sharedInstance().registerComponent(tree);
|
||||||
|
|
||||||
|
tree.addTreeSelectionListener(new TreeSelectionListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void valueChanged(TreeSelectionEvent e) {
|
||||||
|
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getLastPathComponent();
|
||||||
|
if (node != null && node.getUserObject() != null) {
|
||||||
|
Payload payload = (Payload) node.getUserObject();
|
||||||
|
if (payload.getClickListener() != null) {
|
||||||
|
payload.getClickListener().mouseClicked(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
tree.addMouseListener(new MouseAdapter() {
|
tree.addMouseListener(new MouseAdapter() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
if (e.getClickCount() != 1)
|
if (e.getClickCount() != 1)
|
||||||
return;
|
return;
|
||||||
TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY());
|
|
||||||
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
|
|
||||||
if (node != null && node.getUserObject() != null) {
|
|
||||||
Payload payload = (Payload) node.getUserObject();
|
|
||||||
if (payload.getClickListener() != null) {
|
|
||||||
payload.getClickListener().mouseClicked(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (SwingUtilities.isRightMouseButton(e)) {
|
if (SwingUtilities.isRightMouseButton(e)) {
|
||||||
int row = tree.getClosestRowForLocation(e.getX(), e.getY());
|
int row = tree.getClosestRowForLocation(e.getX(), e.getY());
|
||||||
tree.setSelectionRow(row);
|
tree.setSelectionRow(row);
|
||||||
|
|||||||
@@ -1834,6 +1834,10 @@
|
|||||||
<changeType>BUG_FIX</changeType>
|
<changeType>BUG_FIX</changeType>
|
||||||
<description>Auto-save dialog pops up when running multiple instances of the app at the same time</description>
|
<description>Auto-save dialog pops up when running multiple instances of the app at the same time</description>
|
||||||
</org.diylc.appframework.update.Change>
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>BUG_FIX</changeType>
|
||||||
|
<description>Left mouse click on a component in the component tree sometimes has no effect</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
</changes>
|
</changes>
|
||||||
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
||||||
</org.diylc.appframework.update.Version>
|
</org.diylc.appframework.update.Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user