客户资料填加资料,欲在该界面中输入详细客户资料
包括客户名称,联系方式等,以及客户购买的产品信息
如何处理用户输入产品信息之后生成产品对象?
客户资料已经可以处理,就是不知道如何实现表格处理
另外还想将机器型号,购买途径,安装人员设定为下拉菜单以供选择
菜单具体内容通过数据库获得,源代码见附件class MachineTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 1L;
Object[][] data= new String[5][6];
Object[] column= new String[]{"机器型号","机身号码","购买途径","购买时间","安装人员","安装时间"};
public MachineTableModel(){
addTableModelListener(new MachineTableModelListener());
}
public int getRowCount(){
return data.length;
}
public int getColumnCount(){
return column.length;
}
public String getColumnName(int i){
return column[i].toString();
} public Object getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Object object, int row, int col){
data[row][col]= object;
fireTableDataChanged();
}
public boolean isCellEditable(int i, int j){
return true;
}
class MachineTableModelListener implements TableModelListener{
public void tableChanged(TableModelEvent e) {
for(int i= 0; i< data.length; i++){
for(int j= 0; j< data[0].length; j++){
System.out.println(data[i][j]);
}
}
}
}
}
Machine类源码如下:
public class Machine {
private String index;
private String name, sn;
private String buy_from, buy_date;
private String install, in_date;
public Machine(){
}
public Machine(String name){
this.name= name;
}
public Machine(String name, String sn){
this.name= name;
this.sn= sn;
}
public boolean add(){
boolean flag= false;
String sql= "INSERT INTO machine(name, sn, buy_from, buy_date, install, in_date) VALUES('"+ name+ "','"+ sn + "','"+ buy_from + "','"+ buy_date + "','"+ install+ "','"+ in_date+ "');";
DbConnect dbConn= new DbConnect();
try{
int i= dbConn.executeUpdate(sql);
if(i!= 0){
flag= true;
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
dbConn.close();
}
return flag;
}
}
包括客户名称,联系方式等,以及客户购买的产品信息
如何处理用户输入产品信息之后生成产品对象?
客户资料已经可以处理,就是不知道如何实现表格处理
另外还想将机器型号,购买途径,安装人员设定为下拉菜单以供选择
菜单具体内容通过数据库获得,源代码见附件class MachineTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 1L;
Object[][] data= new String[5][6];
Object[] column= new String[]{"机器型号","机身号码","购买途径","购买时间","安装人员","安装时间"};
public MachineTableModel(){
addTableModelListener(new MachineTableModelListener());
}
public int getRowCount(){
return data.length;
}
public int getColumnCount(){
return column.length;
}
public String getColumnName(int i){
return column[i].toString();
} public Object getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Object object, int row, int col){
data[row][col]= object;
fireTableDataChanged();
}
public boolean isCellEditable(int i, int j){
return true;
}
class MachineTableModelListener implements TableModelListener{
public void tableChanged(TableModelEvent e) {
for(int i= 0; i< data.length; i++){
for(int j= 0; j< data[0].length; j++){
System.out.println(data[i][j]);
}
}
}
}
}
Machine类源码如下:
public class Machine {
private String index;
private String name, sn;
private String buy_from, buy_date;
private String install, in_date;
public Machine(){
}
public Machine(String name){
this.name= name;
}
public Machine(String name, String sn){
this.name= name;
this.sn= sn;
}
public boolean add(){
boolean flag= false;
String sql= "INSERT INTO machine(name, sn, buy_from, buy_date, install, in_date) VALUES('"+ name+ "','"+ sn + "','"+ buy_from + "','"+ buy_date + "','"+ install+ "','"+ in_date+ "');";
DbConnect dbConn= new DbConnect();
try{
int i= dbConn.executeUpdate(sql);
if(i!= 0){
flag= true;
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
dbConn.close();
}
return flag;
}
}
/**
*
*/
private static final long serialVersionUID = 1L; java.util.ArrayList<Machine> mList=new java.util.Arraylist<Machine>();
Object[] column= new String[]{"机器型号","机身号码","购买途径","购买时间","安装人员","安装时间"};
public MachineTableModel(){
addTableModelListener(new MachineTableModelListener());
}
public int getRowCount(){
return mList.size();
} public int getColumnCount(){
return column.legnth;
} public String getColumnName(int i){
return column[i];
} public Object getValueAt(int row, int col) {
Machine m=mList.get(row);
if(i==0)
return m.getIndex();
else if(i==1)
return m.getName();
...
} public void setValueAt(Object object, int row, int col){
Machine m=mList.get(row);
if(i==0)
m.setIndex(object);
else if(i==1)
m.setName(object);
...fireTableDataChanged();
} public boolean isCellEditable(int i, int j){
return true;
} class MachineTableModelListener implements TableModelListener{
public void tableChanged(TableModelEvent e) {
for(Machine m: mList){
for(int j= 0; j < column.length; j++){
if(i==0)
System.out.print(m.getIndex()+"\t");
else if(i==1)
System.out.print(m.getName()+"\t");
...
}
System.out.println();}
}
}
}
List list = 查询数据库;
for(Object o: list) {
box.addItem(o);
}TableColumn column = table.getColumn("机器型号");
column.setCellEditor(new DefaultCellEditor(box));
...
图形界面如图所示,没有出现空白表格等待用户输入
这个如何去改啊?