Ciao a tutti, devo realizzre per un esame universitario un calendario/agenda.
Mi sono trovato davante ad uno scoglio che non riesco a superare.
ho creato una classe che prende in ingeresso il mese e l'anno e restituisce una matrice 5x7 contentente i giorni del calendario per inserirli poi all'interno di una jTable....fin qui tutto ok.
sopra alla tabella ho creato 2 jButton per passare rispettivamente al mese precedente ed a quello successivo.
il tutto inserito all'interno di una classe che estende JFrame.
il problema è che non so cosa inserire nel metodo actionPerformed.
L'unica cosa che mi è venuta in mente è istanziare di nuovo la classe che estende il jframe, ma in questo modo mi crea una nuova finestra.
per farvi capire meglio allego una parte del codice
Codice:
public class LeftFrame extends JFrame implements ActionListener{
public Container container;
public LeftFrame(int Month, int Year){
GridBagLayout layout = new GridBagLayout();
GridBagConstraints lim = new GridBagConstraints();
container = new JPanel();
container.setLayout(layout);
JButton prevButton = new JButton("<");
prevButton.setPreferredSize(new Dimension(50, 10));
lim.gridx = 0;
lim.gridy = 0;
container.add(prevButton,lim);
prevButton.addActionListener(this);
JButton next = new JButton(">");
next.setPreferredSize(new Dimension(50, 10));
lim.gridx = 2;
lim.gridy = 0;
lim.anchor = GridBagConstraints.EAST;
container.add(next,lim);
JLabel monthLabel = new JLabel();
lim.gridx = 1;
lim.gridy = 0;
lim.anchor = GridBagConstraints.CENTER;
container.add(monthLabel,lim);
JTable jTable1 = new JTable();
JScrollPane jScrollPane1 = new JScrollPane();
lim.gridx = 0;
lim.gridy = 1;
lim.gridwidth = 3;
lim.gridheight = 1;
jScrollPane1.setPreferredSize(new Dimension(170, 110));
jTable1.setModel(new DefaultTableModel(
new Object [][] {
{mat[0][0], mat[0][1], mat[0][2], mat[0][3], mat[0][4], mat[0][5], mat[0][6]},....
vi risparmio la costruzione della tabella.
....
jScrollPane1.setViewportView(jTable1);
container.add(jScrollPane1,lim);
Container contPane = this.getContentPane();
contPane.add(container, BorderLayout.CENTER);
this.pack();
public void actionPerformed(ActionEvent e) {
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
GregorianCalendar gc = new GregorianCalendar();
int Year = gc.get(Calendar.YEAR);
int Month = gc.get(Calendar.MONTH);
new LeftFrame(Month,Year).setVisible(true);
}
});
}
}
Scusate per la lunghezza del post.
Sicuramente c'è qualche errore di fondo.
Accetto qualsiasi tipo di consiglio. Grazie Mille