ArrayList<JComponent> components = new ArrayList<JComponent>();
final ArrayList<ImagePanel> panels = new ArrayList<ImagePanel>();
//Добавляем поля перед таблицей
for (int i = 0; i < preFields.size(); i++) {
final FieldForXML field = preFields.get(i);
if (field.getType() == FieldForXML.Type.image) {
ImagePanel imagePanel = new ImagePanel((Image) field.getObject());
panels.add(imagePanel);
components.add(imagePanel);
} else {
JScrollPane jScrollPane = new javax.swing.JScrollPane();
jScrollPane.setWheelScrollingEnabled(false);
jScrollPane.addMouseWheelListener(mwl);
JTextArea jTextArea = new javax.swing.JTextArea();
jTextArea.addMouseWheelListener(mwl);
jTextArea.setText(xml.getField(field.id));
jTextArea.setEditable(canBeEdit);
jTextArea.setRows(5);
jTextArea.setLineWrap(true);
//jTextArea.setWrapStyleWord(true);
jScrollPane.setViewportView(jTextArea);
jScrollPane.setBorder(javax.swing.BorderFactory.createTitledBorder(field.title));
jScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
// northPanel.add(jScrollPane);
components.add(jScrollPane);
jTextArea.getDocument().addDocumentListener(new FieldListner(xml, field.id));
try {
//Attach template manager
// type = field.getType();
// if(type != null) {
// IntelliTemplate itempl = new IntelliTemplate(type, MainWindow.mainWindow, jTextPane);
// }
// attach intelliwriter
Set<String> strings = field.getIntelliItems();
if (strings != null
&& strings.size() > 0) {
IntelliWriter ir = new IntelliWriter(strings, MainWindow.mainWindow, jTextArea);
// jTextArea.addFocusListener(new IntelliWriterFocusListener(ir));
}
} catch (DirectoryItemNotFoundException ex) {
//do nothing
ex.printStackTrace();
}
}
}
// northPanel.setLayout(new BorderLayout());
// northPanel.add(listPanel, BorderLayout.CENTER);
//Добавляем таблицу
if (xml.getProbeValueList().size() > 0) {
JTable jTable = new JTable();
// jScrollPane2.setVisible(xml.getProbeValueList().size() > 0);
// jScrollPane2.addMouseWheelListener(mwl);
TableModelCheckUp tmodel = new TableModelCheckUp(xml, canBeEdit);
// jTable1.setModel(tmodel);
// jTable1.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// jTable1.setDefaultRenderer(Object.class, new CheckUpTableCellRenderer());
jTable.setModel(tmodel);
jTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable.setDefaultRenderer(Object.class, new CheckUpTableCellRenderer());
TableColumnModel model = jTable.getColumnModel();
//всем столбцам кроме первого и последнего назначаем свой редактор
for (int i = 1; i < model.getColumnCount() - 1; i++) {
model.getColumn(i).setCellEditor(
new CheckUpCellEditor(xml, TableModelCheckUp.COL_COUNT));
}
components.add(jTable);
}
//Добавляем поля после таблицы
for (int i = 0; i < postFields.size(); i++) {
FieldForXML field = postFields.get(i);
JScrollPane jScrollPane = new javax.swing.JScrollPane();
jScrollPane.setWheelScrollingEnabled(false);
jScrollPane.addMouseWheelListener(mwl);
JTextArea jTextArea = new javax.swing.JTextArea();
jTextArea.addMouseWheelListener(mwl);
jTextArea.setText(xml.getField(field.id));
jTextArea.setEditable(canBeEdit);
jTextArea.setRows(5);
jScrollPane.setViewportView(jTextArea);
jScrollPane.setBorder(javax.swing.BorderFactory.createTitledBorder(field.title));
// southPanel.add(jScrollPane);
components.add(jScrollPane);
jTextArea.getDocument().addDocumentListener(new FieldListner(xml, field.id));
try {
//Attach template manager
// type = field.getType();
// if(type != null) {
// IntelliTemplate itempl = new IntelliTemplate(type, MainWindow.mainWindow, jTextPane);
// }
// attach intelliwriter
Set<String> strings = field.getIntelliItems();
if (strings != null
&& strings.size() > 0) {
IntelliWriter ir = new IntelliWriter(strings, MainWindow.mainWindow, jTextArea);
//jTextArea.addFocusListener(new IntelliWriterFocusListener(ir));
}