Java 从重写的方法获取对象

Java 从重写的方法获取对象,java,events,methods,jtable,listselectionlistener,Java,Events,Methods,Jtable,Listselectionlistener,我不知道如何获得BaseDTO对象dtotomenuEditJobActionPerformed方法,以便显示对象的所有值。当事件发生时,如何从valueChanged传递此信息?我只是在使用一个表,当选择一行时,dto状态发生变化,需要在您的类GUI{声明之后立即将这个新状态传递给类Job\u GUI actionperformed方法Declaredto 这样,它将具有全局范围,以便您的所有函数都可以看到它 public class Job_GUI extends javax.swing.J

我不知道如何获得
BaseDTO
对象
dto
to
menuEditJobActionPerformed
方法,以便显示对象的所有值。当事件发生时,如何从
valueChanged
传递此信息?我只是在使用一个表,当选择一行时,dto状态发生变化,需要在您的
类GUI{
声明之后立即将这个新状态传递给类Job\u GUI actionperformed方法

Declare
dto

这样,它将具有全局范围,以便您的所有函数都可以看到它

public class Job_GUI extends javax.swing.JFrame {

    private JobDTO jdto;

    public Job_GUI() {
        initComponents();
    }

      private void menuEditJobActionPerformed(java.awt.event.ActionEvent evt) {
            editJob.setVisible(true);
            //here I want to obtain the updated dto. 
        }

  } 


public class JobDTO extends BaseDTO {
//setters and getters

}


class ListDataUI { 

    private void initListeners() {
        summaryTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        summaryTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent e) {
                if (!e.getValueIsAdjusting()) {
                    final int selectedRowIndex = summaryTable.getSelectedRow();
                    if (selectedRowIndex != -1) {
                        BaseDTO dto = data.get(summaryTable.convertRowIndexToModel(selectedRowIndex));
                    } else {
                    }
                }
            }
        });

    }

}
类GUI{ 以dto为基础; private void menuEditJobActionPerformed(java.awt.event.ActionEvent evt){ editJob.setVisible(true); //现在您可以访问“dto” } } 类ListDataUI{ 私有void initListeners(){ summaryTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); summaryTable.getSelectionModel().addListSelectionListener(新建ListSelectionListener()){ @凌驾 public void值已更改(ListSelectionEvent e){ 如果(!e.getValueIsAdjusting()){ final int selectedRowIndex=summaryTable.getSelectedRow(); 如果(selectedRowIndex!=-1){ /*BaseDTO*/dto=data.get(summaryTable.convertRowIndexToModel(selectedRowIndex)); //不声明新对象 }否则{ } } } }); } }
类GUI{
声明之后立即声明
dto

这样,它将具有全局范围,以便您的所有函数都可以看到它

public class Job_GUI extends javax.swing.JFrame {

    private JobDTO jdto;

    public Job_GUI() {
        initComponents();
    }

      private void menuEditJobActionPerformed(java.awt.event.ActionEvent evt) {
            editJob.setVisible(true);
            //here I want to obtain the updated dto. 
        }

  } 


public class JobDTO extends BaseDTO {
//setters and getters

}


class ListDataUI { 

    private void initListeners() {
        summaryTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        summaryTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent e) {
                if (!e.getValueIsAdjusting()) {
                    final int selectedRowIndex = summaryTable.getSelectedRow();
                    if (selectedRowIndex != -1) {
                        BaseDTO dto = data.get(summaryTable.convertRowIndexToModel(selectedRowIndex));
                    } else {
                    }
                }
            }
        });

    }

}
类GUI{ 以dto为基础; private void menuEditJobActionPerformed(java.awt.event.ActionEvent evt){ editJob.setVisible(true); //现在您可以访问“dto” } } 类ListDataUI{ 私有void initListeners(){ summaryTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); summaryTable.getSelectionModel().addListSelectionListener(新建ListSelectionListener()){ @凌驾 public void值已更改(ListSelectionEvent e){ 如果(!e.getValueIsAdjusting()){ final int selectedRowIndex=summaryTable.getSelectedRow(); 如果(selectedRowIndex!=-1){ /*BaseDTO*/dto=data.get(summaryTable.convertRowIndexToModel(selectedRowIndex)); //不声明新对象 }否则{ } } } }); } }
OP不能使用getter和setter方法吗?@Smit No。在这种情况下,它们是毫无意义的。getter和setter被过度使用。使用setter将允许OP在值为
null
时禁用关联的菜单项。如果不在
ListDataUI中引入管理代码,则无法直接引用de>不属于那里-IMHOOP不能使用getter和setter方法吗?@Smit否。在这种情况下,它们是毫无意义的。getter和setter被过度使用。使用setter将允许OP在值为
null
时禁用关联的菜单项。不能使用直接引用,除非引入managem
ListDataUI
中不属于那里的ent代码-IMHO