Вот три примера функций, которые у меня есть в моем ~/.bashrc
, которые являются по существу алиасами, которые принимают параметр:
#Utility required by all below functions.
#https://stackoverflow.com/questions/369758/how-to-trim-whitespace-from-bash-variable#comment21953456_3232433
alias trim="sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*\$//g'"
.
:<
.
:<
.
:< /tmp/history
#Clear all items in the current sessions history (in memory). This
#empties out $HISTFILE.
history -c
#Overwrite the actual history file with the temp one.
mv /tmp/history "$HISTFILE"
#Now reload it.
history -r "$HISTFILE" #Alternative: exec bash
else
echo "Cancelled."
fi
}
Ссылки:
Вот проблема.
JTable table = new JTable (data, columnNames);
f.add(table);
Не добавляйте таблицу напрямую. Используйте JScrollPane
для отображения заголовков таблиц.
f.add(new JScrollPane(table))
Зачем вам нужно поставить таблицу в JScrollPane
?
Из @Dan post:
Когда вы помещаете компонент внутри конструктора
JScrollPane
, вы указываете, к какому виду относится прокрутка.С другой стороны, используя метод добавления, вы просто добавляете компонент в контейнер, например добавляете его в
blockquote>JPanel
. Таким образом, вы не укажете компонент для добавления полос прокрутки к.EDIT: из javadoc (процитировано trashgod в разделе комментариев)
Вот типичный код для создания панели прокрутки, которая служит в качестве контейнера для таблицы:
blockquote>JScrollPane scrollPane = new JScrollPane(table); table.setFillsViewportHeight(true);
Две строки в этом фрагменте делают следующее: Конструктор JScrollPane вызывается с аргументом, который ссылается на объект таблицы. Это создает панель прокрутки в качестве контейнера для таблицы; таблица автоматически добавляется в контейнер. JTable.setFillsViewportHeight вызывается для установки свойства fillsViewportHeight. Когда это свойство верно, таблица использует всю высоту контейнера, даже если таблица не имеет достаточного количества строк для использования всего вертикального пространства. Это упрощает использование таблицы в качестве цели перетаскивания. Панель прокрутки автоматически помещает заголовок таблицы вверху окна просмотра. Имена столбцов остаются видимыми в верхней части области просмотра при прокрутке данных таблицы.
Если вы используете таблицу без панели прокрутки, вы должны получить компонент заголовка таблицы и поместить его самостоятельно. Например:
blockquote>container.setLayout(new BorderLayout()); container.add(table.getTableHeader(), BorderLayout.PAGE_START); container.add(table, BorderLayout.CENTER);
Если я правильно помню, вы должны положить вокруг него контейнер (например, JScrollPane
).