Avatar billede aslan Nybegynder
23. juni 2002 - 11:46 Der er 5 kommentarer og
1 løsning

JTable og mouseListener

Hvordan smider jeg en mouseListener på denne classe?Når jeg forsøger at implementere mouseListener vil den have at jeg skal gøre classen abstract og når jeg sætter den til abstract vil programet slet ikke køre.... kan nogen hjælpe?


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.table.*;

public class Opslag extends JFrame
{
    Reservation hentRes;
    Værelse hentVærelse;
    Gaest hentGæst;
    ConnectDB db ;

    Object[][]data;
    String[]panelTekst;

    JTable table;
    JScrollPane scrollPane;

    public Opslag(Reservation r,Værelse v,Gaest g,ConnectDB c )
    {
        hentRes = r;
        hentVærelse = v;
        hentGæst = g;
        db = c;

    }
        public void booking(String SQL)
        {
        data = new Object[hentGæst.tæller()][5];
        panelTekst = new String[5];

        panelTekst[0] = "Værelse Nr";
        panelTekst[1] = "Reservations Nr";
        panelTekst[2] = "Status";
        panelTekst[3] = "Udl Start";
        panelTekst[4] = "Udl Slut";
        table = new JTable(data, panelTekst);

        if (scrollPane != null)
        {
          getContentPane().remove(scrollPane);
        }
        scrollPane = new JScrollPane(table);
        scrollPane.revalidate();
        getContentPane().add(scrollPane, BorderLayout.CENTER);
        table.setEnabled(false);

        this.pack();
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

        table.getColumnModel().getColumn(0).setPreferredWidth(100);
        table.getColumnModel().getColumn(1).setPreferredWidth(100);
        table.getColumnModel().getColumn(2).setPreferredWidth(100);
        table.getColumnModel().getColumn(3).setPreferredWidth(100);
        table.getColumnModel().getColumn(4).setPreferredWidth(100);
        try {
        ResultSet row = db.select( SQL );
                for(int r=0;row.next();r++)
                {
                    int ii = 0;
                    data[r][ii] = row.getString("VAERNR");
                    ii++;
                    data[r][ii] = row.getString("RESNR");
                    ii++;
                    data[r][ii] = row.getString("VAERELSESTATUS");
                    ii++;
                    data[r][ii] = row.getString("RESSTART");
                    ii++;
                    data[r][ii] = row.getString("RESSLUT");
                    ii++;
                }

            } catch (SQLException e)

            {

                e.printStackTrace();
            }
            catch(NullPointerException a)
            {
                a.printStackTrace();
            }

        }
}
Avatar billede Slettet bruger
23. juni 2002 - 12:51 #1
Her er et snip kode fra et af mine programmer med en mouselistener og den virker:

        txtAreaContent.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent evt) {
                int mouseClicked = evt.getClickCount();
                if (mouseClicked == 2) {
                    //Tjekker om det er noget tekst
                    if (txtAreaContent.getText().equals("")) {
                        JOptionPane.showMessageDialog(
                            null,
                            "Der er ikke noget tekst at vise",
                            "Ingen tekst",
                            JOptionPane.INFORMATION_MESSAGE);
                    } else {
                        showBigContentWindow();
                    }
                }

            }
        });
Avatar billede Slettet bruger
23. juni 2002 - 12:52 #2
Metoden overrider MouseListener, så du kan bare ligge den ind som den er i din klasse.
Avatar billede aslan Nybegynder
23. juni 2002 - 14:01 #3
C:\Program Files\nusphere\apache\htdocs\modelKomponent\Opslag.java:399: <identifier> expected
txtAreaContent.addMouseListener(new MouseAdapter() {
                              ^
C:\Program Files\nusphere\apache\htdocs\modelKomponent\Opslag.java:399: package txtAreaContent does not exist
txtAreaContent.addMouseListener(new MouseAdapter() {
              ^
2 errors

Tool completed with exit code 1
Avatar billede Slettet bruger
23. juni 2002 - 14:52 #4
du kan ikke bruge txtAreaContent, det er et JArea som jeg bruge i min applikation. Du skal bruge det felt som musen skal reagere på.
Hvis det f.eks er et JTextField du har (txtFelt) skal du bruge:

"txtFelt.addMouseListener(new MouseAdapter() {"

Men hvis du laver et felt der hedder txtAreaContent (JTextArea) kan du bruge den som du har fået den af mig

du skal oxo være opmærksom på at showBigContentWindow er en metode som jeg selv har skrevet.
Avatar billede aslan Nybegynder
23. juni 2002 - 16:18 #5
ok redigerede i det og fik det til at virke takker....
Avatar billede Slettet bruger
23. juni 2002 - 16:36 #6
Det var så lidt, jeg er glad for at jeg kan hjælpe :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester