java – JTable Nimbus外观 – 如何清楚哪个单元格具有焦点

前端之家收集整理的这篇文章主要介绍了java – JTable Nimbus外观 – 如何清楚哪个单元格具有焦点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当在JTable(Nimbus L& F)中编辑数据时,当用户从一个单元格切换到另一个单元格时,不清楚哪个单元格具有焦点.如何更清楚地说明哪个细胞有焦点?我知道有很多属性可以设置来修改Nimbus – 有谁知道我想要哪个属性

下面的屏幕截图只有一个属性设置为默认值以外的其他属性

  1. UIManager.put("Table.showGrid",true);
最佳答案
>你看看Renderer concept,
>默认工作于Nimbus Look and Feel,
>某些问题可能与JButtons components (JCheckBox e.i.)有关,但在此论坛上有几次得到解答或解决

  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Font;
  5. import java.awt.Graphics;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. import java.util.regex.Pattern;
  9. import javax.swing.Icon;
  10. import javax.swing.JComponent;
  11. import javax.swing.JFrame;
  12. import javax.swing.JScrollPane;
  13. import javax.swing.JTable;
  14. import javax.swing.RowSorter.SortKey;
  15. import javax.swing.SortOrder;
  16. import javax.swing.SwingUtilities;
  17. import javax.swing.UIManager;
  18. import javax.swing.table.DefaultTableCellRenderer;
  19. import javax.swing.table.TableColumn;
  20. import javax.swing.table.TableModel;
  21. import javax.swing.table.TableRowSorter;
  22. public class ImageChangeDemo extends JFrame {
  23. private static final long serialVersionUID = 1L;
  24. private JTable table = new javax.swing.JTable();
  25. private JTable table1 = new javax.swing.JTable();
  26. private static Icon ascendingSortIcon;
  27. private static Icon descendingSortIcon;
  28. public static void main(String args[]) {
  29. //comment out the code below to try in Metal L&F
  30. try {
  31. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  32. if ("Nimbus".equals(info.getName())) {
  33. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  34. ascendingSortIcon = UIManager.getLookAndFeelDefaults().getIcon("Table.ascendingSortIcon");
  35. descendingSortIcon = UIManager.getLookAndFeelDefaults().getIcon("Table.descendingSortIcon");
  36. //UIManager.getLookAndFeelDefaults().put("Table.ascendingSortIcon",new BevelArrowIcon(BevelArrowIcon.UP,false,false));
  37. //UIManager.getLookAndFeelDefaults().put("Table.descendingSortIcon",new BevelArrowIcon(BevelArrowIcon.DOWN,false));
  38. break;
  39. }
  40. }
  41. } catch (Exception ex) {
  42. ex.printStackTrace();
  43. }
  44. java.awt.EventQueue.invokeLater(new Runnable() {
  45. @Override
  46. public void run() {
  47. new ImageChangeDemo().setVisible(true);
  48. }
  49. });
  50. }
  51. public ImageChangeDemo() {
  52. setDefaultCloSEOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  53. JScrollPane pane = new javax.swing.JScrollPane();
  54. //table.setAutoCreateRowSorter(true);
  55. table.setModel(new javax.swing.table.DefaultTableModel(
  56. new Object[][]{
  57. {"a","q","h","v"},{"b","m","l","h"},{"d","c","a","d"},{"j","o","y","e"}
  58. },new String[]{
  59. "Col 1","Col 2","Col 3","Col 4"
  60. }) {
  61. private static final long serialVersionUID = 1L;
  62. Class[] types = new Class[]{
  63. String.class,String.class,String.class
  64. };
  65. @Override
  66. public Class getColumnClass(int columnIndex) {
  67. return types[columnIndex];
  68. }
  69. });
  70. TableRowSorter

猜你在找的Java相关文章