org.hsh.bfr.db/src/org/hsh/bfr/db/gui/dbtable/MyDBForm.java
/*******************************************************************************
* Copyright (c) 2015 Federal Institute for Risk Assessment (BfR), Germany
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Department Biological Safety - BfR
*******************************************************************************/
package org.hsh.bfr.db.gui.dbtable;
import java.awt.*;
import java.awt.event.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import javax.swing.*;
import javax.swing.border.*;
import org.hsh.bfr.db.DBKernel;
import org.hsh.bfr.db.MyTable;
import org.hsh.bfr.db.gui.dbtable.editoren.MyNewDoubleEditor;
import com.jgoodies.forms.factories.*;
import com.jgoodies.forms.layout.*;
/**
* @author Armin Weiser
*/
@SuppressWarnings("rawtypes")
public class MyDBForm extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
private MyTable myT;
private HashMap<String, JComponent> componentMap;
private int initVal;
public MyDBForm() {
initComponents();
initCs();
}
private void initCs() {
componentMap = new HashMap<>();
componentMap.put("ID", textField1);
componentMap.put("Referenz", textField2);
componentMap.put("Agens", textField3);
componentMap.put("AgensDetail", textField4);
componentMap.put("Risikokategorie_CDC", comboBox1);
componentMap.put("BioStoffV", comboBox2);
componentMap.put("Krankheit", textField5);
componentMap.put("Symptome", textArea1);
componentMap.put("Zielpopulation", comboBox3);
componentMap.put("Aufnahmeroute", comboBox4);
componentMap.put("Krankheitsverlauf", comboBox5);
componentMap.put("Risikogruppen", textArea2);
componentMap.put("Inzidenz", textField6);
componentMap.put("Inzidenz_Alter", textField7);
componentMap.put("Inkubationszeit", textField8);
componentMap.put("IZ_Einheit", comboBox6);
componentMap.put("Symptomdauer", textField9);
componentMap.put("SD_Einheit", comboBox7);
componentMap.put("Infektionsdosis", textField10);
componentMap.put("ID_Einheit", comboBox8);
componentMap.put("Letalitaetsdosis50", textField11);
componentMap.put("LD50_Einheit", comboBox9);
componentMap.put("LD50_Organismus", comboBox10);
componentMap.put("LD50_Aufnahmeroute", comboBox11);
componentMap.put("Letalitaetsdosis100", textField12);
componentMap.put("LD100_Einheit", comboBox12);
componentMap.put("LD100_Organismus", comboBox13);
componentMap.put("LD100_Aufnahmeroute", comboBox14);
componentMap.put("Meldepflicht", comboBox15);
componentMap.put("Morbiditaet", textField13);
componentMap.put("Mortalitaet", textField14);
componentMap.put("Letalitaet", textField15);
componentMap.put("Therapie_Letal", comboBox22);
componentMap.put("Ausscheidungsdauer", comboBox16);
componentMap.put("ansteckend", comboBox17);
componentMap.put("Therapie", comboBox18);
componentMap.put("Antidot", comboBox19);
componentMap.put("Impfung", comboBox20);
componentMap.put("Todeseintritt", comboBox21);
componentMap.put("Spaetschaeden", textArea4);
componentMap.put("Komplikationen", textArea5);
componentMap.put("Guetescore", textField18);
componentMap.put("Kommentar", textArea3);
componentMap.put("Geprueft", checkBox1);
final Enumeration<String> strEnum = Collections.enumeration(componentMap.keySet());
while(strEnum.hasMoreElements()) {
JComponent c = componentMap.get(strEnum.nextElement());
if (c != null) {
if (c instanceof JTextField && !((JTextField) c).isEditable() || c instanceof JTextArea) {
c.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
MyDBForm.this.mouseClicked(e);
}
});
}
}
}
}
private void initSB() {
scrollBar1.setMinimum(1);
scrollBar1.setMaximum(DBKernel.getRowCount(myT.getTablename(), null) + 1 + scrollBar1.getVisibleAmount());
}
boolean setTable(MyTable myT) {
initVal = 0;
this.myT = myT;
initSB();
initVal = 1;
myT.restoreProperties(this);
initVal = 2;
return true;
}
public MyTable getActualTable() {
return myT;
}
public void setSelectedID(int id) {
String sql= "SELECT " + DBKernel.delimitL("ID") + " FROM " + DBKernel.delimitL(myT.getTablename());
ResultSet rs = DBKernel.getResultSet(sql, false);
try {
int index = 1;
if (rs != null && rs.first()) {
do {
if (id == rs.getInt("ID")) {
break;
}
index++;
} while (rs.next());
if (scrollBar1.getValue() == index) fillWithData(myT.getTablename(), index); // refresh!
else scrollBar1.setValue(index);
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
public int getSelectedID() {
int result = -1;
try {
result = Integer.parseInt(textField1.getText());
}
catch (Exception e){}
return result;
}
private void fillWithData(String tablename, int row) {
String sql= "SELECT * FROM " + DBKernel.delimitL(tablename);
ResultSet rs = DBKernel.getResultSet(sql, false);
try {
if (rs != null && rs.absolute(row)) {
textField1.setText(rs.getString("ID"));
manageForeign(textField2, rs.getObject("Referenz"), getForeignVal("Literatur", rs.getInt("Referenz"), DBKernel.delimitL("Erstautor") + "," + DBKernel.delimitL("Jahr")));
manageForeign(textField3, rs.getObject("Agens"), getForeignVal("Agenzien", rs.getInt("Agens"), DBKernel.delimitL("Agensname")));
textField4.setText(rs.getString("AgensDetail"));
comboBox1.setSelectedItem(rs.getString("Risikokategorie_CDC"));
comboBox2.setSelectedItem(rs.getString("BioStoffV"));
manageForeign(textField5, rs.getObject("Krankheit"), getForeignVal("ICD10_Kodes", rs.getInt("Krankheit"), DBKernel.delimitL("Titel")));
getMNVals(textArea1, tablename, "Krankheitsbilder_Symptome", "Symptome", rs.getInt("Symptome"), DBKernel.delimitL("Bezeichnung_engl") + "," + DBKernel.delimitL("Bezeichnung")); // + "," + DBKernel.delimitL("Bezeichnung")
comboBox3.setSelectedItem(rs.getString("Zielpopulation"));
comboBox4.setSelectedItem(rs.getString("Aufnahmeroute"));
comboBox5.setSelectedItem(rs.getString("Krankheitsverlauf"));
getMNVals(textArea2, tablename, "Krankheitsbilder_Risikogruppen", "Risikogruppen", rs.getInt("Risikogruppen"), DBKernel.delimitL("Bezeichnung"));
manageForeign(textField6, rs.getObject("Inzidenz"), getForeignVal("DoubleKennzahlen", rs.getInt("Inzidenz"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
manageForeign(textField7, rs.getObject("Inzidenz_Alter"),getForeignVal("DoubleKennzahlen", rs.getInt("Inzidenz_Alter"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
manageForeign(textField8, rs.getObject("Inkubationszeit"), getForeignVal("DoubleKennzahlen", rs.getInt("Inkubationszeit"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox6.setSelectedItem(rs.getString("IZ_Einheit"));
manageForeign(textField9, rs.getObject("Symptomdauer"), getForeignVal("DoubleKennzahlen", rs.getInt("Symptomdauer"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox7.setSelectedItem(rs.getString("SD_Einheit"));
manageForeign(textField10, rs.getObject("Infektionsdosis"), getForeignVal("DoubleKennzahlen", rs.getInt("Infektionsdosis"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox8.setSelectedItem(rs.getString("ID_Einheit"));
manageForeign(textField11, rs.getObject("Letalitaetsdosis50"), getForeignVal("DoubleKennzahlen", rs.getInt("Letalitaetsdosis50"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox9.setSelectedItem(rs.getString("LD50_Einheit"));
comboBox10.setSelectedItem(rs.getString("LD50_Organismus"));
comboBox11.setSelectedItem(rs.getString("LD50_Aufnahmeroute"));
manageForeign(textField12, rs.getObject("Letalitaetsdosis100"), getForeignVal("DoubleKennzahlen", rs.getInt("Letalitaetsdosis100"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox12.setSelectedItem(rs.getString("LD100_Einheit"));
comboBox13.setSelectedItem(rs.getString("LD100_Organismus"));
comboBox14.setSelectedItem(rs.getString("LD100_Aufnahmeroute"));
comboBox15.setSelectedItem(rs.getObject("Meldepflicht") == null ? null : (rs.getBoolean("Meldepflicht") ? "ja" : "nein"));
manageForeign(textField13, rs.getObject("Morbiditaet"), getForeignVal("DoubleKennzahlen", rs.getInt("Morbiditaet"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
manageForeign(textField14, rs.getObject("Mortalitaet"), getForeignVal("DoubleKennzahlen", rs.getInt("Mortalitaet"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
manageForeign(textField15, rs.getObject("Letalitaet"), getForeignVal("DoubleKennzahlen", rs.getInt("Letalitaet"), DBKernel.delimitL("Wert") + "," + DBKernel.delimitL("Minimum") + "," + DBKernel.delimitL("Maximum")));
comboBox22.setSelectedItem(rs.getObject("Therapie_Letal") == null ? null : (rs.getInt("Therapie_Letal") == 1 ? "mit Therapie" : rs.getInt("Therapie_Letal") == 2 ? "Keine Angabe" : "ohne Therapie"));
comboBox16.setSelectedItem(rs.getString("Ausscheidungsdauer"));
comboBox17.setSelectedItem(rs.getObject("ansteckend") == null ? null : (rs.getBoolean("ansteckend") ? "ja" : "nein"));
comboBox18.setSelectedItem(rs.getObject("Therapie") == null ? null : (rs.getBoolean("Therapie") ? "ja" : "nein"));
comboBox19.setSelectedItem(rs.getObject("Antidot") == null ? null : (rs.getBoolean("Antidot") ? "ja" : "nein"));
comboBox20.setSelectedItem(rs.getObject("Impfung") == null ? null : (rs.getBoolean("Impfung") ? "ja" : "nein"));
comboBox21.setSelectedItem(rs.getString("Todeseintritt"));
textArea4.setText(rs.getString("Spaetschaeden"));
textArea5.setText(rs.getString("Komplikationen"));
textField18.setText(rs.getString("Guetescore"));
textArea3.setText(rs.getString("Kommentar"));
checkBox1.setSelected(rs.getBoolean("Geprueft"));
}
else {
final Enumeration<String> strEnum = Collections.enumeration(componentMap.keySet());
while(strEnum.hasMoreElements()) {
JComponent c = componentMap.get(strEnum.nextElement());
if (c != null) {
c.setToolTipText(null);
if (c instanceof JTextField) ((JTextField) c).setText(null);
else if (c instanceof JComboBox) ((JComboBox) c).setSelectedItem(null);
else if (c instanceof JTextArea) ((JTextArea) c).setText(null);
}
}
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
private void manageForeign(JTextField tf, Object id, String foreignVal) {
if (id == null) {
tf.setText(null);
tf.setToolTipText(null);
}
else {
tf.setText(foreignVal);
tf.setToolTipText(id.toString());
}
}
private void getMNVals(JTextArea textArea, String firstTablename, String mnTablename, String secondTablename, int id, String fields) {
textArea.setText("");
textArea.setToolTipText(id+"");
String sql= "SELECT " + fields + " FROM " + DBKernel.delimitL(firstTablename) +
" LEFT JOIN " + DBKernel.delimitL(mnTablename) +
" ON " + DBKernel.delimitL(firstTablename) + "." + DBKernel.delimitL("ID") + "=" + DBKernel.delimitL(mnTablename) + "." + DBKernel.delimitL(firstTablename) +
" LEFT JOIN " + DBKernel.delimitL(secondTablename) +
" ON " + DBKernel.delimitL(secondTablename) + "." + DBKernel.delimitL("ID") + "=" + DBKernel.delimitL(mnTablename) + "." + DBKernel.delimitL(secondTablename) +
" WHERE " + DBKernel.delimitL(firstTablename) + "." + DBKernel.delimitL("ID") + "=" + id;
ResultSet rs = DBKernel.getResultSet(sql, false);
try {
if (rs != null && rs.first()) {
do {
String row = "";
for (int i=1;i<=rs.getMetaData().getColumnCount();i++) {
if (rs.getObject(i) != null) {
if (!row.isEmpty()) row += "\t";
row += rs.getString(i);
}
}
textArea.append(row + "\n");
} while (rs.next());
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
private String getForeignVal(String tablename, int id, String fields) {
String result = "";
String sql= "SELECT " + fields + " FROM " + DBKernel.delimitL(tablename) + " WHERE " + DBKernel.delimitL("ID") + "=" + id;
ResultSet rs = DBKernel.getResultSet(sql, false);
try {
if (rs != null && rs.first()) {
boolean isDbl = fields.startsWith(DBKernel.delimitL("Wert") + ",");
for (int i=1;i<=rs.getMetaData().getColumnCount();i++) {
if (rs.getObject(i) != null) {
if (!result.isEmpty()) result += "; ";
if (isDbl) result += rs.getMetaData().getColumnName(i) + ": ";
if (rs.getMetaData().getColumnType(i) == java.sql.Types.DOUBLE) result += DBKernel.getDoubleStr(rs.getDouble(i));
else result += rs.getString(i);
}
}
}
}
catch (SQLException e) {
e.printStackTrace();
}
return result;
}
void save() {
//System.err.println("2Save");
//System.err.println(myT.getSelectSQL());
//System.err.println(myT.getUpdateSQL1());
//System.err.println(myT.getUpdateSQL2());
//System.err.println(myT.getInsertSQL1());
//System.err.println(myT.getInsertSQL2());
//System.err.println(myT.getDeleteSQL1());
//System.err.println(myT.getDeleteSQL2());
if (newDS()) insertNewRow();
else updateRow();
myT.saveProperties(this);
}
private boolean newDS() {
String id = ((JTextField) componentMap.get("ID")).getText();
if (id == null || id.isEmpty()) return true;
return false; // scrollBar1.getValue() == scrollBar1.getMaximum() - scrollBar1.getVisibleAmount();
}
private void updateRow() {
if (DBKernel.isReadOnly()) return;
try {
// Geprüft erstmal nicht berücksichtigen, das gibt nur Ärger: dauernd Update der DB,
// weil hier so nur false gespeichert werden kann und nicht NULL. Es sind aber viele NULLen in der DB drin
String sql = myT.getUpdateSQL1().replace(",\"Geprueft\"=?", "");
//System.err.println(sql);
PreparedStatement ps = DBKernel.getDBConnection().prepareStatement(sql);
managePs(ps);
// Achtung hier "myT.getNumFields()-1" bis Geprüft wieder integriert ist!
ps.setInt(myT.getNumFields()-1, getInt(((JTextField) componentMap.get("ID")).getText()));
ps.execute();
myT.doMNs();
initVal = 1; initSB(); initVal = 2;
}
catch (SQLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
private boolean insertNewRow() {
if (DBKernel.isReadOnly()) return false;
boolean allNull = true;
try {
// Geprüft erstmal nicht berücksichtigen, das gibt nur Ärger: dauernd Update der DB,
// weil hier so nur false gespeichert werden kann und nicht NULL. Es ind aber viele NULLen in der DB drin
String sql = myT.getInsertSQL1().replace(",\"Geprueft\"", "").replace(",?)", ")");
//System.err.println(sql);
PreparedStatement ps = DBKernel.getDBConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
allNull = managePs(ps);
if (!allNull) {
if (ps.executeUpdate() > 0) {
DBKernel.getLastInsertedID(ps);
}
myT.doMNs();
initVal = 1; initSB(); initVal = 2;
}
}
catch (SQLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
return allNull;
}
void deleteRow() {
if (!newDS()) {
int retVal = JOptionPane.showConfirmDialog(this, "Sind Sie sicher, daß Sie diesen Datensatz löschen möchten?",
"Löschen bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (retVal == JOptionPane.YES_OPTION) {
DBKernel.sendRequest("DELETE FROM " + DBKernel.delimitL(myT.getTablename()) +
" WHERE " + DBKernel.delimitL("ID") + " = " + getSelectedID(), false);
initVal = 1; initSB(); initVal = 2;
}
}
}
void gotoInsertNewRow() {
scrollBar1.setValue(scrollBar1.getMaximum());
}
private boolean managePs(PreparedStatement ps) throws SQLException {
boolean allNullVals = true;
String[] fieldTypes = myT.getFieldTypes();
String[] fieldNames = myT.getFieldNames();
MyTable[] fieldFields = myT.getForeignFields();
String mnTable[] = myT.getMNTable();
int i;
for (i=0;i<fieldTypes.length;i++) {
if (componentMap.get(fieldNames[i]) == null) {
System.err.println("managePs, null:" + fieldNames[i]);
if (myT.getFieldTypes()[i].equals("INTEGER")) ps.setNull(i+1, java.sql.Types.INTEGER);
else if (myT.getFieldTypes()[i].startsWith("VARCHAR")) ps.setNull(i+1, java.sql.Types.VARCHAR);
else if (myT.getFieldTypes()[i].equals("DOUBLE")) ps.setNull(i+1, java.sql.Types.DOUBLE);
else if (myT.getFieldTypes()[i].equals("BOOLEAN")) ps.setNull(i+1, java.sql.Types.BOOLEAN);
else System.err.println("Type not known");
}
else {
// MN Table
if (fieldFields[i] != null && (myT.getFieldTypes()[i].equals("INTEGER")) &&
mnTable[i] != null) {
allNullVals = handleInt(ps, i+1, ((JTextArea) componentMap.get(fieldNames[i])).getToolTipText()) && allNullVals;
}
// Foreign Table
else if (fieldFields[i] != null && (myT.getFieldTypes()[i].equals("INTEGER"))) {
allNullVals = handleInt(ps, i+1, ((JTextField) componentMap.get(fieldNames[i])).getToolTipText()) && allNullVals;
}
// DoubleKennzahlen
else if (fieldFields[i] != null && myT.getFieldTypes()[i].equals("DOUBLE") &&
fieldFields[i].getTablename().equals("DoubleKennzahlen")) {
allNullVals = handleDbl(ps, i+1, ((JTextField) componentMap.get(fieldNames[i])).getToolTipText()) && allNullVals;
}
// Strings: JTextArea und JTextField
else if (myT.getFieldTypes()[i].startsWith("VARCHAR")) {
allNullVals = handleStr(ps, i+1, componentMap.get(fieldNames[i])) && allNullVals;
}
// mit Therapie, ohne Therapie, Achtung, das ist ein special case!!! Den gibts nur in diesem Table!!!!
else if (myT.getFieldTypes()[i].equals("INTEGER")) {
allNullVals = handleTherapie(ps, i+1, ((JComboBox) componentMap.get(fieldNames[i])).getSelectedItem()) && allNullVals;
}
// ja, nein
else if (myT.getFieldTypes()[i].equals("BOOLEAN")) {
allNullVals = handleBool(ps, i+1, ((JComboBox) componentMap.get(fieldNames[i])).getSelectedItem()) && allNullVals;
}
else {
System.err.println("Type not known");
}
}
}
if (!myT.getHideScore()) allNullVals = handleInt(ps, ++i, ((JTextField) componentMap.get("Guetescore")).getText()) && allNullVals;
if (!myT.getHideKommentar()) allNullVals = handleStr(ps, ++i, componentMap.get("Kommentar")) && allNullVals;
// Geprüft mache ich erstmal nur Read-Only!! is zu bucklig wegen 1. null berücksichtigen, 2. die ganze abfragelogik von wegen ein anderer Nutzer darf nur usw...!
//if (!myT.getHideTested()) allNullVals = handleBool(ps, ++i, componentMap.get("Geprueft")) && allNullVals;
return allNullVals;
}
private Integer getInt(String value) {
Integer result = null;
try {
result = Integer.parseInt(value);
}
catch (Exception e) {}
return result;
}
private Double getDbl(String value) {
Double result = null;
try {
result = Double.parseDouble(value);
}
catch (Exception e) {}
return result;
}
private boolean handleInt(PreparedStatement ps, int index, String val) throws SQLException {
boolean nullVal = true;
Integer iVal = getInt(val);
if (val == null || iVal == null) {
ps.setNull(index, java.sql.Types.INTEGER);
}
else {
ps.setInt(index, iVal);
nullVal = false;
}
return nullVal;
}
private boolean handleDbl(PreparedStatement ps, int index, String val) throws SQLException {
boolean nullVal = true;
Double iVal = getDbl(val);
if (val == null || iVal == null) {
ps.setNull(index, java.sql.Types.DOUBLE);
}
else {
ps.setDouble(index, iVal);
nullVal = false;
}
return nullVal;
}
private boolean handleStr(PreparedStatement ps, int index, JComponent c) throws SQLException {
boolean nullVal = true;
String val = null;
if (c instanceof JTextField) val = ((JTextField) c).getText();
else if (c instanceof JComboBox) val = ((JComboBox) c).getSelectedItem() == null ? null : ((JComboBox) c).getSelectedItem().toString();
else if (c instanceof JTextArea) val = ((JTextArea) c).getText() == null ? null : ((JTextArea) c).getText();
if (val == null || val.trim().isEmpty()) {
ps.setNull(index, java.sql.Types.VARCHAR);
}
else {
ps.setString(index, val);
nullVal = false;
}
return nullVal;
}
private boolean handleBool(PreparedStatement ps, int index, Object val) throws SQLException {
boolean nullVal = true;
if (val instanceof JCheckBox) {
ps.setBoolean(index, ((JCheckBox) val).isSelected());
nullVal = false;
}
else {
if (val == null || val.toString().trim().isEmpty()) {
ps.setNull(index, java.sql.Types.BOOLEAN);
}
else {
ps.setBoolean(index, val.toString().equalsIgnoreCase("ja"));
nullVal = false;
}
}
return nullVal;
}
private boolean handleTherapie(PreparedStatement ps, int index, Object val) throws SQLException {
boolean nullVal = true;
if (val == null || val.toString().trim().isEmpty()) {
ps.setNull(index, java.sql.Types.INTEGER);
}
else {
String str = val.toString();
ps.setInt(index, str.equalsIgnoreCase("mit Therapie") ? 1 : str.equalsIgnoreCase("Keine Angabe") ? 2 : 0);
nullVal = false;
}
return nullVal;
}
private void scrollBar1AdjustmentValueChanged(AdjustmentEvent e) {
if (initVal > 0 && !e.getValueIsAdjusting()) {
if (initVal > 1) { // Änderungen abspeichern!
if (newDS()) insertNewRow();
else updateRow();
}
if (scrollBar1.getValue() == scrollBar1.getMaximum() - scrollBar1.getVisibleAmount()) {
label42.setText("Neuer Datensatz");
}
else {
label42.setText("Datensatz " + scrollBar1.getValue() + " von " + (scrollBar1.getMaximum() - 1 - scrollBar1.getVisibleAmount()));
}
fillWithData(myT.getTablename(), scrollBar1.getValue() );
}
}
private void mouseClicked(MouseEvent e) {
switch(e.getModifiers()) {
case InputEvent.BUTTON1_MASK: {
if (e.getClickCount() > 1) go4OtherWindow(e);
break;
}
case InputEvent.BUTTON2_MASK: {
go4OtherWindow(e);
break;
}
case InputEvent.BUTTON3_MASK: {
go4OtherWindow(e);
break;
}
}
}
private String getKey(JComponent comp) {
String key = null;
final Enumeration<String> strEnum = Collections.enumeration(componentMap.keySet());
while(strEnum.hasMoreElements()) {
key = strEnum.nextElement();
JComponent c = componentMap.get(key);
if (c != null) {
if (c.equals(comp)) break;
}
}
return key;
}
private MyTable getMyFT(String key) {
if (key != null) {
String[] myFields = myT.getFieldNames();
int i=0;
for (;i<myFields.length;i++) {
if (myFields[i].equals(key)) {
break;
}
}
if (i < myFields.length) {
return myT.getForeignFields()[i];
}
}
return null;
}
private String getMyMNT(String key) {
if (key != null) {
String[] myFields = myT.getFieldNames();
int i=0;
for (;i<myFields.length;i++) {
if (myFields[i].equals(key)) {
break;
}
}
if (i < myFields.length) {
return myT.getMNTable()[i];
}
}
return null;
}
private void go4OtherWindow(MouseEvent e) {
JComponent c = (JComponent) e.getSource();
String key = getKey(c);
MyTable myFT = getMyFT(key);
String myMNT = getMyMNT(key);
if (myFT != null) {
if (myFT.getTablename().equals("DoubleKennzahlen")) checkOtherEditor2Open(c, key, myFT, e.getLocationOnScreen().x, e.getLocationOnScreen().y);
else checkForeignWindow2Open(c, key, myFT, myMNT);
}
save();
fillWithData(myT.getTablename(), scrollBar1.getValue() );
}
private void checkForeignWindow2Open(JComponent c, String key, MyTable myFT, String myMNT) {
String id = ((JTextField) componentMap.get("ID")).getText();
if (!id.isEmpty() || myMNT == null || myMNT.isEmpty()) { // sonst gibt es Fehler in der M:N Logik
Object newVal = DBKernel.mainFrame.openNewWindow(myFT, getInt(c.getToolTipText()), key, myMNT, id, this);
//System.err.println(key + "\t" + newVal + "\t" + c.getToolTipText());
if (newVal != null) c.setToolTipText(newVal.toString());
}
}
private void checkOtherEditor2Open(JComponent c, String key, MyTable myFT, int x, int y) {
System.out.println(x + "\t" + y + "\t" + c.getX() + "\t" + c.getY());
MyNewDoubleEditor mde = new MyNewDoubleEditor(c.getToolTipText(), key, x, y, ' ');
mde.setVisible(true);
if (mde.savePressed()) {
Double newD = mde.getNewValue();
if (newD != null) {
//System.err.println(DBKernel.getDoubleStr(newD));
c.setToolTipText(newD.toString());
}
}
}
@SuppressWarnings("unchecked")
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
scrollPane3 = new JScrollPane();
panel1 = new JPanel();
label1 = new JLabel();
textField1 = new JTextField();
label13 = new JLabel();
textField6 = new JTextField();
label30 = new JLabel();
textField13 = new JTextField();
label2 = new JLabel();
textField2 = new JTextField();
label14 = new JLabel();
textField7 = new JTextField();
label31 = new JLabel();
textField14 = new JTextField();
label3 = new JLabel();
textField3 = new JTextField();
label19 = new JLabel();
textField10 = new JTextField();
label32 = new JLabel();
textField15 = new JTextField();
label4 = new JLabel();
textField4 = new JTextField();
label20 = new JLabel();
comboBox8 = new JComboBox();
label33 = new JLabel();
comboBox22 = new JComboBox();
label5 = new JLabel();
comboBox1 = new JComboBox();
label15 = new JLabel();
textField8 = new JTextField();
label39 = new JLabel();
comboBox21 = new JComboBox();
label6 = new JLabel();
comboBox2 = new JComboBox();
label16 = new JLabel();
comboBox6 = new JComboBox();
panel2 = new JPanel();
label47 = new JLabel();
comboBox10 = new JComboBox();
label48 = new JLabel();
comboBox11 = new JComboBox();
label45 = new JLabel();
textField11 = new JTextField();
label46 = new JLabel();
comboBox9 = new JComboBox();
label9 = new JLabel();
comboBox3 = new JComboBox();
label17 = new JLabel();
textField9 = new JTextField();
label10 = new JLabel();
comboBox4 = new JComboBox();
label18 = new JLabel();
comboBox7 = new JComboBox();
label7 = new JLabel();
textField5 = new JTextField();
label34 = new JLabel();
comboBox16 = new JComboBox();
label29 = new JLabel();
comboBox15 = new JComboBox();
panel4 = new JPanel();
label35 = new JLabel();
comboBox17 = new JComboBox();
label36 = new JLabel();
comboBox18 = new JComboBox();
label37 = new JLabel();
comboBox19 = new JComboBox();
label38 = new JLabel();
comboBox20 = new JComboBox();
label8 = new JLabel();
scrollPane1 = new JScrollPane();
textArea1 = new JTextArea();
panel3 = new JPanel();
label51 = new JLabel();
comboBox13 = new JComboBox();
label52 = new JLabel();
comboBox14 = new JComboBox();
label49 = new JLabel();
textField12 = new JTextField();
label50 = new JLabel();
comboBox12 = new JComboBox();
label11 = new JLabel();
comboBox5 = new JComboBox();
label12 = new JLabel();
scrollPane2 = new JScrollPane();
textArea2 = new JTextArea();
label40 = new JLabel();
scrollPane5 = new JScrollPane();
textArea4 = new JTextArea();
label41 = new JLabel();
scrollPane6 = new JScrollPane();
textArea5 = new JTextArea();
label44 = new JLabel();
scrollPane4 = new JScrollPane();
textArea3 = new JTextArea();
label43 = new JLabel();
textField18 = new JTextField();
checkBox1 = new JCheckBox();
label42 = new JLabel();
scrollBar1 = new JScrollBar();
//======== this ========
setPreferredSize(new Dimension(900, 600));
setBackground(new Color(255, 204, 255));
setLayout(new FormLayout(
"default:grow",
"fill:default:grow, 2*($lgap, default)"));
//======== scrollPane3 ========
{
scrollPane3.setBorder(Borders.DIALOG);
scrollPane3.setBackground(new Color(255, 204, 255));
//======== panel1 ========
{
panel1.setBorder(null);
panel1.setBackground(new Color(255, 204, 255));
panel1.setLayout(new FormLayout(
"150px, $lcgap, 230px, $lcgap, 150px, $lcgap, 230px, $lcgap, 150px, $lcgap, 230px",
"18*(default, $lgap), default"));
((FormLayout)panel1.getLayout()).setColumnGroups(new int[][] {{1, 5, 9}, {3, 7, 11}});
((FormLayout)panel1.getLayout()).setRowGroups(new int[][] {{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 37}});
//---- label1 ----
label1.setText("ID");
label1.setHorizontalAlignment(SwingConstants.RIGHT);
label1.setBackground(new Color(208, 193, 251));
label1.setOpaque(true);
panel1.add(label1, CC.xy(1, 1));
//---- textField1 ----
textField1.setEditable(false);
textField1.setEnabled(false);
panel1.add(textField1, CC.xy(3, 1));
//---- label13 ----
label13.setText("Inzidenz");
label13.setHorizontalAlignment(SwingConstants.RIGHT);
label13.setOpaque(true);
label13.setBackground(new Color(208, 193, 251));
label13.setFont(label13.getFont().deriveFont(label13.getFont().getStyle() | Font.BOLD));
panel1.add(label13, CC.xy(5, 1));
//---- textField6 ----
textField6.setEditable(false);
panel1.add(textField6, CC.xy(7, 1));
//---- label30 ----
label30.setText("Morbiditaet");
label30.setHorizontalAlignment(SwingConstants.RIGHT);
label30.setBackground(new Color(208, 193, 251));
label30.setOpaque(true);
label30.setFont(label30.getFont().deriveFont(label30.getFont().getStyle() | Font.BOLD));
panel1.add(label30, CC.xy(9, 1));
//---- textField13 ----
textField13.setEditable(false);
panel1.add(textField13, CC.xy(11, 1));
//---- label2 ----
label2.setText("Referenz");
label2.setHorizontalAlignment(SwingConstants.RIGHT);
label2.setOpaque(true);
label2.setBackground(new Color(208, 193, 251));
panel1.add(label2, CC.xy(1, 3));
//---- textField2 ----
textField2.setEditable(false);
panel1.add(textField2, CC.xy(3, 3));
//---- label14 ----
label14.setText("Inzidenz_Alter");
label14.setHorizontalAlignment(SwingConstants.RIGHT);
label14.setOpaque(true);
label14.setBackground(new Color(208, 193, 251));
panel1.add(label14, CC.xy(5, 3));
//---- textField7 ----
textField7.setEditable(false);
panel1.add(textField7, CC.xy(7, 3));
//---- label31 ----
label31.setText("Mortalitaet");
label31.setHorizontalAlignment(SwingConstants.RIGHT);
label31.setBackground(new Color(208, 193, 251));
label31.setOpaque(true);
label31.setFont(label31.getFont().deriveFont(label31.getFont().getStyle() | Font.BOLD));
panel1.add(label31, CC.xy(9, 3));
//---- textField14 ----
textField14.setEditable(false);
panel1.add(textField14, CC.xy(11, 3));
//---- label3 ----
label3.setText("Agens");
label3.setHorizontalAlignment(SwingConstants.RIGHT);
label3.setOpaque(true);
label3.setBackground(new Color(208, 193, 251));
label3.setFont(label3.getFont().deriveFont(label3.getFont().getStyle() | Font.BOLD));
panel1.add(label3, CC.xy(1, 5));
//---- textField3 ----
textField3.setEditable(false);
panel1.add(textField3, CC.xy(3, 5));
//---- label19 ----
label19.setText("Infektionsdosis");
label19.setHorizontalAlignment(SwingConstants.RIGHT);
label19.setBackground(new Color(208, 193, 251));
label19.setOpaque(true);
label19.setFont(label19.getFont().deriveFont(label19.getFont().getStyle() | Font.BOLD));
panel1.add(label19, CC.xy(5, 5));
//---- textField10 ----
textField10.setEditable(false);
panel1.add(textField10, CC.xy(7, 5));
//---- label32 ----
label32.setText("Letalitaet");
label32.setHorizontalAlignment(SwingConstants.RIGHT);
label32.setBackground(new Color(208, 193, 251));
label32.setOpaque(true);
label32.setFont(label32.getFont().deriveFont(label32.getFont().getStyle() | Font.BOLD));
panel1.add(label32, CC.xy(9, 5));
//---- textField15 ----
textField15.setEditable(false);
panel1.add(textField15, CC.xy(11, 5));
//---- label4 ----
label4.setText("AgensDetail");
label4.setHorizontalAlignment(SwingConstants.RIGHT);
label4.setOpaque(true);
label4.setBackground(new Color(208, 193, 251));
panel1.add(label4, CC.xy(1, 7));
panel1.add(textField4, CC.xy(3, 7));
//---- label20 ----
label20.setText("ID_Einheit");
label20.setHorizontalAlignment(SwingConstants.RIGHT);
label20.setBackground(new Color(208, 193, 251));
label20.setOpaque(true);
panel1.add(label20, CC.xy(5, 7));
//---- comboBox8 ----
comboBox8.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sporenzahl",
"KBE pro g",
"KBE pro ml",
"PBE pro g",
"PBE pro ml",
"Milligramm",
"Mikrogramm",
"\u00b5g/kg/KG",
"Anzahl"
}));
panel1.add(comboBox8, CC.xy(7, 7));
//---- label33 ----
label33.setText("Therapie_Letal");
label33.setHorizontalAlignment(SwingConstants.RIGHT);
label33.setBackground(new Color(208, 193, 251));
label33.setOpaque(true);
panel1.add(label33, CC.xy(9, 7));
//---- comboBox22 ----
comboBox22.setModel(new DefaultComboBoxModel(new String[] {
" ",
"mit Therapie",
"ohne Therapie",
"Keine Angabe"
}));
panel1.add(comboBox22, CC.xy(11, 7));
//---- label5 ----
label5.setText("Risikokategorie_CDC");
label5.setHorizontalAlignment(SwingConstants.RIGHT);
label5.setOpaque(true);
label5.setBackground(new Color(208, 193, 251));
label5.setFont(label5.getFont().deriveFont(label5.getFont().getStyle() | Font.BOLD));
panel1.add(label5, CC.xy(1, 9));
//---- comboBox1 ----
comboBox1.setModel(new DefaultComboBoxModel(new String[] {
" ",
"A",
"B",
"C"
}));
panel1.add(comboBox1, CC.xy(3, 9));
//---- label15 ----
label15.setText("Inkubationszeit");
label15.setHorizontalAlignment(SwingConstants.RIGHT);
label15.setBackground(new Color(208, 193, 251));
label15.setOpaque(true);
label15.setFont(label15.getFont().deriveFont(label15.getFont().getStyle() | Font.BOLD));
panel1.add(label15, CC.xy(5, 9));
//---- textField8 ----
textField8.setEditable(false);
panel1.add(textField8, CC.xy(7, 9));
//---- label39 ----
label39.setText("Todeseintritt");
label39.setHorizontalAlignment(SwingConstants.RIGHT);
label39.setBackground(new Color(208, 193, 251));
label39.setOpaque(true);
panel1.add(label39, CC.xy(9, 9));
//---- comboBox21 ----
comboBox21.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sekunde",
"Minute",
"Stunde",
"Tag",
"Woche",
"Monat",
"Jahr"
}));
panel1.add(comboBox21, CC.xy(11, 9));
//---- label6 ----
label6.setText("BioStoffV");
label6.setHorizontalAlignment(SwingConstants.RIGHT);
label6.setOpaque(true);
label6.setBackground(new Color(208, 193, 251));
label6.setFont(label6.getFont().deriveFont(label6.getFont().getStyle() | Font.BOLD));
panel1.add(label6, CC.xy(1, 11));
//---- comboBox2 ----
comboBox2.setModel(new DefaultComboBoxModel(new String[] {
" ",
"1",
"1*",
"1**",
"2",
"2*",
"2**",
"3",
"3*",
"3**",
"4",
"4*",
"4**"
}));
panel1.add(comboBox2, CC.xy(3, 11));
//---- label16 ----
label16.setText("IZ_Einheit");
label16.setHorizontalAlignment(SwingConstants.RIGHT);
label16.setBackground(new Color(208, 193, 251));
label16.setOpaque(true);
panel1.add(label16, CC.xy(5, 11));
//---- comboBox6 ----
comboBox6.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sekunde",
"Minute",
"Stunde",
"Tag",
"Woche",
"Monat",
"Jahr"
}));
panel1.add(comboBox6, CC.xy(7, 11));
//======== panel2 ========
{
panel2.setBorder(new TitledBorder(null, "LD50", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION,
new Font("Segoe UI", Font.BOLD, 12)));
panel2.setBackground(new Color(255, 204, 255));
panel2.setLayout(new FormLayout(
"150px, $lcgap, default:grow",
"3*(default:grow, $lgap), default:grow"));
//---- label47 ----
label47.setText("Organismus");
label47.setHorizontalAlignment(SwingConstants.RIGHT);
label47.setBackground(new Color(208, 193, 251));
label47.setOpaque(true);
panel2.add(label47, new CellConstraints(1, 1, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- comboBox10 ----
comboBox10.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Human",
"Kaninchen",
"Maus",
"Ratte",
"Meerschweinchen",
"Primaten",
"sonst. S\u00e4ugetier"
}));
panel2.add(comboBox10, new CellConstraints(3, 1, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label48 ----
label48.setText("Aufnahmeroute");
label48.setHorizontalAlignment(SwingConstants.RIGHT);
label48.setBackground(new Color(208, 193, 251));
label48.setOpaque(true);
panel2.add(label48, CC.xy(1, 3));
//---- comboBox11 ----
comboBox11.setModel(new DefaultComboBoxModel(new String[] {
" ",
"inhalativ",
"oral",
"dermal",
"Blut/Serum/K\u00f6rperfl\u00fcssigkeit",
"h\u00e4matogen",
"transplazental",
"kutan",
"venerisch",
"transkutan",
"intraperitoneal",
"intraven\u00f6s",
"subkutan",
"intramuskul\u00e4r",
"Injektion"
}));
panel2.add(comboBox11, new CellConstraints(3, 3, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label45 ----
label45.setText("Dosis");
label45.setHorizontalAlignment(SwingConstants.RIGHT);
label45.setBackground(new Color(208, 193, 251));
label45.setOpaque(true);
panel2.add(label45, new CellConstraints(1, 5, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- textField11 ----
textField11.setEditable(false);
panel2.add(textField11, new CellConstraints(3, 5, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label46 ----
label46.setText("Einheit");
label46.setHorizontalAlignment(SwingConstants.RIGHT);
label46.setBackground(new Color(208, 193, 251));
label46.setOpaque(true);
panel2.add(label46, new CellConstraints(1, 7, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- comboBox9 ----
comboBox9.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sporenzahl",
"KBE pro g",
"KBE pro ml",
"PBE pro g",
"PBE pro ml",
"Milligramm",
"Mikrogramm",
"\u00b5g/kg/KG",
"Anzahl"
}));
panel2.add(comboBox9, new CellConstraints(3, 7, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
}
panel1.add(panel2, new CellConstraints(9, 11, 3, 11, CC.DEFAULT, CC.DEFAULT, new Insets(4, 4, 4, 4)));
//---- label9 ----
label9.setText("Zielpopulation");
label9.setHorizontalAlignment(SwingConstants.RIGHT);
label9.setOpaque(true);
label9.setBackground(new Color(208, 193, 251));
panel1.add(label9, CC.xy(1, 13));
//---- comboBox3 ----
comboBox3.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Human",
"Kaninchen",
"Maus",
"Ratte",
"Meerschweinchen",
"Primaten",
"sonst. S\u00e4ugetier"
}));
panel1.add(comboBox3, CC.xy(3, 13));
//---- label17 ----
label17.setText("Symptomdauer");
label17.setHorizontalAlignment(SwingConstants.RIGHT);
label17.setBackground(new Color(208, 193, 251));
label17.setOpaque(true);
label17.setFont(label17.getFont().deriveFont(label17.getFont().getStyle() | Font.BOLD));
panel1.add(label17, CC.xy(5, 13));
//---- textField9 ----
textField9.setEditable(false);
panel1.add(textField9, CC.xy(7, 13));
//---- label10 ----
label10.setText("Aufnahmeroute");
label10.setHorizontalAlignment(SwingConstants.RIGHT);
label10.setOpaque(true);
label10.setBackground(new Color(208, 193, 251));
panel1.add(label10, CC.xy(1, 15));
//---- comboBox4 ----
comboBox4.setModel(new DefaultComboBoxModel(new String[] {
" ",
"inhalativ",
"oral",
"dermal",
"Blut/Serum/K\u00f6rperfl\u00fcssigkeit",
"h\u00e4matogen",
"transplazental",
"kutan",
"venerisch",
"transkutan",
"intraperitoneal",
"intraven\u00f6s",
"subkutan",
"intramuskul\u00e4r",
"Injektion"
}));
panel1.add(comboBox4, CC.xy(3, 15));
//---- label18 ----
label18.setText("SD_Einheit");
label18.setHorizontalAlignment(SwingConstants.RIGHT);
label18.setBackground(new Color(208, 193, 251));
label18.setOpaque(true);
panel1.add(label18, CC.xy(5, 15));
//---- comboBox7 ----
comboBox7.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sekunde",
"Minute",
"Stunde",
"Tag",
"Woche",
"Monat",
"Jahr"
}));
panel1.add(comboBox7, CC.xy(7, 15));
//---- label7 ----
label7.setText("Krankheit");
label7.setHorizontalAlignment(SwingConstants.RIGHT);
label7.setOpaque(true);
label7.setBackground(new Color(208, 193, 251));
label7.setFont(label7.getFont().deriveFont(label7.getFont().getStyle() | Font.BOLD));
panel1.add(label7, CC.xy(1, 17));
//---- textField5 ----
textField5.setEditable(false);
panel1.add(textField5, CC.xy(3, 17));
//---- label34 ----
label34.setText("Ausscheidungsdauer");
label34.setHorizontalAlignment(SwingConstants.RIGHT);
label34.setBackground(new Color(208, 193, 251));
label34.setOpaque(true);
label34.setFont(label34.getFont().deriveFont(label34.getFont().getStyle() | Font.BOLD));
panel1.add(label34, CC.xy(5, 17));
//---- comboBox16 ----
comboBox16.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sekunde",
"Minute",
"Stunde",
"Tag",
"Woche",
"Monat",
"Jahr"
}));
panel1.add(comboBox16, CC.xy(7, 17));
//---- label29 ----
label29.setText("Meldepflicht");
label29.setHorizontalAlignment(SwingConstants.RIGHT);
label29.setBackground(new Color(208, 193, 251));
label29.setOpaque(true);
label29.setFont(label29.getFont().deriveFont(label29.getFont().getStyle() | Font.BOLD));
panel1.add(label29, CC.xy(1, 19));
//---- comboBox15 ----
comboBox15.setModel(new DefaultComboBoxModel(new String[] {
" ",
"ja",
"nein"
}));
panel1.add(comboBox15, CC.xy(3, 19));
//======== panel4 ========
{
panel4.setBorder(new TitledBorder("..."));
panel4.setBackground(new Color(255, 204, 255));
panel4.setLayout(new FormLayout(
"150px, $lcgap, default:grow",
"3*(default, $lgap), default"));
//---- label35 ----
label35.setText("Ansteckend");
label35.setHorizontalAlignment(SwingConstants.RIGHT);
label35.setBackground(new Color(208, 193, 251));
label35.setOpaque(true);
panel4.add(label35, CC.xy(1, 1));
//---- comboBox17 ----
comboBox17.setModel(new DefaultComboBoxModel(new String[] {
" ",
"ja",
"nein"
}));
panel4.add(comboBox17, CC.xy(3, 1));
//---- label36 ----
label36.setText("Therapie");
label36.setHorizontalAlignment(SwingConstants.RIGHT);
label36.setBackground(new Color(208, 193, 251));
label36.setOpaque(true);
label36.setFont(label36.getFont().deriveFont(label36.getFont().getStyle() | Font.BOLD));
panel4.add(label36, CC.xy(1, 3));
//---- comboBox18 ----
comboBox18.setModel(new DefaultComboBoxModel(new String[] {
" ",
"ja",
"nein"
}));
panel4.add(comboBox18, CC.xy(3, 3));
//---- label37 ----
label37.setText("Antidot");
label37.setHorizontalAlignment(SwingConstants.RIGHT);
label37.setBackground(new Color(208, 193, 251));
label37.setOpaque(true);
label37.setFont(label37.getFont().deriveFont(label37.getFont().getStyle() | Font.BOLD));
panel4.add(label37, CC.xy(1, 5));
//---- comboBox19 ----
comboBox19.setModel(new DefaultComboBoxModel(new String[] {
" ",
"ja",
"nein"
}));
panel4.add(comboBox19, CC.xy(3, 5));
//---- label38 ----
label38.setText("Impfung");
label38.setHorizontalAlignment(SwingConstants.RIGHT);
label38.setBackground(new Color(208, 193, 251));
label38.setOpaque(true);
label38.setFont(label38.getFont().deriveFont(label38.getFont().getStyle() | Font.BOLD));
panel4.add(label38, CC.xy(1, 7));
//---- comboBox20 ----
comboBox20.setModel(new DefaultComboBoxModel(new String[] {
" ",
"ja",
"nein"
}));
panel4.add(comboBox20, CC.xy(3, 7));
}
panel1.add(panel4, CC.xywh(5, 21, 3, 11));
//---- label8 ----
label8.setText("Symptome");
label8.setHorizontalAlignment(SwingConstants.RIGHT);
label8.setOpaque(true);
label8.setBackground(new Color(208, 193, 251));
panel1.add(label8, CC.xywh(1, 21, 1, 5, CC.DEFAULT, CC.FILL));
//======== scrollPane1 ========
{
//---- textArea1 ----
textArea1.setEditable(false);
textArea1.setRows(3);
scrollPane1.setViewportView(textArea1);
}
panel1.add(scrollPane1, CC.xywh(3, 21, 1, 5));
//======== panel3 ========
{
panel3.setBorder(new TitledBorder(null, "LD100", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION,
new Font("Segoe UI", Font.BOLD, 12)));
panel3.setBackground(new Color(255, 204, 255));
panel3.setLayout(new FormLayout(
"150px, $lcgap, default:grow",
"3*(default:grow, $lgap), default:grow"));
//---- label51 ----
label51.setText("Organismus");
label51.setHorizontalAlignment(SwingConstants.RIGHT);
label51.setBackground(new Color(208, 193, 251));
label51.setOpaque(true);
panel3.add(label51, new CellConstraints(1, 1, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- comboBox13 ----
comboBox13.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Human",
"Kaninchen",
"Maus",
"Ratte",
"Meerschweinchen",
"Primaten",
"sonst. S\u00e4ugetier"
}));
panel3.add(comboBox13, new CellConstraints(3, 1, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label52 ----
label52.setText("Aufnahmeroute");
label52.setHorizontalAlignment(SwingConstants.RIGHT);
label52.setBackground(new Color(208, 193, 251));
label52.setOpaque(true);
panel3.add(label52, CC.xy(1, 3));
//---- comboBox14 ----
comboBox14.setModel(new DefaultComboBoxModel(new String[] {
" ",
"inhalativ",
"oral",
"dermal",
"Blut/Serum/K\u00f6rperfl\u00fcssigkeit",
"h\u00e4matogen",
"transplazental",
"kutan",
"venerisch",
"transkutan",
"intraperitoneal",
"intraven\u00f6s",
"subkutan",
"intramuskul\u00e4r",
"Injektion"
}));
panel3.add(comboBox14, new CellConstraints(3, 3, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label49 ----
label49.setText("Dosis");
label49.setHorizontalAlignment(SwingConstants.RIGHT);
label49.setBackground(new Color(208, 193, 251));
label49.setOpaque(true);
panel3.add(label49, new CellConstraints(1, 5, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- textField12 ----
textField12.setEditable(false);
panel3.add(textField12, new CellConstraints(3, 5, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- label50 ----
label50.setText("Einheit");
label50.setHorizontalAlignment(SwingConstants.RIGHT);
label50.setBackground(new Color(208, 193, 251));
label50.setOpaque(true);
panel3.add(label50, new CellConstraints(1, 7, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
//---- comboBox12 ----
comboBox12.setModel(new DefaultComboBoxModel(new String[] {
" ",
"Sporenzahl",
"KBE pro g",
"KBE pro ml",
"PBE pro g",
"PBE pro ml",
"Milligramm",
"Mikrogramm",
"\u00b5g/kg/KG",
"Anzahl"
}));
panel3.add(comboBox12, new CellConstraints(3, 7, 1, 1, CC.DEFAULT, CC.DEFAULT, new Insets(3, 3, 3, 3)));
}
panel1.add(panel3, CC.xywh(9, 23, 3, 12));
//---- label11 ----
label11.setText("Krankheitsverlauf");
label11.setHorizontalAlignment(SwingConstants.RIGHT);
label11.setOpaque(true);
label11.setBackground(new Color(208, 193, 251));
label11.setFont(label11.getFont().deriveFont(label11.getFont().getStyle() | Font.BOLD));
panel1.add(label11, CC.xy(1, 27));
//---- comboBox5 ----
comboBox5.setModel(new DefaultComboBoxModel(new String[] {
" ",
"akut",
"chronisch",
"perkaut",
"subakut"
}));
panel1.add(comboBox5, CC.xy(3, 27));
//---- label12 ----
label12.setText("Risikogruppen");
label12.setHorizontalAlignment(SwingConstants.RIGHT);
label12.setOpaque(true);
label12.setBackground(new Color(208, 193, 251));
panel1.add(label12, CC.xywh(1, 29, 1, 5, CC.DEFAULT, CC.FILL));
//======== scrollPane2 ========
{
//---- textArea2 ----
textArea2.setEditable(false);
textArea2.setRows(3);
scrollPane2.setViewportView(textArea2);
}
panel1.add(scrollPane2, CC.xywh(3, 29, 1, 5));
//---- label40 ----
label40.setText("Spaetschaeden");
label40.setHorizontalAlignment(SwingConstants.RIGHT);
label40.setBackground(new Color(208, 193, 251));
label40.setOpaque(true);
label40.setFont(label40.getFont().deriveFont(label40.getFont().getStyle() | Font.BOLD));
panel1.add(label40, CC.xy(1, 35, CC.DEFAULT, CC.FILL));
//======== scrollPane5 ========
{
//---- textArea4 ----
textArea4.setRows(6);
textArea4.setLineWrap(true);
scrollPane5.setViewportView(textArea4);
}
panel1.add(scrollPane5, CC.xy(3, 35));
//---- label41 ----
label41.setText("Komplikationen");
label41.setHorizontalAlignment(SwingConstants.RIGHT);
label41.setBackground(new Color(208, 193, 251));
label41.setOpaque(true);
label41.setFont(label41.getFont().deriveFont(label41.getFont().getStyle() | Font.BOLD));
panel1.add(label41, CC.xy(5, 35, CC.DEFAULT, CC.FILL));
//======== scrollPane6 ========
{
//---- textArea5 ----
textArea5.setRows(6);
textArea5.setLineWrap(true);
scrollPane6.setViewportView(textArea5);
}
panel1.add(scrollPane6, CC.xy(7, 35));
//---- label44 ----
label44.setText("Kommentar");
label44.setHorizontalAlignment(SwingConstants.RIGHT);
label44.setOpaque(true);
label44.setBackground(new Color(208, 193, 251));
panel1.add(label44, CC.xy(9, 35, CC.DEFAULT, CC.FILL));
//======== scrollPane4 ========
{
//---- textArea3 ----
textArea3.setRows(6);
textArea3.setMaximumSize(new Dimension(575, 2147483647));
textArea3.setLineWrap(true);
scrollPane4.setViewportView(textArea3);
}
panel1.add(scrollPane4, CC.xy(11, 35));
//---- label43 ----
label43.setText("Guetescore");
label43.setHorizontalAlignment(SwingConstants.RIGHT);
label43.setBackground(new Color(208, 193, 251));
label43.setOpaque(true);
panel1.add(label43, CC.xy(5, 37));
panel1.add(textField18, CC.xy(7, 37));
//---- checkBox1 ----
checkBox1.setText("Geprueft");
checkBox1.setEnabled(false);
checkBox1.setBackground(new Color(208, 193, 251));
panel1.add(checkBox1, CC.xy(11, 37));
}
scrollPane3.setViewportView(panel1);
}
add(scrollPane3, CC.xy(1, 1));
//---- label42 ----
label42.setText("3 von 25");
label42.setHorizontalAlignment(SwingConstants.CENTER);
add(label42, CC.xy(1, 3));
//---- scrollBar1 ----
scrollBar1.setOrientation(Adjustable.HORIZONTAL);
scrollBar1.setVisibleAmount(0);
scrollBar1.addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
scrollBar1AdjustmentValueChanged(e);
}
});
add(scrollBar1, CC.xy(1, 5));
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JScrollPane scrollPane3;
private JPanel panel1;
private JLabel label1;
private JTextField textField1;
private JLabel label13;
private JTextField textField6;
private JLabel label30;
private JTextField textField13;
private JLabel label2;
private JTextField textField2;
private JLabel label14;
private JTextField textField7;
private JLabel label31;
private JTextField textField14;
private JLabel label3;
private JTextField textField3;
private JLabel label19;
private JTextField textField10;
private JLabel label32;
private JTextField textField15;
private JLabel label4;
private JTextField textField4;
private JLabel label20;
private JComboBox comboBox8;
private JLabel label33;
private JComboBox comboBox22;
private JLabel label5;
private JComboBox comboBox1;
private JLabel label15;
private JTextField textField8;
private JLabel label39;
private JComboBox comboBox21;
private JLabel label6;
private JComboBox comboBox2;
private JLabel label16;
private JComboBox comboBox6;
private JPanel panel2;
private JLabel label47;
private JComboBox comboBox10;
private JLabel label48;
private JComboBox comboBox11;
private JLabel label45;
private JTextField textField11;
private JLabel label46;
private JComboBox comboBox9;
private JLabel label9;
private JComboBox comboBox3;
private JLabel label17;
private JTextField textField9;
private JLabel label10;
private JComboBox comboBox4;
private JLabel label18;
private JComboBox comboBox7;
private JLabel label7;
private JTextField textField5;
private JLabel label34;
private JComboBox comboBox16;
private JLabel label29;
private JComboBox comboBox15;
private JPanel panel4;
private JLabel label35;
private JComboBox comboBox17;
private JLabel label36;
private JComboBox comboBox18;
private JLabel label37;
private JComboBox comboBox19;
private JLabel label38;
private JComboBox comboBox20;
private JLabel label8;
private JScrollPane scrollPane1;
private JTextArea textArea1;
private JPanel panel3;
private JLabel label51;
private JComboBox comboBox13;
private JLabel label52;
private JComboBox comboBox14;
private JLabel label49;
private JTextField textField12;
private JLabel label50;
private JComboBox comboBox12;
private JLabel label11;
private JComboBox comboBox5;
private JLabel label12;
private JScrollPane scrollPane2;
private JTextArea textArea2;
private JLabel label40;
private JScrollPane scrollPane5;
private JTextArea textArea4;
private JLabel label41;
private JScrollPane scrollPane6;
private JTextArea textArea5;
private JLabel label44;
private JScrollPane scrollPane4;
private JTextArea textArea3;
private JLabel label43;
private JTextField textField18;
private JCheckBox checkBox1;
private JLabel label42;
private JScrollBar scrollBar1;
// JFormDesigner - End of variables declaration //GEN-END:variables
}