Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Non riesco a visualizzare la griglia della somma delle matrici!!

    codice:
    import javax.swing.*;
    import java.awt.*;
    public class SommaMatrici {
    int [][]m1;
    int [][]m2;
    int [][]ris;
    JFrame f=new JFrame("Griglia Matrice 1");
    JPanel p=new JPanel();
    JFrame f1=new JFrame("Griglia Matrice 2");
    JPanel p1=new JPanel();
    JFrame f2=new JFrame("Griglia Somma Matrici");
    JPanel p2=new JPanel();
    public     SommaMatrici (int r, int c)
    {
        m1= new int [r][c];
        p.setLayout(new GridLayout(r,c,2,2));
        m2= new int [r][c];
        p1.setLayout(new GridLayout(r,c,2,2));
        ris= new int [r][c];
        p2.setLayout(new GridLayout(r,c,2,2));
    }
    public void caricamento1(int r,int c)
    {
        String input;
        for (int i=0;i<r;i++)
            for (int j=0;j<c;j++)
            {
                input=JOptionPane.showInputDialog("Matrice 1","Inserisci l'elemento"+i+"-"+j);
                m1[i][j]=Integer.parseInt(input);
                JButton cella=new JButton(input);
                p.add(cella);
                f.setVisible(true);
            }
    }
    public void caricamento2(int r,int c)
    {
        String input;
        for (int i=0;i<r;i++)
            for (int j=0;j<c;j++)
            {
                input=JOptionPane.showInputDialog("Matrice 2","Inserisci l'elemento"+i+"-"+j);
                m2[i][j]=Integer.parseInt(input);
                JButton cella=new JButton(input);
                p1.add(cella);
                f1.setVisible(true);
            }
    }
    
    
        public void somma()
        {
            ris= new int [3][3];
            for (int i=0;i<3;i++)
                for (int j=0;j<3;j++)
                {
                    ris[i][j] = m1[i][j] + m2[i][j];
                    
                }
        
        }
    
    
    
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String input=JOptionPane.showInputDialog("Somma di due matrici","Quante righe?");
        int r=Integer.parseInt(input);
        input=JOptionPane.showInputDialog("Somma di due matrici","Quante colonne?");
        int c=Integer.parseInt(input);
        SommaMatrici matrice=new SommaMatrici(r,c);
        matrice.f.setSize(300, 300);
        matrice.f.setLocation(100, 100);
        matrice.f.getContentPane().add(matrice.p);
        matrice.caricamento1(r,c);
        matrice.f1.setSize(300, 300);
        matrice.f1.setLocation(400, 100);
        matrice.f1.getContentPane().add(matrice.p1);
        matrice.caricamento2(r,c);
        matrice.f2.setSize(300, 300);
        matrice.f2.setLocation(700, 100);
        matrice.f2.getContentPane().add(matrice.p2);
        matrice.somma();
       }
    }
    Ultima modifica di LeleFT; 13-11-2015 a 18:37 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Un briciolo di spiegazione di cosa dovrebbe fare il codice e di cosa, invece, fa o non fa?
    Va bene il titolo, ma mi sembra un po' troppo come "spiegazione del problema"...

    PS: ho aggiunto i tag CODE, da usare quando si posta del codice, altrimenti perde formattazione indentazione e text-highlight...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Secondo il tuo codice, dopo aver eseguito l'istruzione matrice.somma() hai bisogno di rendere visibile il frame dove vuoi visualizzare la somma delle due matrici,quindi aggiungi come ultima riga:

    codice:
    matrice.f2.setVisible(true);
    Cosi' ovviamente vedrai solo il frame vuoto, devi aggiungere al pannello gli elementi della matrice come fai nel metodo caricamento1() e caricamento2().

    PS: non ha molto senso avere più metodi che fanno la stessa cosa e in generale converrebbe avere una classe che estenda JFrame a cui passi la matrice da visualizzare e che abbia metodi propri per la costruzione del pannello etc., senza occuparti di tutto nel metodo main
    Ultima modifica di Ansharja; 13-11-2015 a 19:51

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.