Hallo Leute,
ich würde gerne bei meinem Programm eine Tabelle befüllen, die ich dann anteilig berechne.
Durch "hinzufügen", möchte ich meine Tabelle mit den Daten füttern. In der Spalte 1 befinden sich die Namen, in der Spalte 2 die Zahlen. Die Spalte 2 soll dann anteilig berechnet werden, mit dem Wert von "berechne".
Zum Teil funktioniert es, aber irgendwo ist der Fehler
Im Bildchen sieht man besser was ich meine
	
	
	
	
	
		
	
Kann mir jemand helfen?
Vielen Danke, der Mutz
P.S.: Falls es das Thema schon gibt, bitte ich das zu entschuldigen, hab es dann nicht gefunden.
			
			ich würde gerne bei meinem Programm eine Tabelle befüllen, die ich dann anteilig berechne.
Durch "hinzufügen", möchte ich meine Tabelle mit den Daten füttern. In der Spalte 1 befinden sich die Namen, in der Spalte 2 die Zahlen. Die Spalte 2 soll dann anteilig berechnet werden, mit dem Wert von "berechne".
Zum Teil funktioniert es, aber irgendwo ist der Fehler
Im Bildchen sieht man besser was ich meine
		Java:
	
	import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class table2 {
   
   
    public static void main(String[] args){
       
        // create JFrame and JTable
        JFrame frame = new JFrame();
        JTable table = new JTable();
       
        // create a table model and set a Column Identifiers to this model
        Object[] columns = {"Name","Kosten","Anteil"};
        DefaultTableModel model = new DefaultTableModel();
        model.setColumnIdentifiers(columns);
       
        // set the model to the table
        table.setModel(model);
       
        // Change A JTable Background Color, Font Size, Font Color, Row Height
        table.setBackground(Color.LIGHT_GRAY);
        table.setForeground(Color.black);
        Font font = new Font("",1,22);
        table.setFont(font);
        table.setRowHeight(30);
       
        // create JTextFields
        JTextField grundtf = new JTextField();
        JTextField kostentf = new JTextField();
        JTextField datumtf = new JTextField();
        JTextField grtf = new JTextField();
        JTextField anteilgrtf = new JTextField();
        JTextField test = new JTextField();
       
        // create JButtons
        JButton btnAdd = new JButton("Hinzufügen");
        JButton berechne = new JButton("Berechne");
       
        //links
        grundtf.setBounds(20, 220, 100, 25);
        kostentf.setBounds(20, 250, 100, 25);
        //rechts
        grtf.setBounds(280, 220, 100, 25);
        anteilgrtf.setBounds(280, 250, 100, 25);
        datumtf.setBounds(410, 310, 100, 25);
        test.setBounds(540, 310, 100, 25);
       
       
        btnAdd.setBounds(150, 220, 100, 25);
        berechne.setBounds(410, 220, 100, 25);
       
        // create JScrollPane
        JScrollPane pane = new JScrollPane(table);
        pane.setBounds(0, 0, 880, 200);
       
        frame.setLayout(null);
       
        frame.add(pane);
       
        // add JTextFields to the jframe
        frame.add(grundtf);
        frame.add(kostentf);
        frame.add(datumtf);
        frame.add(grtf);
        frame.add(anteilgrtf);
        frame.add(test);
        // add JButtons to the jframe
        frame.add(btnAdd);
        frame.add(berechne);
       
        // create an array of objects to set the row data
        Object[] row = new Object[3];
       
        // button add row
        btnAdd.addActionListener(new ActionListener(){
           
            public void actionPerformed(ActionEvent e) {
            
                row[0] = grundtf.getText();
                row[1] = kostentf.getText();
              
               
                // add row to the model
                model.addRow(row);
            }
        });
       
      
      [COLOR=#ff0000]  //berechne button
 
        berechne.addActionListener(new ActionListener(){
 
 
            
 
            public void actionPerformed(ActionEvent e) {
 
                
 
                 for (int clmCnt1 = model.getColumnCount(),rowCnt1 = model.getRowCount(), k = 0; k < rowCnt1; k++) {
 
                     for (int l = 0; l < clmCnt1; l++) {
 
                     
 
                        Double anteil = Double.parseDouble(anteilgrtf.getText());
 
                        Double gro = Double.parseDouble(grtf.getText());
 
                        
 
                        Object obj = model.getValueAt(k, 1);
 
                        Double wovo = Double.parseDouble(obj.toString());
 
                        
 
                        Double an = anteil/gro;
 
                        an = Math.round(100*an)/100.0;
 
                        String str1 = String.valueOf(an);
 
                        datumtf.setText(str1);
 
                        
 
                        
 
                        Double an1 = wovo*an;
 
                        an1 = Math.round(100*an1)/100.0;
 
                                        
 
                        String str = String.valueOf(an1);
 
                        row[2] = str;
 
//                        test.setText(str);
 
                        model.addRow(row);
 
                     
 
                     } 
 
                 }        [/COLOR]
               
               
               
            }
        });
       
        frame.setSize(900,400);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
       
    }
}
	Kann mir jemand helfen?
Vielen Danke, der Mutz
P.S.: Falls es das Thema schon gibt, bitte ich das zu entschuldigen, hab es dann nicht gefunden.