java显示从一个类中的JText到另一个类中的DefaultTable的信息
为什么我不能使用get方法(从一个类中的JText)检索信息,并在另一个类中的默认表中显示它
请看一下我的代码:http://pastebin.com/cEJ4dyqA
if(event.getSource()=new1) {
for (int i = 0; i < db1.getMovies().size(); i++) {
Movie movie = db1.getMovies().get(i);
{
String data1 = RunMovie.getTitle();
System.out.println("Say:" + RunMovie.getTitle());
String data2 = RunMovie.getActor();
String data3 = RunMovie.getDirector();
Object[] row = {data1, data2,data3};
DefaultTableModel model1 = (DefaultTableModel) table.getModel();
model.addRow(row);
}
}
# 1 楼答案
这是因为在
RunMovie
中声明并初始化3JTextFields
:然后创建另一个字段作为局部方法变量:
创建两组独立的对象。实际上,您的方法
getTitle()
、getActor()
和getDirector()
从类字段中获取数据,但您将数据输入到本地JTextFields,因此总是得到空字符串。您应该在RunMovie中声明所有JTextFields
(例如),如下所示:在方法中,以这种方式初始化它:
但是,要向表中添加位置,需要使用主GUI(
textarea test
)中的Save
按钮,而不是形成额外的MovieDatabase
框架。我认为这是一个基本的想法,你应该用Add按钮来替换MovieDatabase
框架中的Save
按钮,它可以将电影添加到数据库中,如果用户需要,他可以使用save来用电影保存整个表