Brute force is about trying all possible keys or passwords. AES uses keys of at least 128 bits (256 bits in your case) so that brute force fails: it is not feasible, with existing or foreseeable technology, to "try out" a non-laughable proportion of the space of possible 128-bit keys, let alone 256-bit keys.
A more effective brute force attack would try potential passwords which are often from a much smaller space of possible passwords (the space of passwords that a human mind can come up with). This is called a dictionary attack. To make such attacks less effective, you will want to use some slowdown in the process, either in the password-to-key transform, or in the encryption itself. It makes more sense, and is much better for security, to do the slowdown in the password-to-key transform, rather than in the encryption. See this answer for details.
Slowdown is only part of the story; you also want a salt. This points to bcrypt or PBKDF2. And you will also need some checked integrity, to defeat active attacks (which are more realistic than usually assumed). Combining a good password hashing, symmetric encryption and checked integrity is not as easy as it seems, so you should rely on an existing standard and library which does the job and has been scrutinized by many specialists. You could do worse than using OpenPGP and the BouncyCastle Java implementation.