-1

I dont know how and where to start my code. I've tried searching in google how to populate Jtable in netbeans GUI using java code. Well actually, i dont want that all the columns in my MySql database will be diplayed. so i created table model. I dont know if this will work. but the thing is i dont know the next thing to do. i want it to be displayed in my Jtable called "tblList". please help me how. this is my "ListOfMembersModel"

  import java.text.DateFormat;
  import java.util.ArrayList;
  import java.util.Locale;
  import javax.swing.table.DefaultTableModel;
  import rtu.tomis.bom.Member;

  public class ListOfMembersModel extends DefaultTableModel{
private ArrayList<Member> members;


public ArrayList<Member> getMembers() {
    return members;
}

public void setMembers(ArrayList<Member> members) {
    this.members = members;
}


public ListOfMembersModel(ArrayList<Member> members){
    this.members = members;
    String[] columns = {"MemberId", "Voters ID", "Full Name",  "Age",  "Address", "Gender", "Birthday", "Contact Number", "Email Address", "Type of Membership"};
    this.setColumnIdentifiers(columns);
}

 public int getRowCount() {
    int rows = 0;
    if(this.members!=null && this.members.size()>0){
        rows = this.members.size();
    }
    return rows;
}

public int getColumnCount() {
    int columns = 10;
    return columns;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {

    String s = "";
    Member member = null;
    if(this.members!=null && this.members.size()>0){

        member = (Member)this.members.get(rowIndex);

        switch(columnIndex){
            case 0:
                s = ""+member.getMemberId();
                break;
            case 1:
                s = member.getVotersId();
                break;
            case 2:
                s = member.getFullname();
                break;
            case 3:
                s = "" + member.getAge();
                break;
            case 4:
                s = member.getFulladdress();
                break;
            case 5:
                s = member.getGender();
                break;
            case 6:
                DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US);
                String bday = df.format(member.getBirthday());
                s = ""+bday;
                break;

               case 7:
                s = "" + member.getContactNo();
                break;

                case 8:
                s = member.getEmailAddress();
                break;

                 case 9:
                s = member.getMembershipType();
                break;

        }
    }
    return s;
}

public boolean isCellEditable(int row, int col){
    return false;
}

Can you help me on how am i going to display this in populating my Jtable. Thank you.

mKorbel
  • 109,525
  • 20
  • 134
  • 319
rheighy
  • 11
  • 2
  • 7
  • 3
    *"can u help me"* Can you spell simple words like 'you' correctly? Can you put a capital letter at the start of sentences and for class names like `JTable`? Can you ask a *specific* question? Voting to close as 'not a real question'. You might look to edit the question (to improve it) before others also add votes to close. – Andrew Thompson Dec 26 '12 at 06:14

1 Answers1

1

The answer would seem to be

jTable.setModel(new ListOfMembersModel(members));

Some changes probably have to fire notifications to the table listeners, one of which is the JTable, see the AbstractTableModel.fire... methods

Joop Eggen
  • 107,315
  • 7
  • 83
  • 138