Подскажите пожалуйста. Имеется проблема следующего характера для столбца таблицы JTable применен редактор который в свою очередь возвращает объект JScrollPane (или любой другой контейнер) на нем находится объект JTextArea, так вот при редактировании с помощью клавиатуры невозможно ввести какое либо значение в JTextArea так как оно являясь вложенным объектом не получает фокус (требуется клик мышью). Каким образом можно передать фокус на вложенный объект?
public class PP extends JFrame {
private String data[][]=new String[][]{{"","",""},{"","",""}};
private String column[]=new String[]{"Фамилия","Имя","Отчество"};
public PP() throws HeadlessException {
super("Кадровая работа");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setExtendedState(MAXIMIZED_BOTH);
this.setVisible(true);
JTable jTable=new JTable(data,column);
jTable.setRowHeight(40);
jTable.getColumnModel().getColumn(1).setCellEditor(new EditorJTA());
this.add(new JScrollPane(jTable));
}
private class EditorJTA extends AbstractCellEditor
implements TableCellEditor {
private JTextArea editor = new JTextArea();
private JScrollPane result=new JScrollPane(editor);
@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
editor.setLineWrap(true);
editor.setWrapStyleWord(true);
editor.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER)
{
stopCellEditing();
}
}
});
result.setBorder(new LineBorder(null, 0));
return result;
}
@Override
public Object getCellEditorValue() {
return editor.getText();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new PP();
}
});
}
}
SwingUtilities.invokeLater(editor::requestFocus);
Вот решение в какой-то мере, однако пропадает первый символ.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
TypeError: Cannot read property 'firstChild' of null
уважаемые знатоки и профессионалы! Из предложенных мне схожих тем по моим запросам на StackOverflow я ничего не нашёлВозможно, плохо искал или неправильно...
В общем передаю через Ajax некоторые параметры и вижу такую картину:
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском