关于JTable鼠标悬停效果 谁能给一个鼠标在Jtable中悬停效果的例子啊,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 添加MouseMotionListener动作监听,在mouseMoved方法中写代码。 package com.swing.jtable;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.EventQueue;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionAdapter;import java.util.Vector;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.SwingConstants;import javax.swing.SwingUtilities;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;public class JTableMouseMovingEvent extends JFrame { /** * */ private static final long serialVersionUID = 1L; /** */ private JTable table; /** */ private String[] columnName = new String[] {"title1", "name", "age" }; /** */ private DefaultTableModel model = null; /** */ private int rowCount = -1; /** * Launch the application * * @param args */ public static void main(String args[]) { EventQueue.invokeLater(new Runnable() { public void run() { try { JTableMouseMovingEvent frame = new JTableMouseMovingEvent(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame */ public JTableMouseMovingEvent() { super(); setBounds(100, 100, 500, 375); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); getContentPane().add(panel, BorderLayout.CENTER); final JScrollPane scrollPane = new JScrollPane(); panel.add(scrollPane, BorderLayout.CENTER); table = new JTable(); table.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseMoved(final MouseEvent e) { rowCount = table.rowAtPoint(e.getPoint()); int row = table.rowAtPoint(e.getPoint()); int col = table.columnAtPoint(e.getPoint()); table.setRowSelectionInterval(row, row); table.setColumnSelectionInterval(col, col); } }); table.addMouseListener(new java.awt.event.MouseAdapter() { @Override public void mouseReleased(java.awt.event.MouseEvent e) { if (e.getClickCount() == 1 && SwingUtilities.isRightMouseButton(e)) { int row = table.rowAtPoint(e.getPoint()); int col = table.columnAtPoint(e.getPoint()); table.setRowSelectionInterval(row, row); table.setColumnSelectionInterval(col, col); } } }); scrollPane.setViewportView(table); model = new DefaultTableModel(null, columnName); Vector<String> row = null; for (int i = 0; i < 10; i++) { row = new Vector<String>(); row.add("" + i); row.add("table" + i); row.add("" + (20 + i)); model.addRow(row); } table.setModel(model); table.setDefaultRenderer(Object.class, new TableCellRenderer()); // } class TableCellRenderer extends DefaultTableCellRenderer { /** */ private static final long serialVersionUID = -5172589582171358319L; /** {@inheritDoc} */ @Override public Component getTableCellRendererComponent(JTable jtable, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JLabel label = (JLabel) super.getTableCellRendererComponent(jtable, value, isSelected, hasFocus, row, column); label.setHorizontalAlignment(SwingConstants.CENTER); if (row == rowCount) { label.setBackground(new Color(200, 200, 200)); } else { label.setBackground(new Color(255, 255, 255)); } return label; } }} 没明白楼主要实现什么功能什么叫鼠标在Jtable中悬停效果? Object.addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { } }); 悬停效果是什么意思?改外观?setCursor java变量作用域的小问题 Java applet无法显示 用Swing 设计一个注册,登录页面,不要用数据据库!急啊! 1 2 3 4 5 什么情况下等于35? 运行结果怎么会是这样?? 有关char与byte数组的相互转化问题 在用beanshell时,如何把类中的对象传到beanshell可以解析的.bsh文件中去使用? 考试了,碰到这道创建矩阵的题,哪位知道的给个代码吧! 我是初学者:JDK安装问题 native2ascii的用法 反序列化时遇到异常 使用Substance 时报错,大家帮忙解决.谢谢了!
package com.swing.jtable;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;public class JTableMouseMovingEvent extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L; /** */
private JTable table; /** */
private String[] columnName = new String[] {"title1", "name", "age" }; /** */
private DefaultTableModel model = null; /** */
private int rowCount = -1; /**
* Launch the application
*
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JTableMouseMovingEvent frame = new JTableMouseMovingEvent();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the frame
*/
public JTableMouseMovingEvent() {
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
getContentPane().add(panel, BorderLayout.CENTER); final JScrollPane scrollPane = new JScrollPane();
panel.add(scrollPane, BorderLayout.CENTER); table = new JTable();
table.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(final MouseEvent e) {
rowCount = table.rowAtPoint(e.getPoint());
int row = table.rowAtPoint(e.getPoint());
int col = table.columnAtPoint(e.getPoint());
table.setRowSelectionInterval(row, row);
table.setColumnSelectionInterval(col, col);
}
}); table.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseReleased(java.awt.event.MouseEvent e) {
if (e.getClickCount() == 1
&& SwingUtilities.isRightMouseButton(e)) {
int row = table.rowAtPoint(e.getPoint());
int col = table.columnAtPoint(e.getPoint());
table.setRowSelectionInterval(row, row);
table.setColumnSelectionInterval(col, col);
}
}
}); scrollPane.setViewportView(table);
model = new DefaultTableModel(null, columnName);
Vector<String> row = null;
for (int i = 0; i < 10; i++) {
row = new Vector<String>();
row.add(""
+ i);
row.add("table"
+ i);
row.add(""
+ (20 + i));
model.addRow(row);
}
table.setModel(model);
table.setDefaultRenderer(Object.class, new TableCellRenderer());
//
} class TableCellRenderer extends DefaultTableCellRenderer {
/** */
private static final long serialVersionUID = -5172589582171358319L; /** {@inheritDoc} */
@Override
public Component getTableCellRendererComponent(JTable jtable, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel label =
(JLabel) super.getTableCellRendererComponent(jtable, value,
isSelected, hasFocus, row, column);
label.setHorizontalAlignment(SwingConstants.CENTER);
if (row == rowCount) {
label.setBackground(new Color(200, 200, 200));
} else {
label.setBackground(new Color(255, 255, 255));
} return label;
}
}}
什么叫鼠标在Jtable中悬停效果?
Object.addMouseTrackListener(new MouseTrackAdapter() {
@Override
public void mouseEnter(MouseEvent e) {
}
});
改外观?setCursor