показать JPopupMenu, когда RightClick на JTextArea в Java? - PullRequest
1 голос
/ 31 декабря 2011

Я создаю простое приложение для заметок.Я хочу, чтобы JPopupMenu показывалось, когда я нажимаю JTextArea.Поскольку это заметка, очевидно, что все приложение будет textArea

Сокращенный код:

    //I've tried my best to follow SSCE

private JTextArea textArea = new JTextArea();
private JPopupMenu popup = new JPopupMenu("Popup Menu");
private JMenuItem hideBar = new JMenuItem("Hide Bar");
private JMenuItem hideTitle = new JMenuItem("Hide Item");

public mySticky(){

add(textArea); //Text Area is using the whole Frame "Sticky Note"
popup.add(hideBar);  //adding MenuItem
popup.add(hideTitle); //adding MenuItem
//addMouseListener(new popupTriggerListener());
textArea.addMouseListener(new popupTriggerListener());

}


private class popupTriggerListener extends MouseAdapter{
    public void MousePressed(MouseEvent e){
        if(e.isPopupTrigger())
            popup.show(textArea,e.getX(),e.getY()); //I've added texArea I'm not sure what to add inside.
    }

    public void MouseReleased(MouseEvent e){
        if(e.isPopupTrigger())
            popup.show(textArea,e.getX(),e.getY()); //I've added texArea I'm not sure what to add inside.
    }

    public void MouseClicked(MouseEvent e){

    }
}

1 Ответ

3 голосов
/ 31 декабря 2011

Я старался изо всех сил следовать SSCE

Как это может быть SSCCE, если код даже не компилируется? Попробуйте прочитать ссылку еще раз.

Я предлагаю вам начать с чтения раздела из учебника по Swing по Всплывающее меню для рабочего примера.

хммм, я что-то здесь упускаю

Вам не хватает оператора @Override, который должен предшествовать сигнатуре метода при переопределении метода. Это предотвратит ваши ошибки при печати. ​​

...