Avatar billede newme Nybegynder
17. december 2003 - 22:00 Der er 4 kommentarer

Gui Jlistproblem med at knytte et valgt item på listen med ny gui

Vores problem er, at vi har en knap ”Søg”, og når den aktiveres udskrives der en liste over kunder. Herfra skal man kunne udvælge en virksomhed, klikke på navnet og så skal den pågældende kundes oplysninger føres videre med på næste GUI-side.
Men hvordan gør vi det? Her er den pågældende metode:


public void actionPerformed(ActionEvent event)
    {
        if(event.getSource() == SøgButton)
        {
            FirmaListe.setListData(facadeController.udskrivKunder());
            FirmaListe.updateUI();                       
        }
        FirmaListe.getSelectedValue();
        FirmaListe.getSelectedIndex();
        opgaverGUIJInternalFrames = new OpgaverGUIJInternalFrames();
    }
Avatar billede _carsten Nybegynder
17. december 2003 - 22:31 #1
I laver en constructor i OpgaverGUIJInternalFrames() som tager et Object og en int som parameter

  opgaverGUIJInternalFrames = new OpgaverGUIJInternalFrames(
                                        FirmaListe.getSelectedValue(),
                                        FirmaListe.getSelectedIndex() );


  // Tilføj constructor
  public OpgaverGUIJInternalFrames(Object obj, int i){
      // Her arbejder i videre med obj og i
  }

Godnat!
Avatar billede newme Nybegynder
18. december 2003 - 10:33 #2
Tek for svaret men jeg forstå ikke hvad den constructor skal gøre. Kan du gøre mig viis?
Avatar billede _carsten Nybegynder
18. december 2003 - 11:04 #3
Skal prøve, prøv at kigge på metoden openFrame i JFrame_7 og constructoren i JInternalFrame

public class JFrame_7 extends javax.swing.JFrame {
   
    public JFrame_7() {
        initComponents();
    }
   
    private void initComponents() {
        jButton1 = new javax.swing.JButton();

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                openFrame(evt);
            }
        });

        getContentPane().add(jButton1, java.awt.BorderLayout.NORTH);

        pack();
    }

    private void openFrame(java.awt.event.ActionEvent evt) {
        frame = new JInternalFrame("Dette er label 1", "Dette er label 2");
        frame.setVisible(true);
        getContentPane().add(frame, java.awt.BorderLayout.CENTER);
    }

    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    public static void main(String args[]) {
        new JFrame_7().show();
    }
     
    private javax.swing.JButton jButton1;
    private JInternalFrame frame;
}







class JInternalFrame extends javax.swing.JInternalFrame {
    private String text1, text2;

    public JInternalFrame() {
        initComponents();
    }
   
    public JInternalFrame(String s, String s1) {
        this.text1 = s;
        this.text2 = s1;
        initComponents();
    }

    private void initComponents() {
        jLabel1 = new javax.swing.JLabel(text1);
        jLabel2 = new javax.swing.JLabel(text2);

        getContentPane().setLayout(new java.awt.FlowLayout());

        jLabel1.setPreferredSize(new java.awt.Dimension(150, 16));
        getContentPane().add(jLabel1);

        jLabel2.setPreferredSize(new java.awt.Dimension(150, 16));
        getContentPane().add(jLabel2);

        pack();
    }

    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
}
Avatar billede nielyng Nybegynder
18. december 2003 - 11:44 #4
Det der er essentielt er, at du skal poste nogle værdier med til næste vindue.

Som Carsten ganske fint fortæller, så kan du oprette en constructor, der får argumenter med. (HUSK, vi kan godt ha' flere Constructorer, med forskelligt antal argumenter.)

Det, som Carsten gør er, at han poster de valgte værdier (FirmaListe.getSelectedValue() og FirmaListe.getSelectedIndex()) med til denne constructor, som derefter kan arbejde med værdierne.

Håber det gav en smule klarhed på, hvad det er der skal gøres.. :-)

/Nilez
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