Создаю JTree
. Добавляю туда элементы по клику кнопки - тобишь динамически.
Отлавливаю нажатие мыши в JTree
:
private void structureMouseClicked(MouseEvent e) {
// FILE служит для запоминания активного элемента.
int selRow = structure.getRowForLocation(e.getX(), e.getY());
TreePath selPath = structure.getPathForLocation(e.getX(), e.getY());
if(FILE != selRow) {
FILE = selRow;
if(selRow != -1 && selRow >= 0) {
if(e.getClickCount() == 1) {
System.out.println("open file");
workrtable.setVisible(true);
}
}
} else {
//Если мы нажали на уже выбранный элемент
if (SwingUtilities.isRightMouseButton(e)) {
// Если мы нажали на праву кнопку мыши
TreePath path = structure.getPathForLocation(e.getX(), e.getY());
Rectangle pathBounds = structure.getUI().getPathBounds(structure, path);
if (pathBounds != null && pathBounds.contains(e.getX(), e.getY())) {
JPopupMenu menu = new JPopupMenu();
JMenuItem rename = new JMenuItem("Rename");
rename.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Rename(e);
}
});
JMenuItem remove = new JMenuItem("Remove");
menu.add(rename);
menu.add(remove);
menu.show(structure, pathBounds.x, pathBounds.y + pathBounds.height);
}
} else {
workrtable.setVisible(false);
structure.clearSelection();
FILE = -1;
}
}
}
Но событие не срабатывает. что делаю не так?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый деньХотел услышать совет по одному вопросу затронувшему меня
Есть у меня массив, примерно такой структуры:
Приложения, скомпилированные на более старой версии jdk, будут ли гарантированно работать на машине с более новой версией jdk, или нет? И наоборот,...