First, if you have checkpoints left over from last lab, get them inspected during the first 15 minutes of this lab.
Work in pairs. Where possible, work with someone that you did not work with last week. The exchange of new ideas and perspectives is not an opportunity you want to rob yourself of.
In this lab, you will continue to explore the use of interfaces so that you can write code that is highly reusable. Code written in terms of a supertype can be applied to many subtypes.
Person A types.
Check out the documentation for
java.io.FilenameFilter. See how these types are used by the
list* methods of
Also checkout the documentation for
File.length. These may come in handy.
Write a method
listLarge that accepts a
String path to a directory as a parameter. It prints to the console all files in the directory that are larger than some threshold number of bytes.
Write a method named
listImages that accepts a
String path to a directory as a parameter. It prints to the console all files in the directory that are JPEGs, PNGs, BMPs, or GIFs.
Optional: Kudos and high-fives if you also print out matching files in all subdirectories. It shouldn’t take more than a couple extra lines of code.
Person B types.
Pop up a
JFrame that shows a TicTacToe board, a 3×3 grid of
BorderLayout—is not going to work here. Instead, use a
When a button is clicked, set the button’s text to the current player’s symbol. Turns alternate between X and O.
Optional: check for win/draw states.