告诉我有一个表格
public class MainFrame extends JFrame {
private int colThread=0;
MainThread mt=new MainThread("Поток - 1");
public MainFrame()
{
setSize(300,300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTable jTable=new JTable(20,4);
jTable.setRowHeight(20);
jTable.addMouseListener(new RightMouse());
add(jTable);
}
}
还有一个右键监听类
public class RightMouse extends MouseAdapter{
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
if (e.getButton()==MouseEvent.BUTTON3)
{
JPopupMenu popupMenu = new TableMenu(e);
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
private class TableMenu extends JPopupMenu
{
JMenuItem anMenu;
public TableMenu(MouseEvent event) {
this.anMenu = new JMenuItem("Увеличить ширину строки");
add(anMenu);
this.anMenu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (event.getComponent() instanceof JTable)
{
JTable table = (JTable) event.getComponent();
try {
table.setRowHeight(table.getRowHeight() + 10);
}catch (IllegalArgumentException err)
{
table.setRowHeight(10);
}
}
}
});
this.anMenu = new JMenuItem("Уменьшить ширину строки");
add(anMenu);
this.anMenu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (event.getComponent() instanceof JTable)
{
JTable table = (JTable) event.getComponent();
try {
table.setRowHeight(table.getRowHeight() - 10);
}catch (IllegalArgumentException err)
{
table.setRowHeight(10);
}
}
}
});
}
}
}
问题是我怎样才能改变某一行的高度,鼠标指针当前可以在该行上,而不是表中的所有行
以下文章帮助了 https://javaswing.wordpress.com/2009/09/16/jtable_right_button_selection/