Ein herzliche Hallo,
wieder mal hab ich ein seltsamen Fehler in meinem Code.
Beim debuggen, wird der Thread angehalten und ein Reiter mit dem Titel: EventDispatchThread.run() Zeile: nicht verfügbar geöffnet.
Drunter steht eigentlich nur:
Die Quelle wurde nicht gefunden.
(Button)
Quellensuchpfad bearbeiten...
Ich kann den Fehler auf folgende Codezeilen eingrenzen:
Kann mir jemand einen hint geben?
hier noch der genze code des Applets:
Schon mal danke im voraus...
wieder mal hab ich ein seltsamen Fehler in meinem Code.
Beim debuggen, wird der Thread angehalten und ein Reiter mit dem Titel: EventDispatchThread.run() Zeile: nicht verfügbar geöffnet.
Drunter steht eigentlich nur:
Die Quelle wurde nicht gefunden.
(Button)
Quellensuchpfad bearbeiten...
Ich kann den Fehler auf folgende Codezeilen eingrenzen:
Code:
if (i>=mt.getRowCount())
{
mt.addRow(new Vector());
}
Kann mir jemand einen hint geben?
hier noch der genze code des Applets:
Code:
package com.ibm.issav.applet;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.Serializable;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Hashtable;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import com.ibm.issav2.appletbeans.AlarmInfo;
import com.ibm.issav2.appletbeans.AppletRequest;
import com.ibm.issav2.appletbeans.RequestType;
public class AlarmListApplet extends ISSAV2Applet implements ActionListener, WindowListener
{
//----GUI Variablen
private static final long serialVersionUID = 1L;
private JButton loeschen, uebertragen,zurueck;
private JLabel labelTitel;
private JTable tabelle;
private Panel mitte, sueden,titel;
private String servletName = "";
//----------AlarmDaten------------
private JCheckBox action;
private int alarmID;
private int sensorID;
private long timeStamp;
private Vector alarmliste = new Vector();
private Vector markiert = new Vector();
private int user;
private Object[] rowData = null;
private MyTableModel mt = new MyTableModel();
protected static final int normalDelay=2000;
protected static final String LÖSCH = "loeschen";
public AlarmListApplet() {
setLayout(new BorderLayout());
//------Tabelle ---
tabelle = new JTable();
tabelle.setModel(mt);
tabelle.setAutoCreateColumnsFromModel(true);
JScrollPane scrollPane = new JScrollPane(tabelle);
tabelle.setPreferredScrollableViewportSize(new Dimension(500, 200));
tabelle.getColumn("!").setMinWidth(40);
tabelle.getColumn("!").setMaxWidth(40);
tabelle.getTableHeader().setReorderingAllowed(false);
tabelle.getTableHeader().setResizingAllowed(false);
tabelle.getColumn("user").setMinWidth(30);
tabelle.getColumn("user").setMaxWidth(30);
tabelle.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
ListSelectionModel rowSM = tabelle.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent ev) {
//Ignore extra messages.
if (ev.getValueIsAdjusting()) return;
ListSelectionModel lsm = (ListSelectionModel)ev.getSource();
if (lsm.isSelectionEmpty()==true) {
System.out.println("No rows are selected.");
}
else {
int selectedRow = lsm.getMinSelectionIndex();
System.out.println("Row " + selectedRow + " is now selected.");
System.out.println("AlarmID sollte sein:"+ tabelle.getValueAt(selectedRow, 1));
// markiert.addElement((tabelle.getValueAt(selectedRow, 1)));
markiert.add((Integer) (tabelle.getValueAt(selectedRow, 1)));
}
}
});
Panel panel = new Panel();
panel.add(tabelle.getTableHeader());
panel.add(scrollPane);
add("Center",panel);
//------Tabelle ende ---
//------Panel für die AlarmButtons (Sueden)
Panel sueden = new Panel();
sueden.setLayout(new GridLayout(1,0));
//------Buttons für das zugehörige Panel werden erstellt
loeschen = new JButton("Löschen");
sueden.add(loeschen);
loeschen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
JOptionPane.showMessageDialog(null, "Alarm wird gelöscht");
}
});
uebertragen = new JButton("Übertragen");
sueden.add(uebertragen);
uebertragen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
JOptionPane.showMessageDialog(null, "Alarm wird an XY übertragen");
}
});
zurueck= new JButton("Zurückgeben");
sueden.add(zurueck);
zurueck.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
JOptionPane.showMessageDialog(null, "Alarm ist nicht in meinem Zuständigkeitsbereich, wird zurückgegeben");
}
});
add("South", sueden);
action = new JCheckBox();
action.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
JOptionPane.showMessageDialog(null, "Gecheckt");
}
});
}
public class MyTableModel extends DefaultTableModel implements TableModelListener
{
private static final long serialVersionUID = 1L;
private String[] columnNames = {"!","AlarmID", "SensorID", "Uhrzeit", "user"};
private boolean[] sortColumnDesc;
public int getColumnCount() {
return columnNames.length;
}
// public int getRowCount() {
// return data.length;
// }
public String getColumnName(int col) {
return (String)columnNames[col];
}
// @SuppressWarnings("unchecked")
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
//---Setzt Tabelle auf nicht editierbar; außer die Checkboxen...
public boolean isCellEditable(int row, int col) {
return col==0;
}
public void tableChanged(TableModelEvent e) {
// TODO Auto-generated method stub
}
}
public void doAction(){
readParameterForInit(normalDelay);
try {
if (servletName==null || servletName.length()==0)return;
URL servlet = new URL( servletName);
AppletRequest newReq = new AppletRequest();
newReq.setRequestType(RequestType.ALARMLISTE);
Serializable objs[] = {newReq};
Hashtable data = postObjects( servlet, objs);
Vector vec = (Vector)data.get("alarmListe");
setAlarmliste(vec);
} catch (Exception e) {e.printStackTrace();}
for (int i=0; i<alarmliste.size();i++)
{
if (i>=mt.getRowCount())
{
mt.addRow(new Vector());
}
int j=0;
mt.setValueAt(new Boolean(false), i, j); j++;
AlarmInfo alarm= (AlarmInfo)alarmliste.get(i);
alarmID=alarm.getAlarmID();
mt.setValueAt(""+alarmID, i , j);
j++;
AlarmInfo alarm2 = (AlarmInfo)alarmliste.get(i);
sensorID=alarm2.getTrack().getTrack()[0].getSensorID();
mt.setValueAt(""+sensorID, i, j);
j++;
AlarmInfo alarm3 = (AlarmInfo)alarmliste.get(i);
timeStamp=alarm3.getTrack().getTrack()[0].getTimeStamp();
final Date date = new Date(timeStamp);
final SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
mt.setValueAt(""+df.format(date), i, j);
j++;
AlarmInfo alarm4 = (AlarmInfo)alarmliste.get(i);
user=alarm4.getHandlingStatus();
mt.setValueAt(""+user,i,j);
}
for (int i =0; i<= markiert.size(); i++)
System.out.println("Das steht in markiert:"+ markiert.get(i));
}
protected void readParameterForInit(int delay){
servletName = getParameter("servletName");
setDelay(delay);
}
protected void readParameterForInit() {
servletName = getParameter("servletName");
setDelay(2000);
}
public void setAlarmliste(Vector vector) {
alarmliste = vector;
}
public void sortTabelle() {
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
}
Schon mal danke im voraus...