Guest User

Untitled

a guest
Aug 7th, 2012
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. HyperLinks in JXTable column, populated from database
  2. Table_Employee.addMouseListener(new MouseAdapter() {
  3. public void mouseClicked(MouseEvent e) {
  4. if (e.getClickCount() == 2) {
  5. JXTable target = (JXTable)e.getSource();
  6. int row = target.getSelectedRow();
  7. int column = target.getSelectedColumn();
  8. JFrame newFrame = new JFrame(); //I want to open an distinc link
  9. newFrame.setTitle("Detail Screen"); //for every cell along one column
  10. newFrame.setVisible(true); //in the web browser, not a frame.
  11. }
  12. }
  13. });
  14.  
  15. Table_Employee.addMouseListener(new MouseAdapter() {
  16. public void mouseClicked(MouseEvent e) {
  17. if (e.getClickCount() == 1) {
  18. JXTable target = (JXTable)e.getSource();
  19. int row = target.getSelectedRow();
  20. int column = target.getSelectedColumn();
  21. AbstractHyperlinkAction<Object> simpleAction = new AbstractHyperlinkAction<Object>(null) {
  22.  
  23. public void actionPerformed(ActionEvent e) {
  24. //open the browser event?
  25. }
  26. };
  27.  
  28. TableCellRenderer renderer = new DefaultTableRenderer(
  29. new HyperlinkProvider(simpleAction));
  30. Table_Employee.getColumnExt(2).setEditable(false);
  31. Table_Employee.getColumnExt(2).setCellRenderer(renderer);
  32. }
  33. }
  34. });
  35.  
  36. JXTable table = new JXTable(myModel);
  37. AbstractHyperlinkAction<Object> simpleAction = new AbstractHyperlinkAction<Object>(null) {
  38.  
  39. public void actionPerformed(ActionEvent e) {
  40. // here goes what you want to do on activating the hyperlink
  41. //LOG.info("hit: " + getTarget());
  42. }
  43.  
  44. };
  45. TableCellRenderer renderer = new DefaultTableRenderer(
  46. new HyperlinkProvider(simpleAction));
  47. table.getColumnExt(0).setEditable(false);
  48. table.getColumnExt(0).setCellRenderer(renderer);
  49.  
  50. TableCellRenderer renderer = new DefaultTableRenderer(
  51. new HyperlinkProvider(new HyperlinkAction()));
  52. table.getColumnExt(0).setEditable(false);
  53. table.getColumnExt(0).setCellRenderer(renderer);
  54.  
  55. DefaultTableModel model = new DefaultTableModel(...) {
  56.  
  57. @Override
  58. Class<?> getColumnClass(int column) {
  59. if (column == hyperlinkColumn) {
  60. return URI.class;
  61. }
  62. ... // handle other columns
  63. return super.getColumnClass(column);
  64. }
  65.  
  66. @Override
  67. boolean isCellEditable(int row, int column) {
  68. if (column == hyperlinkColumn) {
  69. return false;
  70. }
  71. ... // handle other columns
  72. return super.isCellEditable(row, column);
  73. }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment