Hallo,
ich hab ein Problem mit dem Befüllen eines JTable.
In meinem Programm gibt es einen FileParser der txt-Dateien ausließt und verarbeitet und diese in Form einer ArrayList an das TableModel übergibt:
Hierbei bekomme 2 Fehler:
1. Die Daten werden nur nach einem Klick auf eine HeaderSpalte (sortieren) angezeigt und nicht direkt nach dem einlesen. (dieser Fehler ist nicht so dramatisch)
2. Es werden wenn man mehrere txt-Dateien einließt in der JTable bereits vorhandene Einträge kopiert und nochmals an die Tabelle angehägt. (sehr dramatischer Fehler :shock
Für das JTable habe ich ein eigenes TableModel geschrieben:
Ich habe mir ein GUI in der Klasse MainFrame zusammen gebaut:
Dort wird auch unter den Punkten jMenuItemVerzeich und JMenuItemDatei das Auslesen nach einen FileChooserDialog ausgeführt
(ich poste Ausschnitte des Code)
Wenn jemand weiß wo mein Fehler liegt bitte unbedingt melden - weiß echt nicht mehr weiter :bahnhof:
ich hab ein Problem mit dem Befüllen eines JTable.
In meinem Programm gibt es einen FileParser der txt-Dateien ausließt und verarbeitet und diese in Form einer ArrayList an das TableModel übergibt:
Hierbei bekomme 2 Fehler:
1. Die Daten werden nur nach einem Klick auf eine HeaderSpalte (sortieren) angezeigt und nicht direkt nach dem einlesen. (dieser Fehler ist nicht so dramatisch)
2. Es werden wenn man mehrere txt-Dateien einließt in der JTable bereits vorhandene Einträge kopiert und nochmals an die Tabelle angehägt. (sehr dramatischer Fehler :shock
Java:
package testing2;
import java.io.*;
import java.text.BreakIterator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public abstract class FileParser {
// Datendeklaration Speichervariablen
private static String tmp_msg_sender; // Nachrichtensender
private static String tmp_msg_receiver; // Nachrichtenempfänger
private static String tmp_zp_bez; // Zählpunkt-Bezeichnung
private static String tmp_zp_dat; // Zählpunkt-Datum
private static String tmp_zp_zlger; // Zählpunkt-Zählgerät
private static String tmp_zp_obisk; //Obis-Kanal
private static String tmp_zp_obisn; //Obis-Nr
private static String tmp_zp_obis; // Gesammte OBIS-Kenennung
private static String tmp_zp_qual; // Zählpunkt-Qualifyer
private static String tmp_zp_zlstand; // Zählpunkt-Zählerstand
private static String tmp_zp_zlgr; // Zählpunkt-Ablesegrund
private static String tmp_zp_status; // Zählpunkt-Status
private static String tmp_zp_wandfak; // Zählpunkt-Wandlerfaktor
private static ArrayList<Zaehlpunkt> tmp_zlpnkt = new ArrayList<Zaehlpunkt>();
private static int hcounter; // Hilfsvariable fürs Zählen!
// private static String file; //Pfad/Dateiname
private Zaehlpunkt temp_zlpnkt;
// Übergabe der Files
public static void start(String file) throws IOException {
String filename = file;
// Setzen Zählervariable auf 0
hcounter = 0;
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
// Zeilenweises einlesen
while ((line = reader.readLine()) != null) {
// Zerlegen in Segemente bei Trennzeichen "'".
String[] result = line.split("'");
// Durchlaufen der Segmente
for (int x = 0; x < result.length; x++) {
// System.out.print(x + " ");
// System.out.println(result[x]);
// Beginn Verarbeitung
// Auslesen Sender
if (result[x].startsWith("NAD+MS")) {
Pattern patternMn = Pattern.compile("\\+(\\d+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Nachrichten-Sender");
System.out.println(matcherMn.group(1));
tmp_msg_sender = matcherMn.group(1);
continue;
}
}
// Auslesen Sender
if (result[x].startsWith("NAD+MR")) {
Pattern patternMn = Pattern.compile("\\+(\\d+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Nachrichten-Empfänger");
System.out.println(matcherMn.group(1));
tmp_msg_receiver = matcherMn.group(1);
continue;
}
}
// Beginn Mscons-Zählpunkte
if (result[x].startsWith("NAD+DP")) {
hcounter++;
continue;
}
// Auslesen Zählpunkt
if (result[x].startsWith("LOC+172")) {
Pattern patternMn = Pattern.compile("\\+(\\w+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zählpunkt");
System.out.println(matcherMn.group(1));
tmp_zp_bez = matcherMn.group(1);
continue;
}
}
// Auslesen Zählgerät
if (result[x].startsWith("RFF+MG")) {
Pattern patternMn = Pattern.compile("\\:(\\w+)");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zählgerät");
System.out.println(matcherMn.group(1));
tmp_zp_zlger = matcherMn.group(1);
continue;
}
}
// Auslesen Datum
if (result[x].startsWith("DTM+9")) {
Pattern patternMn = Pattern.compile("\\:+(\\w+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zähler-Datum");
System.out.println(matcherMn.group(1));
tmp_zp_dat = matcherMn.group(1);
continue;
}
}
//Auslesen Obis-Kanal
if (result[x].startsWith("PIA+5")) {
Pattern patternMn = Pattern.compile("\\+(\\p{Graph}+)\\?");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Obis-Kanal");
String[] temp = matcherMn.group(1).split("\\+");
tmp_zp_obisk = temp[1];
System.out.println(tmp_zp_obisk);
}
}
//Auslesen Obis-Nummer
if (result[x].startsWith("PIA+5")) {
Pattern patternMn = Pattern.compile("\\:+(\\p{Graph}+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Obis-Nummer");
//Weitere Aufteilung
String[] temp = matcherMn.group(1).split(":");
String tmp1_zp_obisn = temp[0];
//Ersetzten .8. durch .80.
tmp_zp_obisn = tmp1_zp_obisn.replace(".8.", ".80.");
System.out.println(tmp_zp_obisn);
tmp_zp_obis = tmp_zp_obisk + ":" + tmp_zp_obisn;
System.out.println("Zusammengesetzte OBIS");
System.out.println(tmp_zp_obis);
continue;
}
}
// Auslesen Qualifyer-Nr
if (result[x].startsWith("QTY+")) {
Pattern patternMn = Pattern.compile("\\++(\\w+):+");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Qualifyer-Nr");
System.out.println(matcherMn.group(1));
tmp_zp_qual = matcherMn.group(1);
}
}
// Auslesen Zählerstand mit :
if (result[x].startsWith("QTY+")) {
Pattern patternMn = Pattern.compile("\\:(\\p{Graph}+):");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zählerstand");
System.out.println(matcherMn.group(1));
tmp_zp_zlstand = matcherMn.group(1);
// Wenn Zähler gefunden neue Prüfung überspringen
continue;
}
}
// Auslesen Zählerstand
if (result[x].startsWith("QTY+")) {
Pattern patternMn = Pattern.compile("\\:(\\d+)");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zählerstand");
System.out.println(matcherMn.group(1));
tmp_zp_zlstand = matcherMn.group(1);
continue;
}
}
// Auslesen Ablesgrund
if (result[x].startsWith("CCI+ACH")) {
Pattern patternMn = Pattern.compile("\\+\\W(\\w++)");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Ablesegrund");
System.out.println(matcherMn.group(1));
tmp_zp_zlgr = matcherMn.group(1);
continue;
}
}
// Auslesen Ablesestatus
if (result[x].startsWith("CCI+16")) {
Pattern patternMn = Pattern.compile("\\+\\D(\\w++)");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Zählerstatus");
System.out.println(matcherMn.group(1));
tmp_zp_status = matcherMn.group(1);
continue;
}
}
// Auslesen Wandlerfaktor
if (result[x].startsWith("MEA+SV+RY+A9")) {
Pattern patternMn = Pattern.compile("\\:(\\p{Graph}+)");
Matcher matcherMn = patternMn.matcher(result[x]);
if (matcherMn.find()) {
System.out.println("Wandlerfaktor");
System.out.println(matcherMn.group(1));
tmp_zp_wandfak = matcherMn.group(1);
// Übergabe der Werte an den tmporäre ArrayList
// tmp_zlpnkt
tmp_zlpnkt.add(new Zaehlpunkt(hcounter, tmp_msg_sender,
tmp_msg_receiver, tmp_zp_bez, tmp_zp_dat,
tmp_zp_zlger, tmp_zp_obis, tmp_zp_qual,
tmp_zp_zlstand, tmp_zp_zlgr, tmp_zp_status,
tmp_zp_wandfak));
continue;
}
}
}
}
//Übergabe an des TableModel
ZaehlpunktTableModel tableModel = new ZaehlpunktTableModel();
tableModel.addNewMutliData(tmp_zlpnkt);
}
}
Für das JTable habe ich ein eigenes TableModel geschrieben:
Java:
package testing2;
import java.util.ArrayList;
import javax.swing.event.EventListenerList;
import javax.swing.table.AbstractTableModel;
public class ZaehlpunktTableModel extends AbstractTableModel {
public static final int ID_COLUMN = 0;
public static final int SENDER_COLUMN = 1;
public static final int RECEIVER_COLUMN = 2;
public static final int BEZ_COLUMN = 3;
public static final int DAT_COLUMN = 4;
public static final int ZLGER_COLUMN = 5;
public static final int OBIS_COLUMN = 6;
public static final int QUAL_COLUMN = 7;
public static final int ZLSTAND_COLUMN = 8;
public static final int ZLGR_COLUMN = 9;
public static final int STATUS_COLUMN = 10;
public static final int WANDFAK_COLUMN = 11;
private final static ArrayList<Zaehlpunkt> zaehlpunkte = new ArrayList<Zaehlpunkt>();
public void addNewMutliData(ArrayList<Zaehlpunkt> newZaehlpunkte) {
int first = zaehlpunkte.size();
int last = first + newZaehlpunkte.size() - 1;
zaehlpunkte.addAll(newZaehlpunkte);
fireTableRowsInserted(first, last);
}
public void addSingleData(Zaehlpunkt zaehlpunkt) {
int index = zaehlpunkte.size();
zaehlpunkte.add(zaehlpunkt);
fireTableRowsInserted(index, index);
}
public void remove(int index){
zaehlpunkte.remove(index);
}
public int getRowCount() {
return zaehlpunkte.size();
}
public int getColumnCount() {
return 12;
}
@Override
public Class getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
public Zaehlpunkt getZaehlpunkt(int row) {
return zaehlpunkte.get(row);
}
public Object getValueAt(int row, int column) {
Zaehlpunkt zaehlpunkte1 = zaehlpunkte.get(row);
switch (column) {
case ID_COLUMN:
return zaehlpunkte1.getId();
case SENDER_COLUMN:
return zaehlpunkte1.getMsg_sender();
case RECEIVER_COLUMN:
return zaehlpunkte1.getMsg_receiver();
case BEZ_COLUMN:
return zaehlpunkte1.getZp_bez();
case DAT_COLUMN:
return zaehlpunkte1.getZp_dat();
case ZLGER_COLUMN:
return zaehlpunkte1.getZp_zlger();
case OBIS_COLUMN:
return zaehlpunkte1.getZp_obis();
case QUAL_COLUMN:
return zaehlpunkte1.getZp_qual();
case ZLSTAND_COLUMN:
return zaehlpunkte1.getZp_zlstand();
case ZLGR_COLUMN:
return zaehlpunkte1.getZp_zlgr();
case STATUS_COLUMN:
return zaehlpunkte1.getZp_status();
case WANDFAK_COLUMN:
return zaehlpunkte1.getZp_wandfak();
}
return null;
}
@Override
public String getColumnName (int columnIndex) {
String ueberschriften[] = {"Id", "Sender", "Empfänger", "Zählpunkt",
"Zählerdatum", "Gerätenummer", "OBIS-Nr", "Qualifyer", "Zählerstand",
"Ablesegrund", "Status Zählstand", "Wandlerfaktor"};
return ueberschriften[columnIndex];
}
}
Ich habe mir ein GUI in der Klasse MainFrame zusammen gebaut:
Dort wird auch unter den Punkten jMenuItemVerzeich und JMenuItemDatei das Auslesen nach einen FileChooserDialog ausgeführt
(ich poste Ausschnitte des Code)
Java:
/**
* This is the default constructor
*/
public MainFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(1339, 978);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
this.setJMenuBar(getJJMenuBar());
this.setContentPane(getJContentPane());
this.setTitle("Abgleich Zählerpunkte fehlerhafter MSCONS");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
/**
* This method initializes jPanelWest
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelWest() {
if (jPanelWest == null) {
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.gridx = 0;
gridBagConstraints2.fill = GridBagConstraints.BOTH;
gridBagConstraints2.ipadx = 1;
gridBagConstraints2.gridy = 1;
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 1.0;
jPanelWest = new JPanel();
jPanelWest.setLayout(new GridBagLayout());
jPanelWest.setName("Westlicher Ausschnitt");
jPanelWest.setBorder(BorderFactory.createLineBorder(Color.gray, 1));
jPanelWest.setPreferredSize(new Dimension(500, 500));
jPanelWest.add(getJScrollMscons(), gridBagConstraints);
jPanelWest.add(getJPanelSouthWest(), gridBagConstraints2);
}
return jPanelWest;
}
/**
* This method initializes jScrollMscons
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollMscons() {
if (jScrollMscons == null) {
jScrollMscons = new JScrollPane();
jScrollMscons.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jScrollMscons.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollMscons.setViewportView(getJTableMSCONS());
}
return jScrollMscons;
}
/**
* This method initializes jPanelEast
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelEast() {
if (jPanelEast == null) {
GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
gridBagConstraints10.gridx = 0;
gridBagConstraints10.fill = GridBagConstraints.BOTH;
gridBagConstraints10.weightx = 1.0D;
gridBagConstraints10.weighty = 0.0D;
gridBagConstraints10.gridy = 1;
GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
gridBagConstraints9.fill = GridBagConstraints.BOTH;
gridBagConstraints9.weighty = 1.0;
gridBagConstraints9.gridx = 0;
gridBagConstraints9.gridy = 0;
gridBagConstraints9.insets = new Insets(5, 5, 5, 5);
gridBagConstraints9.weightx = 1.0;
jPanelEast = new JPanel();
jPanelEast.setLayout(new GridBagLayout());
jPanelEast.setBorder(BorderFactory.createLineBorder(Color.gray, 1));
jPanelEast.setPreferredSize(new Dimension(500, 500));
jPanelEast.add(getJScrollDatabase(), gridBagConstraints9);
jPanelEast.add(getJPanelSouthEast(), gridBagConstraints10);
}
return jPanelEast;
}
/**
* This method initializes jScrollDatabase
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollDatabase() {
if (jScrollDatabase == null) {
jScrollDatabase = new JScrollPane();
jScrollDatabase
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrollDatabase
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jScrollDatabase.setViewportView(getJTableDATABASE());
}
return jScrollDatabase;
}
/**
* This method initializes jTableMSCONS
*
* @return javax.swing.JTable
*/
private JTable getJTableMSCONS() {
if (jTableMSCONS == null) {
jTableMSCONS = new JTable();
jTableMSCONS.setModel(new ZaehlpunktTableModel());
jTableMSCONS.setAutoCreateRowSorter(true);
jTableMSCONS.setAutoResizeMode(0);
jTableMSCONS.setRowHeight(25);
jTableMSCONS.setAutoCreateColumnsFromModel(true);
jTableMSCONS
.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}
return jTableMSCONS;
}
/**
* This method initializes jTableDATABASE
*
* @return javax.swing.JTable
*/
private JTable getJTableDATABASE() {
if (jTableDATABASE == null) {
jTableDATABASE = new JTable();
jTableDATABASE.setModel(new DataBaseTableModel());
jTableDATABASE.setAutoCreateRowSorter(true);
jTableDATABASE.setRowHeight(25);
jTableDATABASE.setAutoCreateColumnsFromModel(true);
jTableDATABASE.setAutoResizeMode(0);
}
return jTableDATABASE;
}
/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getJMenuProgramm());
jJMenuBar.add(getJMenuDatei());
jJMenuBar.add(getJMenuDatabase());
}
return jJMenuBar;
}
/**
* This method initializes jMenuDatei
*
* @return javax.swing.JMenu
*/
private JMenu getJMenuDatei() {
if (jMenuDatei == null) {
jMenuDatei = new JMenu();
jMenuDatei.setText("MSCONS-Dateien");
jMenuDatei.add(getJMenuItemVerzeich());
jMenuDatei.add(getJMenuItemDatei());
jMenuDatei.add(getJMenuItemLoeschen());
}
return jMenuDatei;
}
/**
* This method initializes jMenuItemDatei
*
* @return javax.swing.JMenuItem
*/
// Einzelne MSCONSDatei öffnen
private JMenuItem getJMenuItemDatei() {
if (jMenuItemDatei == null) {
jMenuItemDatei = new JMenuItem();
jMenuItemDatei.setText("MSCONS einzeln einlesen");
jMenuItemDatei
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JFileChooser singleData = new JFileChooser();
singleData
.setFileSelectionMode(JFileChooser.FILES_ONLY);
singleData.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return f.isDirectory()
|| f.getName().toLowerCase()
.endsWith(".txt");
}
@Override
public String getDescription() {
return "*.txt";
}
});
if (singleData.showOpenDialog(getParent()) != JFileChooser.APPROVE_OPTION)
return;
try {
filename = singleData.getSelectedFile()
.getAbsolutePath();
FileParser.start(filename);
} catch (Exception ex) {
// ex.printStackTrace();
}
}
});
}
return jMenuItemDatei;
}
/**
* This method initializes jMenuItemVerzeich
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItemVerzeich() {
if (jMenuItemVerzeich == null) {
jMenuItemVerzeich = new JMenuItem();
jMenuItemVerzeich.setText("Alle MSCONS im Verzeichniss einlesen");
jMenuItemVerzeich
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JFileChooser multiData = new JFileChooser();
multiData
.setFileSelectionMode(JFileChooser.FILES_ONLY);
multiData.setMultiSelectionEnabled(true);
multiData.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return f.isDirectory()
|| f.getName().toLowerCase()
.endsWith(".txt");
}
@Override
public String getDescription() {
return "*.txt";
}
});
if (multiData.showOpenDialog(getParent()) != JFileChooser.APPROVE_OPTION)
return;
try {
File[] files = multiData.getSelectedFiles();
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
FileParser.start(files[i]
.getAbsolutePath());
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
}
return jMenuItemVerzeich;
}
/**
* This method initializes jMenuItemLoeschen
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItemLoeschen() {
if (jMenuItemLoeschen == null) {
jMenuItemLoeschen = new JMenuItem();
jMenuItemLoeschen.setText("Alle MSCONS aus Tabelle löschen");
}
return jMenuItemLoeschen;
}
/**
* This method initializes jMenuProgramm
*
* @return javax.swing.JMenu
*/
private JMenu getJMenuProgramm() {
if (jMenuProgramm == null) {
jMenuProgramm = new JMenu();
jMenuProgramm.setText("Programm");
jMenuProgramm.add(getJMenuItemBeenden());
}
return jMenuProgramm;
}
/**
* This method initializes jMenuItemBeenden
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItemBeenden() {
if (jMenuItemBeenden == null) {
jMenuItemBeenden = new JMenuItem();
jMenuItemBeenden.setText("Beenden");
jMenuItemBeenden
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.exit(getDefaultCloseOperation());
}
});
}
return jMenuItemBeenden;
}
/**
* This method initializes jMenuDatabase
*
* @return javax.swing.JMenu
*/
private JMenu getJMenuDatabase() {
if (jMenuDatabase == null) {
jMenuDatabase = new JMenu();
jMenuDatabase.setText("Datenbank");
jMenuDatabase.add(getJMenuItemEigenschaften());
}
return jMenuDatabase;
}
/**
* This method initializes jMenuItemEigenschaften
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getJMenuItemEigenschaften() {
if (jMenuItemEigenschaften == null) {
jMenuItemEigenschaften = new JMenuItem();
jMenuItemEigenschaften.setText("Verbindung herstellen");
jMenuItemEigenschaften
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
// Datenbank Eigenschaften öffnen
activateConnectionDialog();
}
});
}
return jMenuItemEigenschaften;
}
// @jve:decl-index=0:visual-constraint="10,10"
void activateConnectionDialog() {
connect();
}
public void connect() {
dataBase = new DatabaseConnector();
}
}
Wenn jemand weiß wo mein Fehler liegt bitte unbedingt melden - weiß echt nicht mehr weiter :bahnhof: