Исправление высоты качания компонента в макете Box - PullRequest
0 голосов
/ 26 мая 2009

Доброе утро,

Я создаю графический интерфейс благодаря классу javax.swing.Box

Внутри панели:
JLabel
JTable с фиксированная высота
JLabel
JTable с автоматическая высота

Я попробовал все, чтобы исправить первую высоту JTable, но безуспешно.
Я выделяю Box.createHor HorizontalBox () для каждого компонента вышеупомянутых строк, а затем добавляю их в Box.createVerticalBox ().
Вместо того, чтобы получить первый результат, я получаю макет, в котором оба JTable имеют автоматическую высоту, и я бы предпочел, чтобы первый JTable имел фиксированную высоту ...

Спасибо за любой ответ,

Приветствия

Ответы [ 3 ]

2 голосов
/ 26 мая 2009

Я нашел решение, и я не должен был раздражать вас такой глупой проблемой:
Для каждого горизонтального блока, который я создал, я добавил горизонтальную распорку в 10 пикселей, чтобы показать вид заполнения. Первыми в рядах были первые стойки, и они автоматически принимались за «задание высоты» *1003* для построения макета коробки, но я новичок в макете wt / swing, поэтому я могу ошибаться, говоря это. 1004 *

Я удалил эти распорки и вставил вертикальную рамку, которая содержала горизонтальные распорки по 10 пикселей. Он сделал свою работу.

В любом случае, спасибо за ваше время, Маркус и Майкл, я углублюсь в урок Sun, когда мой босс даст мне время для этого

Приветствия

0 голосов
/ 26 мая 2009

Как насчет того, чтобы показать нам фактический код?

Похоже, вы неправильно используете менеджеры по расположению. Вероятно, вам следует использовать BorderLayout с «автоматической» таблицей в ее положении CENTER, а остальные - во второй панели в положении NORTH, когда вторая панель использует Boxlayout или FlowLayout.

У Sun очень хороший учебник по использованию менеджеров раскладок, которые, вероятно, могут вам сильно помочь.

0 голосов
/ 26 мая 2009

Вы можете изменить высоту строки, например, вызвав

TableColumn column = table.getColumnModel().getColumn(0);
    column.setPreferredWidth(150);
    //set all rows height 
    table.setRowHeight(20);
    //set specific row height
    table.setRowHeight(2,50);

Размер таблицы можно обновить, позвонив по номеру

setPreferredSize(Dimension preferredSize)

Вы также должны решить, какой макет должна иметь панель. Вы установили макет?

...