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
tomenuEditJobActionPerformed
方法,以便显示对象的所有值。当事件发生时,如何从valueChanged
传递此信息?我只是在使用一个表,当选择一行时,dto状态发生变化,需要在您的类GUI{
声明之后立即将这个新状态传递给类Job\u GUI actionperformed方法Declaredto
这样,它将具有全局范围,以便您的所有函数都可以看到它
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
时禁用关联的菜单项。不能使用直接引用,除非引入managemListDataUI
中不属于那里的ent代码-IMHO