Игнорирование щелчка левой кнопкой мыши в прослушивателе событий мыши на вкладке в JTabbedPaneJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Игнорирование щелчка левой кнопкой мыши в прослушивателе событий мыши на вкладке в JTabbedPane

Сообщение Anonymous »

Я работаю над текстовым редактором с вкладками на Java, используя Swing, который позволяет создавать простые и форматированные текстовые документы. Я пытался настроить прослушиватели действий мыши для каждой вкладки, которую создает пользователь (щелкните правой кнопкой мыши для меню и щелкните средней кнопкой мыши, чтобы закрыть вкладку), но когда пользователь пытается переключиться на другую вкладку (щелкнув левой кнопкой мыши), это не помогает. ничего не делаю.
Вот мой код прослушивателя действий:

Код: Выделить всё

DocumentTabs.getTabComponentAt(plainTextTab.index).addMouseListener(new MouseListener() {

@Override
public void mouseClicked(MouseEvent e) {}

@Override
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
int index = DocumentTabs.getSelectedIndex();

if (index != 0) {
JPopupMenu popupMenu = new JPopupMenu();
JMenuItem close = new JMenuItem("Close Tab");
JMenuItem save = new JMenuItem("Save");

close.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
DocumentTabs.remove(index);
}
});

save.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
try {
plainTextTab.save();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}
});

popupMenu.add(close);
popupMenu.show(MainPanel, e.getX(), e.getY());
}
} else if (e.getButton() == MouseEvent.BUTTON2) {
int index = DocumentTabs.getSelectedIndex();

if (index != 0) {
DocumentTabs.remove(index);
}
}
}

@Override
public void mouseReleased(MouseEvent e) {}

@Override
public void mouseEntered(MouseEvent e) {}

@Override
public void mouseExited(MouseEvent e) {}
});
Некоторые моменты, на которые следует обратить внимание:

[*]Вкладки создаются вручную, то есть я Я создал свой собственный класс для вкладок в виде обычного текста (дайте мне знать, если вам нужен этот класс).
[*]Я новичок в программировании на Java.
[*]Если мое объяснение неясно, извините, потому что я тороплюсь опубликовать это, но, пожалуйста, оставьте комментарий вместо того, чтобы голосовать против, чтобы я мог попытаться объяснить это лучше.


Подробнее здесь: https://stackoverflow.com/questions/791 ... tabbedpane
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»