populating table from database
Number FoodItemQuantityPriceDescription
**************************************************
1Rice 1 bag5000Carbohydrate
2Beans 1 bag4000Protein
3Palm Oil 1 bottle500Fats & Oil
i have a table like this in my database,need help in populating my list
with "FoodItem" from the database when my GUI comes up.Also,want to display final result of selection in my table.
'\n'
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
importstatic javax.swing.GroupLayout.Alignment.*;
import java.sql.*;
import java.util.*;
publicclass Foodtableextends JFrame{
//private JButton finish,view;
private JTable table;
private DefaultTableModel model;
private JScrollPane pane,pane1;
private JTextField currentamount,totalamount,qtyfield;
private JList foodlist;
private JComboBox box;
private String[] qtybox={"cup","mudu","bag"};
private DefaultListModel lm;
Connection con=null;
Statement st=null;
privatestatic ResultSet rs;
public Foodtable(){
JPanel p1 =new JPanel();
p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"Food List",TitledBorder.CENTER,TitledBorder.TOP));
p1.setLayout(null);
p1.setPreferredSize(new Dimension(170,150));
lm =new DefaultListModel();
foodlist =new JList(lm);
pane1 =new JScrollPane(foodlist);
pane1.setBounds(10,20,148,180);
p1.add(pane1);
JLabel qty =new JLabel("Quantity:");
qty.setBounds(10,210,60,20);
p1.add(qty);
qtyfield =new JTextField(5);
qtyfield.setBounds(65,210,30,20);
p1.add(qtyfield);
box =new JComboBox(qtybox);
box.setBounds(95,210,60,20);
p1.add(box);
JPanel p2 =new JPanel();
p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"Food Table",TitledBorder.CENTER,TitledBorder.TOP));
model =new DefaultTableModel();
model.addColumn("Number");
model.addColumn("Food Item");
model.addColumn("Quantity");
model.addColumn("Price");
model.addColumn("Description");
table =new JTable(model);
pane =new JScrollPane(table);
pane.setPreferredSize(new Dimension(300,140));
p2.add(pane);
JPanel p =new JPanel();
GroupLayout layout =new GroupLayout(p);
p.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createSequentialGroup()
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(p1)
)
.addComponent(p2)
)
);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(p1)
.addComponent(p2)
)
);
JPanel p4 =new JPanel();
p4.setLayout(null);
p4.setPreferredSize(new Dimension(200,30));
/*finish = new JButton("Finish");
finish.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
finish.setRolloverEnabled(false);
finish.setBounds(170,20,60,20);
p4.add(finish);*/
JLabel currentlabel =new JLabel("Current Amount:");
currentlabel.setBounds(300,10,100,20);
p4.add(currentlabel);
currentamount =new JTextField();
currentamount.setBounds(395,10,50,20);
currentamount.setEditable(false);
p4.add(currentamount);
JLabel total =new JLabel("Amount Spent:");
total.setBounds(300,30,100,20);
p4.add(total);
totalamount =new JTextField();
totalamount.setBounds(395,30,50,20);
totalamount.setEditable(false);
p4.add(totalamount);
GroupLayout flayout =new GroupLayout(getContentPane());
getContentPane().setLayout(flayout);
flayout.setAutoCreateGaps(true);
flayout.setAutoCreateContainerGaps(true);
flayout.setHorizontalGroup(flayout.createSequentialGroup()
.addGroup(flayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(p)
.addComponent(p4)
)
);
flayout.setVerticalGroup(flayout.createSequentialGroup()
.addGroup(flayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(flayout.createSequentialGroup()
.addGroup(flayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(p)
)
.addComponent(p4)
)
)
);
setSize(640,460);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
publicstaticvoid main(String[] arg){
new Foodtable().setVisible(true);
}
publicvoid showRecord(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:food","","");
st = con.createStatement();
rs=st.executeQuery("SELECT*FROM tbl_food");
while(rs.next()){
lm.addElement(rs.getString("food_name"));
}
}
catch(Exception sqle){
JOptionPane.showMessageDialog(null,"Exception.......\n" + sqle.getMessage() ,"Error Information",JOptionPane.ERROR_MESSAGE);
}
}
/*public void query(){
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/food?user=password=");
st = con.createStatement();
String sql = "SELECT foodlist.food,foodlist.description FROM foodlist";
rs = st.executeQuery(sql);
while(rs.next()){
lm.addElement(rs.getString(1)+'\n');
}
}catch(Exception ee){
System.out.println(ee);
}
finally{
try{
st.close();
con.close();
}catch(Exception ex){ System.err.println(ex);}
}
}
public void actionPerformed(ActionEvent e){
Object[] value = foodlist.getSelectedValues();
if(e.getSource()==view){
query();
}
if(e.getSource() == move){
for(int i=0;i<value.length;i++){
String word = (String)value[i];
//String foodclass = rs.getString("foodlist.description");
Vector><Object> data = new Vector<Object>();
data.addElement(word);
data.addElement(qtyfield.getText()+" "+box.getSelectedItem());
data.addElement("");
//data.addElement("foodclass");
model.addRow(data);
}
}
}*/
}

