Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problemi con JTable

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    Problemi con JTable

    Ho il seguente codice:

    String[] columnNames = {"First Name", "Last Name",
    "Sport",
    "# of Years",
    "Vegetarian"};

    Object[][] data = {
    {"Mary", "Campione",
    "Snowboarding", new Integer(5), new Boolean(false)},
    {"Alison", "Huml",
    "Rowing", new Integer(3), new Boolean(true)},
    {"Kathy", "Walrath",
    "Knitting", new Integer(2), new Boolean(false)},
    {"Sharon", "Zakhour",
    "Speed reading", new Integer(20), new Boolean(true)},
    {"Philip", "Milne",
    "Pool", new Integer(10), new Boolean(false)}
    };


    table = new JTable(data,columnNames);

    JScrollPane scroller=new JScrollPane(table);
    Container c=getContentPane();
    //c.remove(0);
    c.add(scroller,BorderLayout.CENTER);
    c.validate();

    la JTable rimane vuota...qualcuno potrebbe gentilmente aiutarmi?

    tulipan

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    mi correggo il codice è questo

    String[] columnNames = {"First Name",
    "Last Name",
    "Sport",
    "# of Years",
    "Vegetarian"};
    Object[][] data = {
    {"Mary", "Campione",
    "Snowboarding", new Integer(5), new Boolean(false)},
    {"Alison", "Huml",
    "Rowing", new Integer(3), new Boolean(true)},
    {"Kathy", "Walrath",
    "Knitting", new Integer(2), new Boolean(false)},
    {"Sharon", "Zakhour",
    "Speed reading", new Integer(20), new Boolean(true)},
    {"Philip", "Milne",
    "Pool", new Integer(10), new Boolean(false)}
    };


    table = new JTable(data,columnNames);
    table.setBounds(new Rectangle(10, 95, 375, 120));
    JScrollPane scroller=new JScrollPane(table);
    this.getContentPane().add(scroller, null);
    this.validate();

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Hai tolto il layout-manager, vero??? Comunque il setBounds() devi farlo sul JScrollPane, non sul JTable. È anche intuibile ... è quello che viene aggiunto nel container!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    il layout-manager?...beh siccome quel codice è dentro una JDialog credo che non ci sia bisogno del container o no?

    tulipan

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tulipan
    il layout-manager?...beh siccome quel codice è dentro una JDialog credo che non ci sia bisogno del container o no?
    In generale i componenti si aggiungono sempre ad un "container"! Altrimenti dove li metti???

    In un JFrame/JDialog i componenti vengono aggiunti nel content-pane che è ... un java.awt.Container! JDialog e JFrame fanno in modo che add/remove/setLayout siano rediretti sul content-pane.

    Quindi fare:

    dialog.add(componente);

    è equivalente a fare:

    dialog.getContentPane().add(componente);


    Se c'è un layout-manager, il setBounds non serve e non ha effetto. Se togli il layout con setLayout(null) allora puoi impostare esplicitamente posizione/dimensione dei componenti.

    Più chiaro ora?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    se tolgo il ssetBounds() non mi funziona



    tulipan

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561
    ossia non si vede niente!!!!!



    tulipan

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.