2008:SOFTENG702: Difference between revisions

From Marks Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
*[[2008:SOFTENG702:InterfacesForPhysicalPlay|Interfaces for physical play]]
*[[2008:SOFTENG702:InterfacesForPhysicalPlay|Interfaces for physical play]]
-->
-->
https://www.se.auckland.ac.nz/wiki2008/index.php?title=SE702:JavaTableWidget




Line 10: Line 12:
#*Sort according to a primary column, then according to a secondary column (reverse order too?).
#*Sort according to a primary column, then according to a secondary column (reverse order too?).
#*Sort by ascending and descending.
#*Sort by ascending and descending.
#*Bucket Sort
#Search for rows.
#Search for rows.
#*Searching in a column by typing in a text string - have the focus jump to matching cells as you type (For cells containing text)
#*Searching in a column by typing in a text string - have the focus jump to matching cells as you type (For cells containing text)
Line 18: Line 21:
==Design==
==Design==
The table can be built using swing components - It can extend JComponent. JButtons for columns and JTextFields or JLables for rows. Buttons would make it easy to capture the click. We can take in a table model like JTable or a 2d array.  
The table can be built using swing components - It can extend JComponent. JButtons for columns and JTextFields or JLables for rows. Buttons would make it easy to capture the click. We can take in a table model like JTable or a 2d array.  
2D array - Nicely laid out already, easy to deal with.
*2D array - Nicely laid out already, easy to deal with.
TableModel - Its the way JTable does it, programmers know how to deal with it.
*TableModel - Its the way JTable does it, programmers know how to deal with it.
We will may have to make our own SortableTableData class which holds the sorted information.
We will may have to make our own SortableTableData class which holds the sorted information.


We can use the ALM example from class.


We can use
We can use the ALM example from class to create the areas.
 
 
We can maintain an array of sorted columns objects. Each object can store the dirrection of sorting and the column number. The order of objects in the array can determine the order of priority. The sorting class can maintain this array. When a new button is clicked,  an additional sorting object will be created and added to the array in the SortingTableModel. This will be passed into the SortingTableModel which will then be compare the array of already sorted elements. The point along the array where the sorting is different is where the class will start to sort from. The sorting algorithm could work by considering "buckets" of sorted rows, and sorting within those buckets.

Revision as of 05:02, 18 May 2008


https://www.se.auckland.ac.nz/wiki2008/index.php?title=SE702:JavaTableWidget


Initial list of objectives

  1. Sort the rows to a column.
  2. Sort by multiple columns.
    • Sort according to a primary column, then according to a secondary column (reverse order too?).
    • Sort by ascending and descending.
    • Bucket Sort
  3. Search for rows.
    • Searching in a column by typing in a text string - have the focus jump to matching cells as you type (For cells containing text)
  4. Redundancy free columns
    • Having duplicate entries in a column span several rows.
  5. Strong border - This will likely not be implemented.

Design

The table can be built using swing components - It can extend JComponent. JButtons for columns and JTextFields or JLables for rows. Buttons would make it easy to capture the click. We can take in a table model like JTable or a 2d array.

  • 2D array - Nicely laid out already, easy to deal with.
  • TableModel - Its the way JTable does it, programmers know how to deal with it.

We will may have to make our own SortableTableData class which holds the sorted information.


We can use the ALM example from class to create the areas.


We can maintain an array of sorted columns objects. Each object can store the dirrection of sorting and the column number. The order of objects in the array can determine the order of priority. The sorting class can maintain this array. When a new button is clicked, an additional sorting object will be created and added to the array in the SortingTableModel. This will be passed into the SortingTableModel which will then be compare the array of already sorted elements. The point along the array where the sorting is different is where the class will start to sort from. The sorting algorithm could work by considering "buckets" of sorted rows, and sorting within those buckets.