1 3 27 28 30 package de.qfs.apps.qflog.command; 31 32 34 import java.awt.Frame ; 35 36 import javax.swing.JTable ; 37 import javax.swing.SwingUtilities ; 38 39 import de.qfs.lib.command.Command; 40 import de.qfs.lib.command.CommandException; 41 import de.qfs.lib.command.Invokable; 42 import de.qfs.lib.gui.FilteredAndSortedTableModel; 43 import de.qfs.lib.log.Log; 44 import de.qfs.lib.log.Logger; 45 46 import de.qfs.apps.qflog.Model; 47 48 50 57 public class CommandOpenLogView extends Command 58 implements Invokable 59 { 60 62 65 private final static Logger logger = new Logger (CommandOpenLogView.class); 66 67 70 private JTable table; 71 72 75 private int row = -1; 76 77 79 81 87 public CommandOpenLogView (Object source, JTable table) 88 89 { 90 super (source); 91 if (logger.level >= Log.MTD) { 92 logger.log(Log.MTD, "CommandOpenLogView(Object,ViewTable)", 93 logger.level < Log.MTDDETAIL ? "" : 94 "source: " + source + ", " + 95 "table: " + table); 96 } 97 this.table = table; 98 } 99 100 107 public CommandOpenLogView (Object source, JTable table, int row) 108 109 { 110 super (source); 111 if (logger.level >= Log.MTD) { 112 logger.log(Log.MTD, "CommandOpenLogView(Object,ViewTable)", 113 logger.level < Log.MTDDETAIL ? "" : 114 "source: " + source + ", " + 115 "table: " + table); 116 } 117 this.table = table; 118 this.row = row; 119 } 120 121 123 125 132 public Object invoke() 133 throws CommandException 134 { 135 if (logger.level >= Log.MTD) { 136 logger.log(Log.MTD, "invoke()", ""); 137 } 138 139 if (row == -1) { 140 row = table.getSelectedRow(); 141 } 142 if (row >= 0) { 143 row = ((FilteredAndSortedTableModel) table.getModel()) 144 .getMappedRow(row); 145 final Frame frame = 146 Model.instance().getFrameForRow(row); 147 frame.show(); 148 frame.requestFocus(); 149 } 150 return null; 151 } 152 153 } 155 | Popular Tags |