я хочу добавить JTable
в JPanel
чей макет null
. JPanel
содержит другие компоненты. Я должен добавить JTable
в правильном положении.
235
я хочу добавить JTable
в JPanel
чей макет null
. JPanel
содержит другие компоненты. Я должен добавить JTable
в правильном положении.
Ответы:
Пример вложенного / комбинированного макета
Учебник по Java содержит исчерпывающую информацию об использовании менеджеров компоновки. См. Раздел « Компоновка компонентов в контейнере» для получения дополнительной информации.
Один из аспектов макетов, который не очень хорошо описан в руководстве, - это вложенные макеты, помещающие один макет в другой для получения сложных эффектов.
Следующий код помещает множество компонентов в рамку, чтобы продемонстрировать, как использовать вложенные макеты. Все явно заданные макеты отображаются в виде заголовка для панели, на которой они используются.
Примечательные аспекты кода:
Нимб ПЛАФ
NestedLayoutExample.java
Другие скриншоты
Windows PLAF
Mac OS X Aqua PLAF
Ubuntu GTK + PLAF
источник
Не используйте нулевой макет. Научитесь пользоваться LayoutManager:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
Менеджеры LayoutManager позволяют правильно обрабатывать изменения размера окна или количество динамических компонентов. Сначала они могут показаться пугающими, но они стоят усилий, чтобы учиться.
источник
Как я помню, нулевой макет означает абсолютную позицию, поэтому вам будет довольно сложно подсчитать точку X для вашего левого верхнего угла JTable. Но если вы хотите, чтобы все компоненты панели были по одному, вы можете использовать FlowLayout () как
или если вам нужно заполнить панель, вы должны использовать GridLayout () как ...
Удачи
источник
Если вы используете нулевой менеджер компоновки, вам всегда нужно устанавливать границы компонента. Это проблема в вашем случае.
Вы должны сделать то, что все предлагают здесь, и пойти и использовать некоторый менеджер верстки, чтобы они сэкономили время. Зайдите и ознакомьтесь с руководством в посте @ jzd.
Наслаждайся, Боро.
источник
JTable
должен быть добавлен вJScrollPane
который на самом деле должен быть добавлен вJPanel
.JPanel
Должен иметь какой - то менеджер компоновки.Если вам не важна точность размеров компонентов, вы можете использовать pure
BorderLayout
и комбинировать его сFlowLayout
иGridLayout
. если вам нужна точность - используйте jgoodiesFormLayout
.Это
FormLayout
действительно сложная задача, но вы можете немного поигратьWindowBuilder
(встроенный в Eclipse) и взглянуть на код, который он генерирует. Это может выглядеть сложно, но это просто невежество.Удачи.
источник
Во-первых, вы должны серьезно рассмотреть другие менеджеры макетов, например, BorderLayoutManager (новый JPanel (новый BorderLayout ())) - хорошее начало.
Также при разработке вашего диалога помните, что вы можете и должны вкладывать свои макеты : один JPanel в другой JPanel (например, GridLayout внутри BorderLayout). Обратите внимание: «хороший» диалог должен правильно изменять размер , поэтому, если пользователь изменяет размер вашего фрейма, вы хотите автоматически расширять ваши информационные объекты, такие как таблица, и не показывать большие области фона JPanel. Это то, чего вы не можете достичь с помощью NullLayout.
Но, возможно, есть случаи - где-то в этом большом мире - когда NullLayout - это как раз то, что нужно. Итак, вот пример:
источник
Когда у компонента есть «нулевой» макет, вы должны сами управлять макетом, это означает, что вы должны вычислить размеры и местоположения дочерних элементов компонента, чтобы решить, где они будут нарисованы. Довольно утомительно, если в этом нет необходимости.
Если вы действительно хотите этот детализированный элемент управления, возможно, сначала попробуйте GridBagLayout, прежде чем переходить к пользовательскому интерфейсу.
источник
Вы можете использовать следующий код. Чтобы добавить JTable в JPanel.
источник
Надеюсь это поможет.
источник
модель стола зависит от ваших требований
источник
Попробуй это.
источник