Advertisement
Guest User

mainGUI.java

a guest
Aug 28th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.55 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import javax.swing.border.EmptyBorder;
  3. import javax.swing.JButton;
  4. import javax.swing.JFrame;
  5. import java.awt.BorderLayout;
  6. import javax.swing.JOptionPane;
  7. import javax.swing.JPanel;
  8. import javax.swing.JScrollPane;
  9. import javax.swing.JTable;
  10. import javax.swing.ListSelectionModel;
  11. import javax.swing.table.TableCellRenderer;
  12. import javax.swing.UIManager;
  13.  
  14. public class mainGUI extends JFrame{
  15.     JPanel panel;
  16.     JTable table;
  17.     Object[][] list;
  18.    
  19.     public mainGUI(boolean example){
  20.        
  21.         try{
  22.             UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  23.         }catch(Exception e){
  24.             //Do nothing
  25.         }
  26.        
  27.         panel = new JPanel(new BorderLayout());
  28.         update();
  29.         panel.add(new JScrollPane(table));
  30.         panel.setBorder(new EmptyBorder(2, 2, 2, 2));
  31.        
  32.         this.add(panel, BorderLayout.CENTER);
  33.        
  34.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  35.         this.setTitle("Example");
  36.         this.setSize(200,300);
  37.         this.setVisible(true);
  38.        
  39.         if(example){ action(2); } //Example
  40.        
  41.     }//End of constructor
  42.    
  43.     private JTable buildTable(){
  44.         String[] columns = {"Name", "Number", "Action"};
  45.         list = new Object[5][3]; //Assume there is 5 values on the list
  46.         list[0][0] = "Fred";
  47.         list[1][0] = "Allison";
  48.         list[2][0] = "John";
  49.         list[3][0] = "Kelly";
  50.         list[4][0] = "Jamie";
  51.         for(int i = 0; i < 5; i++){
  52.             list[i][1] = Integer.toString((int)(Math.random() * 100 + 1));
  53.             if(i % 2 == 0){
  54.                 list[i][2] = new JButton("Activate Me");
  55.             }else{
  56.                 list[i][2] = new JButton("Activate!");
  57.             }
  58.         }//End of for loop
  59.        
  60.         //JTable
  61.         JTable table = new JTable(new customTable(list, columns));
  62.        
  63.         //Column Buttons
  64.         TableCellRenderer buttonRenderer = new JTableButtonRenderer();
  65.         table.getColumn("Action").setCellRenderer(buttonRenderer);
  66.         table.addMouseListener(new JTableButtonMouseListener(table));
  67.        
  68.         //Misc
  69.         table.setFillsViewportHeight(true);
  70.         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  71.        
  72.         //Return
  73.         return table;
  74.     }//End of buildTable method
  75.    
  76.     private void update(){
  77.         table = buildTable();
  78.         panel.removeAll();
  79.         panel.updateUI();
  80.         panel.add(new JScrollPane(table));
  81.     } //End of update method
  82.    
  83.     public void action(int selection){
  84.         String message = list[selection][0] + " has number of " + list[selection][1];
  85.         JOptionPane.showMessageDialog(this, message);
  86.         update();
  87.     }//end of action method
  88.    
  89.     public static void main(String[] args){
  90.         boolean example = false;
  91.         if(args.length != 0){
  92.             example = true;
  93.         }
  94.         new mainGUI(example);
  95.     }//End of main method
  96. } //End of class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement