View Single Post
Old 22-12-2010, 22:00   #1
DanielDj
Member
 
Iscritto dal: Dec 2006
Messaggi: 102
[Java] Cambiare mese nel mio calendario

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
DanielDj è offline   Rispondi citando il messaggio o parte di esso