As already mentioned by @zaph, just provide a 256bit key as input and it works (regardless of the mode (eg CBC) or Padding used).
Also, as referred by @KevinO, you may have to install the Unlimited Strength Policy Files (here for Java 8) to support 256 bits of AES security.
Sometimes however, especially if you need to distribute your software, it is not always possible to change the Policy Files on your client's machine. Although not recommended as you may violate the Java License Agreement, you can use reflection to bypass the restrictions without changing the default Policy Files.
Ported from this link, just use this snippet that will run during class loading. Then, you can use any supported key size.
static {
try {
Field field = Class.forName("javax.crypto.JceSecurity").getDeclaredField("isRestricted");
field.setAccessible(true);
field.set(null, java.lang.Boolean.FALSE);
} catch (Exception ex) {
//Report the exception
}
}