Avatar billede eatmyshorts Nybegynder
25. maj 2003 - 12:29 Der er 2 kommentarer og
1 løsning

Hjælp til JList inde i GUI

Hej alle

Jeg skal lave en program-del som skal være en slags BogKartotek Gui men bagved liggende funktioner. Sidder lidt fast lige nu da jeg gerne vil have det lavet sådan i GUIen at når man trykker på f.eks. søgForfatter knappen skal den returnere svarere i en JList som bliver oprettet nedenunder resten af GUIen, altså som en slags tillæg til resten af skærmbilledet. Metoden har jeg lavet og den returnerer en ArrayList som JListen så skal tage fat i. Her vil jeg så gerne have at når jeg klikker på det eksemplar jeg gerne vil have op i hoved vinduet så skal den tage den og bruge de der set metoder. Åh håber jeg har formuleret mig rigtigt og hvis i vil have uddybende informationer må i meget gerne spørge. Hvis det er nemmere for jer kan jeg også træffes på msg på Morta@mail1.stofanet.dk. Håber i kan hjælpe mig. Paster lige min GUI kode ind her nedenunder:

    public void actionPerformed( ActionEvent e )
    {
       
       
    if ( e.getSource() == soegForfatter ){
           
    String forfatter = forfatterText.getText();
    ArrayList list ;
    list = bc.findForfatterBoeger(forfatter);
           
           
    if(list!= null){
    JList jlist = new JList(Vector list);
                   
                   
                    forfatterText.setText(bog.getForfatter());
    titelText.setText(bog.getTitel());
    forlagText.setText(bog.getForlag());
    isbnText.setText("" + bog.getIsbn());
                    købsPrisText.setText("" + bog.getKøbsPris());
                    salgsPrisText.setText("" + bog.getSalgsPris());
    standText.setText("" + bog.getStand());
                    specielleOplysningerText.setText                          (bog.getSpecielleOplysninger());
                    eksemplarnummerText.setText                                (""+bog.getEksemplarnummer());
                    placeringText.setText(bog.getPlacering());
    udgaveText.setText("" + bog.getUdgave());
            }   
        }
Avatar billede eatmyshorts Nybegynder
25. maj 2003 - 12:37 #1
Øh det kode ser da helt tosset ud.. prøver lige at paste det pænere :)

public void actionPerformed( ActionEvent e )
    {
       
       
    if ( e.getSource() == soegForfatter ){
           
    String forfatter = forfatterText.getText();
    ArrayList list ;
    list = bc.findForfatterBoeger(forfatter);
           
           
    if(list!= null){
    JList jlist = new JList(Vector list);
                   
                   
    forfatterText.setText(bog.getForfatter());
    titelText.setText(bog.getTitel());
    forlagText.setText(bog.getForlag());
    isbnText.setText("" + bog.getIsbn());
    købsPrisText.setText("" + bog.getKøbsPris());
    salgsPrisText.setText("" + bog.getSalgsPris());
    standText.setText("" + bog.getStand());
   
specielleOplysningerText.setText                          (bog.getSpecielleOplysninger());
 
eksemplarnummerText.setText                                (""+bog.getEksemplarnummer());
                   
placeringText.setText(bog.getPlacering());

udgaveText.setText("" + bog.getUdgave());
            }   
        }
Avatar billede aslan Nybegynder
25. maj 2003 - 21:15 #2
Hvis jeg var dig ville jeg hellere bruge en JTable da den er meget mere fleksibel.

Opret en klasse der extender DefaultTableModel. Denne klasse kan du så tage med som parameter når du initialisere din JTable. I din JTable kan du så lægge en MouseListener på som kan reagere på hvilken række der bliver trykket på.

Der er en tutorial omk. JTables her:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

I ovenstående tutorial er der brugt AbstractTableModel,brug DefaultTableModel da den er meget mere fleksibel...
Avatar billede eatmyshorts Nybegynder
26. maj 2003 - 14:44 #3
Well jeg fandt aldrig rigtigt ud af det og der kommer vist ikke flere svar så du får bare pointene sslan :)
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

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