Miten saan popup-valikon näkymään oikein? Nyt koodissa on tämä:
public class JPanel extends javax.swing.JPanel // 3. virheilmoitus
{
    private JPopupMenu popup;
    {
        initComponents();
    }
 private void initComponents() {
       addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                formMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                formMouseReleased(evt); // 4. virheilmoitus
            }
        });
    private void formMouseReleased(java.awt.event.MouseEvent evt)
   {
        showPopup(evt); // 2. virheilmoitus
    }
    private void formMousePressed(java.awt.event.MouseEvent evt)
   {
          showPopup(evt);
    }
    private void showPopup(MouseEvent evt)
    {
      if (evt.isPopupTrigger())
      {
       popup.show(evt.getComponent(), evt.getX(), evt.getY());//1. virheilmoitus
      }
    }Mod. lisäsi kooditagit
sypress kirjoitti:
Miten saan popup-valikon näkymään oikein? Nyt koodissa on tämä:
private JPopupMenu popup; { initComponents(); }
Tässä ensin luot jäsenmuuttujan popup, ja sitten jonkun lohkon, jolla ei ole mitään nimeä. Sen ilmeisesti pitäis olla konstruktori, eli
    private JPopupMenu popup;
    public JPanel() {
        initComponents();
    }sypress kirjoitti:
private void initComponents() {
Tämän metodin lopettava aaltosulku puuttuu.
Lisäks lopusta puuttuu vielä luokan määrittelyn lopettava aaltosulku.
On ne siellä, jäi vain tosta pois. En vaan ymmärrä mistä se nuo virheilmotukset vetää... ? ! ?
Mitkä virheilmoitukset? Virheilmoitukset ovat yleensä suhteellisen selkokielisiä. Suosittelen tuomaan nuo paketit koodin alussa sen sijaan, että viittaat suoraan luokkiin pakettien sisältä. Yhestä viittauksesta puuttuu paketin nimi.
tsuriga kirjoitti:
Yhestä viittauksesta puuttuu paketin nimi.
Mistä niistä?
MouseEventistä (silmä kätteen).
No höh! Kiitti!
Paitsi ettei se vieläkään toimi, tällanen virheilmotus tulee:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
tuossa MouseReleasedissa taitaa olla jotain väärin
Vaikuttaisi siltä että popup osoittaa nulliin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.