我有一个JTable
,其列名为" Names "
," Quantity "
和" Unit "
。
我正在编写一个程序来获取成分名称。
所以我需要得到一列的整行并将它们串起来,
因为我需要将它存储在mySql中,我已经将它全部设置为String。
知道我怎么能这样做吗?
我的代码如下:
JTable代码:
DefaultTableModel model = (DefaultTableModel)table.getModel();
if(!txtQty.getText().trim().equals("")){
model.addRow(new Object[]{ingCB.getSelectedItem().toString(),txtQty.getText(),unitCB.getSelectedItem().toString()});
}else{
JOptionPane.showMessageDialog(null,"*Quantity field left blank");
}
获取值并存储:
for(int i = 1; i<= i ; i++){
ingredients = table.getName();
}
这对for循环是错误的并且它不起作用,因为我有一个构造函数来接受Ingredients但是因为它在循环内部,它不能接受它。 有什么建议吗?谢谢。
构造函数:
Food e2 = new Food(Name, Description, priceDbl, Image, Category, Ingredients, promotion );
e2.createFood();
答案 0 :(得分:1)
我正在编写一个程序,您可以在其中获取成分名称。所以我需要获取一列的整行并将它们串起来,因为我需要将它存储在mySql中,并且我已经将它全部设置为String。
想要这样做,试试这个。在这里,我得到的结果是ArrayList
和String
,因为我评论ArrayList
你可以避免它。
public class TableValuePrint extends JFrame implements ActionListener{
private final JButton print;
private final JTable table;
private String str="";
public TableValuePrint() {
setSize(600, 300);
String[] columnNames = {"A", "B", "C"};
Object[][] data = {
{"Moni", "adsad", "Pass"},
{"Jhon", "ewrewr", "Fail"},
{"Max", "zxczxc", "Pass"}
};
table = new JTable(data, columnNames);
JScrollPane tableSP = new JScrollPane(table);
JPanel tablePanel = new JPanel();
tablePanel.add(tableSP);
tablePanel.setBackground(Color.red);
add(tablePanel);
setTitle("Result");
setSize(1000,700);
print=new JButton("Print");
JPanel jpi1 = new JPanel();
jpi1.add(print);
tablePanel.add(jpi1,BorderLayout.SOUTH);
print.addActionListener(this);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TableValuePrint ex = new TableValuePrint();
ex.setVisible(true);
}
});
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==print){
// ArrayList list = new ArrayList();
for(int i = 0;i<table.getModel().getRowCount();i++)
{
//list.add(table.getModel().getValueAt(i, 0)); //get the all row values at column index 1
str=str+table.getModel().getValueAt(i,0).toString();
}
//System.out.println("List="+list);
System.out.println("String="+str);
}
}
}
<强>输出强>
的字符串= MoniJhonMax