如何修复游标类型或防止其更改
How to fix cursor type or prevent it from changing
我正在研究 Jtable,我使用以下方法固定了列宽:
colModel.getColumn(0).setMinWidth(15);
colModel.getColumn(0).setMaxWidth(15);
colModel.getColumn(0).setPreferredWidth(15);
但即便如此,当鼠标悬停在 table edges/borders 上时,双向箭头光标似乎在提示用户展开列。我希望在整个对话框中固定光标类型,或者阻止它在此特定实例中更改为此光标。
好像可以用TableColumn#setResizable(false)的方法一起用
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class ResizeCursorTest {
public JComponent makeUI() {
JTable table = new JTable(new DefaultTableModel(10, 3));
TableColumnModel colModel = table.getColumnModel();
colModel.getColumn(0).setMinWidth(15);
colModel.getColumn(0).setMaxWidth(15);
colModel.getColumn(0).setPreferredWidth(15);
colModel.getColumn(0).setResizable(false);
JPanel p = new JPanel(new BorderLayout());
p.add(new JScrollPane(table));
return p;
}
public static void main(String... args) {
EventQueue.invokeLater(() -> {
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(new ResizeCursorTest().makeUI());
f.setSize(320, 240);
f.setLocationRelativeTo(null);
f.setVisible(true);
});
}
}
我正在研究 Jtable,我使用以下方法固定了列宽:
colModel.getColumn(0).setMinWidth(15);
colModel.getColumn(0).setMaxWidth(15);
colModel.getColumn(0).setPreferredWidth(15);
但即便如此,当鼠标悬停在 table edges/borders 上时,双向箭头光标似乎在提示用户展开列。我希望在整个对话框中固定光标类型,或者阻止它在此特定实例中更改为此光标。
好像可以用TableColumn#setResizable(false)的方法一起用
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class ResizeCursorTest {
public JComponent makeUI() {
JTable table = new JTable(new DefaultTableModel(10, 3));
TableColumnModel colModel = table.getColumnModel();
colModel.getColumn(0).setMinWidth(15);
colModel.getColumn(0).setMaxWidth(15);
colModel.getColumn(0).setPreferredWidth(15);
colModel.getColumn(0).setResizable(false);
JPanel p = new JPanel(new BorderLayout());
p.add(new JScrollPane(table));
return p;
}
public static void main(String... args) {
EventQueue.invokeLater(() -> {
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(new ResizeCursorTest().makeUI());
f.setSize(320, 240);
f.setLocationRelativeTo(null);
f.setVisible(true);
});
}
}