#java #swing #jtable
#java #качать #jtable
Вопрос:
Я взял jtable и добавил к нему модель, а также добавил к ней средство отображения текстовой области и редактор.
Table.setModel(
JUTableBindingFactory.createAttributeListBinding(
Binding, Table name, View name, null, null, attributes));
Table.getColumnModel()
.getColumn(i)
.setCellEditor(
new TextAreaEditor(
true, true, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
Table.getColumnModel()
.getColumn(i)
.setCellRenderer(
new TextAreaCellRenderer(
true, true, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER));
_Table.setRowHeight(100);
Также я установил высоту строки таблицы.
Класс средства визуализации текстовой области
public class TextAreaCellRenderer extends JTextArea implements TableCellRenderer
{
private JScrollPane pane;
private boolean _isEditable = false;
private boolean _isEnabled = false;
private int _verticalBarProperyValue = JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED;
private int _horizontalBarProperyValue = JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;
public TextAreaCellRenderer()
{
super();
init();
}
public TextAreaCellRenderer(boolean isEnabled, boolean isEditable, int
verticalBarProperyValue, int horizontalBarProperyValue)
{
super();
_isEditable = isEditable;
_isEnabled = isEnabled;
_verticalBarProperyValue = verticalBarProperyValue;
_horizontalBarProperyValue = horizontalBarProperyValue;
init();
}
private void init()
{
pane = new JScrollPane(this, _verticalBarProperyValue, _horizontalBarProperyValue);
setLineWrap(true);
setWrapStyleWord(true);
setEditable(_isEditable);
setEnabled(_isEnabled);
}
/**
* Returns the cell renderer component.
*/
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
setLineWrap(true);
setWrapStyleWord(true);
setText(value != null ? value.toString() : "");
setBackground((isSelected) ? NWSTheme.BLUE_DARK : NWSTheme.WHITE);
setForeground((isSelected) ? NWSTheme.WHITE : NWSTheme.BLACK);
pane.setEnabled(true);
return pane;
}
}
класс editor также очень похож, но проблема, похоже, не связана с этим, что еще я должен попробовать?
Ответ №1:
Попробуйте переместить горизонтальную прокрутку больше вверх, так как иногда мы этого не делаем, и создается впечатление о том, что вы испытали. Попробуйте хотя бы
Комментарии:
1. НЕТ, когда я прокручиваю вниз, он исчезает, данные больше не отображаются