FlowLayout
выложит Component
s слева направо (или справа налево), завернув их, если потребуется. Если вы хотите явно задать размер каждого JButton
, вы должны использовать setPreferredSize, а не setSize
, поскольку менеджеры макета обычно используют минимальные, предпочтительные и максимальные размеры при выполнении макета.
Свойства размера весьма запутанны. Здесь есть интересная статья . В частности, обратите внимание:
Сохраняются ли свойства размера?
Некоторые менеджеры макетов, такие как GridLayout, полностью игнорируют свойства размера.
FlowLayout, пытается оценить оба размера preferredSize и, возможно, не нуждается в соблюдении минимального размера или максимального размера.
Вы извлекаете свойство System System , которые отмечают укус этой JVM с:
System.getProperty("sun.arch.data.model");
возможными результатами:
«32»
- 32-битный JVM «64»
- 64-битный JVM «Неизвестный»
- неизвестен JVM , как описано в FAQ :
:
при записи кода Java Как я могу различить 32 и 64-разрядную работу?
Нет публичного API, который позволяет различать 32 и 64-разрядную работу. Подумайте о 64-битной как просто другая платформа в пишете один раз, управляйте традицией. Однако, если вы хотите написать код, который является конкретной платформой (позор на вас), системное свойство Sun.arch.data.Model имеет значение «32», «64» или «неизвестно».
Пример, где это может потребоваться, это если ваш код Java зависит от собственных библиотек, и вам нужно определить, будет ли загружать 32- или 64-битную версию библиотек в запуске.
Я установил 32-битный JVM и повторил его снова, выглядит следующее, говорит вам, не означает, что утоляция JVM, а не арка ОС:
System.getProperty("os.arch");
#
# on a 64-bit Linux box:
# "x86" when using 32-bit JVM
# "amd64" when using 64-bit JVM
это было проверено на фоне солнца и IBM JVM (32 и 64-битный). Очевидно, что свойство системы не просто арка операционной системы.
Для определенных версий Java вы можете проверить укуту JVM из командной строки с флагами -D32
и -D64
.
$ java -help
...
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
Чтобы проверить на 64-битный JVM, запустите:
$ java -d64 -version
, если это не 64-битный JVM, вы получите это:
Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.
аналогично, чтобы проверить на 32-разрядную JVM, запустить:
$ java -d32 -version
Если это не 32-битный JVM, вы получите это:
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
Эти флаги были добавлены в Java 7, устарели в Java 9, удалены в Java 10 и больше не доступен на современных версиях Java.