表格代码
DefaultTableModel dtm;
dtm = (DefaultTableModel) jTable1.getModel();
dtm.addRow(new Object[]
{
txtproduct.getText(),
txtprice.getText(),
});
这样,我将数据添加到JTable中,我需要将数据传递到打印框架。
我尝试过这种方式
新打印(total,jTable1.getModel())。setVisible(true);
但显示错误,找不到合适的承包商
Pos.java
String total = txttotal.getText();
new print(total,jTable1.getModel()).setVisible(true);
Print.java
String ltotal;
public print(String name,String age,String total)
{
initComponents();
this.ltotal = total;
txtarea.setText(txtarea.getText() +"************************************\n");
txtarea.setText(txtarea.getText() +"**********LOS Super*********\n");
txtarea.setText(txtarea.getText() +"\n");
txtarea.setText(txtarea.getText() +"Total............" + ltotal + "\n");
}
答案 0 :(得分:1)
如果您要调用implementation 'com.airbnb.android:lottie:2.7.0'
之类的构造函数,则必须这样编写该构造函数:
(我认为您会收到此错误,因为您的程序没有此构造函数。如果添加此构造函数,该错误将消失。)
new print(total,jTable1.getModel())
另一个改进建议:
不必多次调用public print(String total, TableModel tableModel)
{
initComponents();
this.ltotal = total;
txtarea.setText(txtarea.getText() +"************************************\n");
txtarea.setText(txtarea.getText() +"**********LOS Super*********\n");
txtarea.setText(txtarea.getText() +"\n");
txtarea.setText(txtarea.getText() +"Total............" + ltotal + "\n");
txtarea.setText(txtarea.getText() + "Product Price\n");
for (int i = 0; i < tableModel.getRowCount(); i++)
{
String product = (String) tableModel.getValueAt(i, 0);
String price = (String) tableModel.getValueAt(i, 1);
txtarea.setText(txtarea.getText() + product + " " + price + "\n");
}
}
,而是可以将文本附加到txtarea.setText()
变量中,并在末尾仅调用一次String
。
答案 1 :(得分:0)
如果要从其他窗格访问一个Jtable的内容,可以在这里做的一件事是,创建数组维将取决于数据类型,例如,如果有两列,则将有两个维等等。
在这里,您可以将向表提供数据的那个数组设为静态或公共数组,并从其他窗格访问内容。
这是示例代码:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTableExamples {
// frame
JFrame f;
// Table
JTable j;
// Constructor
JTableExamples()
{
// Frame initiallization
f = new JFrame();
// Frame Title
f.setTitle("JTable Example");
// Data to be displayed in the JTable
public String[][] data = {
{ "Kundan Kumar Jha", "4031", "CSE" },
{ "Anand Jha", "6014", "IT" }
};
// Column Names
String[] columnNames = { "Name", "Roll Number", "Department" };
// Initializing the JTable
j = new JTable(data, columnNames);
j.setBounds(30, 40, 200, 300);
// adding it to JScrollPane
JScrollPane sp = new JScrollPane(j);
f.add(sp);
// Frame Size
f.setSize(500, 200);
// Frame Visible = true
f.setVisible(true);
}
// Driver method
public static void main(String[] args)
{
new JTableExamples();
}
}
现在,数组数据是公共的,因此您可以从其他场景访问它。