- W moim kodzie, główna klasa była kombajnem. W szczególności była ActionListenerem, dlatego
new WeekWindow(this)
. Można do pozycji menu podpiąć jako listenera anonimową klasę wewnętrzną, wtedy będzie new WeekWindow(Remainder.this)
.
- Główna klasa tworzy listę komunikatów i wyświetla komuniukaty.
this
w klasie WeekWindow jest wykorzystywany do modyfikacji listy komunikatów.
- O jakiej tablicy Ty mówisz? W klasie WeekWindow
WeekModel model = new WeekModel();
readEvents(); //odczytuje w pętli plik tekstowy z przypomnieniami, dla każdego przypomnienia message model.add(message);
JTable table = new JTable(model);</code=java>
Klasa WeekModel wygląda tak:
```java
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class WeekModel extends AbstractTableModel
{
private String[] columnNames = {"Treść","Dzień","Ile dni przed","Ile razy","Odstęp"};
private Class<?>[] columnClasses = {String.class,Integer.class,Integer.class,Integer.class,Integer.class};
private ArrayList<WeekEvent> dane = new ArrayList<WeekEvent>();
//------------------------
public void add(WeekEvent msg)
{
dane.add(msg);
}
//------------------------
public void set(int index,WeekEvent msg)
{
dane.set(index,msg);
}
//------------------------
public void delete(int index)
{
dane.remove(index);
}
//------------------------
public int getColumnCount()
{
return columnNames.length;
}
//------------------------
public String getColumnName(int col)
{
return columnNames[col];
}
//------------------------
public Class<?> getColumnClass(int col)
{
return columnClasses[col];
}
//------------------------
public int getRowCount()
{
return dane.size();
}
//------------------------
public Object getValueAt(int row,int col)
{
WeekEvent msg = dane.get(row);
switch(col)
{
case 0:
return msg.getMsg();
case 1:
return msg.getLastDay();
case 2:
return msg.getHowManyDays();
case 3:
return msg.getHowMany();
case 4:
return msg.getDelay();
}
return null;
}
//------------------------
public ArrayList<WeekEvent> getDane()
{
return dane;
}
}
Klasę WeekEvent zaprojektuj sam.