السلام عليكم ورحمة الله وبركاته
لو سمحتم كيف استطيع اضافة mouse listener
ليس الى الجدول بشكل كلي ولكن الى الخلايا بحيث بمجرد تعبئة قيمة خلية معينة والخروج منها يطبع قيمتها
يعني ما يشبه ال mouse Enter في ال textfeild
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package readexcel;
import java.awt.Color;
import java.awt.Component;
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
public class MouseHoverTable extends JFrame
{
int itsRow =0;
int itsColumn = 0;
JTable itsTable;
MouseHoverTable(String framename)
{
super(framename);
//itsTable = new JTable( 5, 3 );
itsTable = new javax.swing.JTable();
itsTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Instructor Name", "Instructor Room", "Instructor load", "Extra load"
}
));
itsTable.setDefaultRenderer(Object.class, new AttributiveCellRenderer());
MyMouseAdapter aMouseAda = new MyMouseAdapter();
itsTable.addMouseMotionListener(aMouseAda);
JScrollPane jsp = new JScrollPane(itsTable);
this.getContentPane().add(itsTable);
}
public static void main(String[] args)
{
JFrame frame = new MouseHoverTable("Table Example");
frame.pack();
frame.show();
}
class MyMouseAdapter extends MouseAdapter // extends MouseAdapter
{
@Override
public void mouseExited(MouseEvent e)
{
JTable aTable = (JTable)e.getSource();
itsRow = aTable.rowAtPoint(e.getPoint());
itsColumn = aTable.columnAtPoint(e.getPoint());
}
}
class AttributiveCellRenderer extends JLabel implements TableCellRenderer {
public AttributiveCellRenderer() {
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int
column) {
if(row == itsRow && column == itsColumn)
{
System.out.println(this.getText());
}
return this;
}
}
}