# double in String umwandeln



## swetlana_zh (5. Jul 2006)

Ich habe ein Fenster, wo in TextFeld wird Variable "sum" vom Typ double platziert. Wie kann ich diese Umwandlung machen. Ich habe schon mit der Methode toString() probiert, aber Compiler sagt von double nach String geht nicht
Das ist Code 

```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.math.*;
public class Auswertung extends JDialog{
	private JLabel namelabel;
	private JTextField nametext;
	private JLabel wertlabel;
	private JTextField werttxt;
	private JLabel risklabel;
	private JTextField risktxt;
	private JPanel panel;
	private Projekt owner;
	private Vector projectList;
	private final static double ZINS = 1.03;
	
	public Auswertung(Vector projectList, final Projekt owner, String title, boolean modal){
		super(owner, title, modal);
		this.projectList = projectList;
		setSize(400, 600);
		setLocationRelativeTo(null);
		setResizable(false);
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
	      addWindowListener(new WindowAdapter() {
	         public void windowClosing(WindowEvent e) {
	            dispose();
	         }
	      });
	      
	      panel = new JPanel();
	      panel.setLayout(null);
	      
	      namelabel = new JLabel("Projekt");
	      namelabel.setBounds(new Rectangle(15, 10, 90, 25));
	      namelabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(namelabel);
	      
	      nametext = new JTextField();
	      nametext.setBounds(new Rectangle(15, 45, 90, 25));
	      nametext.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(nametext);
	      
	      
	      wertlabel = new JLabel("Erwartungswert");
	      wertlabel.setBounds(new Rectangle(115, 10, 100, 25));
	      wertlabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(wertlabel);
	      Vector vec = (Vector)projectList.get(0);
    	  nametext.setText((String)vec.get(0));
	      
	      werttxt = new JTextField();
	      werttxt.setBounds(new Rectangle(115, 45, 100, 25));
	      werttxt.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(werttxt);
	      double sum = 0;
	      for(int i = 6, j = 7, k = 0; i < vec.size(); i++){
	    	  if(!vec.elementAt(i).equals("")){
	    		  double einzahlung = Double.parseDouble((String)vec.get(i));
	    		  double auszahlung = Double.parseDouble((String)vec.get(j));
	    		  sum += (einzahlung - auszahlung) / (Math.pow(ZINS, k));
	    		  j += 2;
	    		  k++;
	    	  }
	      }
	      
	      risklabel = new JLabel("Risiko");
	      risklabel.setBounds(new Rectangle(235, 10, 100, 25));
	      risklabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(risklabel);
	      
	      risktxt = new JTextField();
	      risktxt.setBounds(new Rectangle(234, 45, 100, 25));
	      risktxt.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(risktxt);
	       
	      
	      add(panel, null);
	      setVisible(true);
	}
}
```

Und noch eine Frage am Ende des Fenster möchte ich auch ein mathematisches Graphik mit Abszisse und Ordinate bauen. Kann ich das mit der Methode paint() machen oder gibt es was anderes


----------



## dieta (5. Jul 2006)

Normalerweise geht das mit

```
Double.toString(double d)
```
Aber: wo ist in deinem Codeschnipsel die entsprechende Codezeile?

Zu dem paint: Das geht so:

```
//...

class meinPanel extends JPanel
{
    
    public meinPanel()
    {
    }
    
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        
        //Der Zeichencode
        
    }
    
}
```


----------



## L-ectron-X (5. Jul 2006)

Einen Wert vom Typ double bekommst du so in ein Textfeld.

```
textfeld.setText(String.valueOf(sum));
```


----------



## swetlana_zh (5. Jul 2006)

Das geht leider nicht. Compiler gibt eine NumberFormatException
Woran kann das liegen


----------



## L-ectron-X (5. Jul 2006)

Schau dir mal die Fehlermeldung genauer an, du kannst dort den Fehler meist ziemlich genau eingrenzen.
Poste am besten mal die komplette Fehlermeldung.


----------



## swetlana_zh (5. Jul 2006)

> Exception occurred during event dispatching:
> java.lang.NumberFormatException: empty String
> at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
> at java.lang.Double.parseDouble(Unknown Source)
> ...



Und das ist gesamte Code. Ich habe mit dem Konstruktor von Company ueber Projekt bis zur Auswertung den Inhalt von Vector projektList uebergeben, ansonsten hat Compiler mir immer NullPointerException gemeldet

```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.math.*;

public class Company extends JFrame {
   private JButton next;
   private JPanel btnPanel;
   private JPanel centerPanel;
   private JLabel label;
   private JLabel budglabel;
   private JTextField budgtxt;
   private JLabel risklabel;
   private JComboBox riskcmb;
   private Projekt projekt;
   private Vector projectList;
   
   
   public Company(String title){
	  super(title);
      setSize(400, 300);
      setLocationRelativeTo(null);
      setResizable(false);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
      projectList = new Vector();

      label = new JLabel("Unternehmensdaten");
      label.setBorder(new EmptyBorder(20, 0, 20, 0));
      label.setHorizontalAlignment(SwingConstants.CENTER); // Schrift ausrichten
      add(label, BorderLayout.NORTH);  // Label anordnen
     
      centerPanel = new JPanel(new GridLayout(2, 2, 20, 20));
      centerPanel.setBorder(new EmptyBorder(30, 40, 50, 40));
      budglabel = new JLabel("Gesamtes Budget");
      //budglabel.setHorizontalAlignment(SwingConstants.CENTER);
      centerPanel.add(budglabel);

      budgtxt = new JTextField();
      centerPanel.add(budgtxt);

      risklabel = new JLabel("Risikotyp");
      //risklabel.setHorizontalAlignment(SwingConstants.CENTER);
      centerPanel.add(risklabel);

      riskcmb = new JComboBox(new String[] {
         "extrem risikoavers", "mäßig risikoavers", "wenig risikoavers", "sehr risikoavers", "minimal risikoavers"
      });
      centerPanel.add(riskcmb);
     
      add(centerPanel, BorderLayout.CENTER);
     
      btnPanel = new JPanel();
      btnPanel.setBorder(new EmptyBorder(10, 0, 10, 0));
     
      next = new JButton("Weiter");
      next.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
            if(budgtxt.getText().equals("")){
               int answer = JOptionPane.showConfirmDialog(null,
                     "Sie haben noch kein Budget eingegeben.\nMöchten Sie jetzt ein Budget eingeben?",
                     "Pflichteingabe",
                     JOptionPane.YES_NO_OPTION,
                     JOptionPane.QUESTION_MESSAGE);

               switch(answer){
                  case JOptionPane.YES_OPTION:
                     budgtxt.requestFocus();
                     return;
                  case JOptionPane.NO_OPTION: 
                	  System.exit(0);
               }
            }
            else{
               openNewProjekt();
            }
         }
      });
      btnPanel.add(next);

      add(btnPanel, BorderLayout.SOUTH);
   }
   
   /** Öffnet ein neues Projektfenster. */
   public void openNewProjekt(){
      projekt = new Projekt(projectList, this, "Portfolio-Assistent", true);
   }
   
   /** Bekommt die zu speichernden Daten aus dem Projektfenster. */
   
	   
   
   public void addProjectData(Vector vec){
	   projectList.add(vec);
   }

   public static void main(String[] args) {
      new Company("Portfolio-Assistent").setVisible(true);
   }
}
```


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;

public class Projekt extends JDialog{
   private static int counter;
   private JPanel panel;
   private JLabel label;
   private JLabel namelabel;
   private JTextField nametxt;
   private JLabel responselabel;
   private JTextField responsetxt;
   private JLabel fachlabel;
   private JTextField fachtxt;
   private JLabel artlabel;
   private JComboBox artcmb;
   private JLabel beginlabel;
   private JTextField begintxt;
   private JLabel endelabel;
   private JTextField endetxt;
   private JRadioButton mussrb;
   private JLabel einzahlunglabel;
   private JLabel auszahlunglabel;
   private JLabel quartal1label;
   private JTextField einzahlung1txt;
   private JTextField auszahlung1txt;
   private JLabel quartal2label;
   private JTextField einzahlung2txt;
   private JTextField auszahlung2txt;
   private JLabel quartal3label;
   private JTextField einzahlung3txt;
   private JTextField auszahlung3txt; 
   private JLabel quartal4label;
   private JTextField einzahlung4txt;
   private JTextField auszahlung4txt;
   private JLabel quartal5label;
   private JTextField einzahlung5txt;
   private JTextField auszahlung5txt;
   private JLabel quartal6label;
   private JTextField einzahlung6txt;
   private JTextField auszahlung6txt;
   private JLabel quartal7label;
   private JTextField einzahlung7txt;
   private JTextField auszahlung7txt;
   private JLabel quartal8label;
   private JTextField einzahlung8txt;
   private JTextField auszahlung8txt;
   private JLabel quartal9label;
   private JTextField einzahlung9txt;
   private JTextField auszahlung9txt;
   private JLabel quartal10label;
   private JTextField einzahlung10txt;
   private JTextField auszahlung10txt;
   private JLabel quartal11label;
   private JTextField einzahlung11txt;
   private JTextField auszahlung11txt;
   private JLabel quartal12label;
   private JTextField einzahlung12txt;
   private JTextField auszahlung12txt;
   private JLabel quartal13label;
   private JTextField einzahlung13txt;
   private JTextField auszahlung13txt;
   private JLabel quartal14label;
   private JTextField einzahlung14txt;
   private JTextField auszahlung14txt;
   private JLabel quartal15label;
   private JTextField einzahlung15txt;
   private JTextField auszahlung15txt;
   private JLabel quartal16label; 
   private JTextField einzahlung16txt;
   private JTextField auszahlung16txt;
   private JLabel quartal17label;
   private JTextField einzahlung17txt;
   private JTextField auszahlung17txt;
   private JLabel quartal18label;
   private JTextField einzahlung18txt;
   private JTextField auszahlung18txt;
   private JLabel quartal19label;
   private JTextField einzahlung19txt;
   private JTextField auszahlung19txt;
   private JLabel quartal20label;
   private JTextField einzahlung20txt;
   private JTextField auszahlung20txt;
   private JButton nextbutton;
   private JButton abbruchbutton;
   private JButton auswertenbutton;
   private Company owner;
   private Auswertung auswertung;
   private Vector data;
   private Vector projectList;
   
   
   public Projekt(Vector projectList, final Company owner, String title, boolean modal){
      super(owner, title, modal);
      this.projectList = projectList;
      counter++;
      setSize(800, 750);
      setLocationRelativeTo(null);
      setResizable(false);
      setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            counter--;
            dispose();
         }
      });
     
      data = new Vector(); 
      label = new JLabel("Projekt "+String.valueOf(counter));
      label.setBorder(new EmptyBorder(20, 0, 0, 0));
      label.setHorizontalAlignment(SwingConstants.CENTER);
      add(label, BorderLayout.NORTH);

      panel = new JPanel();
      panel.setLayout(null);

      namelabel = new JLabel("Projektname");
      namelabel.setBounds(new Rectangle(15, 58, 100, 25));
      namelabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(namelabel);

      nametxt = new JTextField();
      nametxt.setBounds(new Rectangle(150, 58, 135, 25));
      panel.add(nametxt);

      responselabel = new JLabel("Verantwortlicher");
      responselabel.setBounds(new Rectangle(15, 106, 100, 25));
      responselabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(responselabel);

      responsetxt = new JTextField();
      responsetxt.setBounds(new Rectangle(150, 106, 135, 25));
      panel.add(responsetxt);

      fachlabel = new JLabel("Fachbereich");
      fachlabel.setBounds(new Rectangle(15,154, 100, 25));
      fachlabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(fachlabel);

      fachtxt = new JTextField();
      fachtxt.setBounds(new Rectangle(150, 154, 135, 25));
      panel.add(fachtxt);

      artlabel = new JLabel("Projektart"); 
      artlabel.setBounds(new Rectangle(15, 202, 100, 25));
      artlabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(artlabel);

      artcmb = new JComboBox(new String[] {
         "Experiment", "Transformation", "Erneuerung", "Prozessverbesserung"
      });
      artcmb.setBounds(new Rectangle(150, 202, 135, 25));

      panel.add(artcmb);

      beginlabel = new JLabel("Projektbeginn");
      beginlabel.setBounds(new Rectangle(15, 250, 100, 25));
      beginlabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(beginlabel);

      begintxt = new JTextField();
      begintxt.setBounds(new Rectangle(150, 250, 135, 25));
      panel.add(begintxt);

      endelabel = new JLabel("Projektende");
      endelabel.setBounds(new Rectangle(15, 298, 100, 25));
      endelabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(endelabel);

      endetxt = new JTextField();
      endetxt.setBounds(new Rectangle(150, 298, 135, 25));
      panel.add(endetxt);

      mussrb = new JRadioButton("Pflicht-Projekt");
      mussrb.setBounds(new Rectangle(15, 346, 140, 25));
      mussrb.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(mussrb);

      einzahlunglabel = new JLabel("Erwartete Einzahlungen");
      einzahlunglabel.setBounds(new Rectangle(450, 20, 150, 25));
      einzahlunglabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(einzahlunglabel);

      auszahlunglabel = new JLabel("Erwartete Auszahlungen");
      auszahlunglabel.setBounds(new Rectangle(620, 20, 150, 25));
      auszahlunglabel.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(auszahlunglabel);

      quartal1label = new JLabel("1. Quartal");
      quartal1label.setBounds(new Rectangle(310, 58, 100, 25));
      quartal1label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal1label);

      einzahlung1txt = new JTextField();
      einzahlung1txt.setBounds(new Rectangle(490, 58, 100, 25));
      panel.add(einzahlung1txt);

      auszahlung1txt = new JTextField();
      auszahlung1txt.setBounds(new Rectangle(660, 58, 100, 25));
      panel.add(auszahlung1txt);

      quartal2label = new JLabel("2. Quartal");
      quartal2label.setBounds(new Rectangle(310, 88, 100, 25));
      quartal2label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal2label);

      einzahlung2txt = new JTextField();
      einzahlung2txt.setBounds(new Rectangle(490, 88, 100, 25));
      panel.add(einzahlung2txt);

      auszahlung2txt = new JTextField();
      auszahlung2txt.setBounds(new Rectangle(660, 88, 100, 25));
      panel.add(auszahlung2txt);

      quartal3label = new JLabel("3. Quartal");
      quartal3label.setBounds(new Rectangle(310, 118, 100, 25));
      quartal3label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal3label);

      einzahlung3txt = new JTextField();
      einzahlung3txt.setBounds(new Rectangle(490, 118, 100, 25));
      panel.add(einzahlung3txt);

      auszahlung3txt = new JTextField();
      auszahlung3txt.setBounds(new Rectangle(660, 118, 100, 25));
      panel.add(auszahlung3txt);

      quartal4label = new JLabel("4. Quartal");
      quartal4label.setBounds(new Rectangle(310,148, 100, 25));
      quartal4label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal4label);

      einzahlung4txt = new JTextField();
      einzahlung4txt.setBounds(new Rectangle(490, 148, 100, 25));
      panel.add(einzahlung4txt);

      auszahlung4txt = new JTextField();
      auszahlung4txt.setBounds(new Rectangle(660, 148, 100, 25));
      panel.add(auszahlung4txt);

      quartal5label = new JLabel("5. Quartal");
      quartal5label.setBounds(new Rectangle(310, 178, 100, 25));
      quartal5label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal5label);

      einzahlung5txt = new JTextField();
      einzahlung5txt.setBounds(new Rectangle(490, 178, 100, 25));
      panel.add(einzahlung5txt);

      auszahlung5txt = new JTextField();
      auszahlung5txt.setBounds(new Rectangle(660, 178, 100, 25));
      panel.add(auszahlung5txt);

      quartal6label = new JLabel("6. Quartal");
      quartal6label.setBounds(new Rectangle(310, 208, 100, 25));
      quartal6label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal6label);

      einzahlung6txt = new JTextField();
      einzahlung6txt.setBounds(new Rectangle(490, 208, 100, 25));
      panel.add(einzahlung6txt);

      auszahlung6txt = new JTextField();
      auszahlung6txt.setBounds(new Rectangle(660, 208, 100, 25));
      panel.add(auszahlung6txt);

      quartal7label = new JLabel("7. Quartal");
      quartal7label.setBounds(new Rectangle(310, 238, 100, 25));
      quartal7label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal7label);

      einzahlung7txt = new JTextField();
      einzahlung7txt.setBounds(new Rectangle(490, 238, 100, 25));
      panel.add(einzahlung7txt);

      auszahlung7txt = new JTextField();
      auszahlung7txt.setBounds(new Rectangle(660, 238, 100, 25));
      panel.add(auszahlung7txt);

      quartal8label = new JLabel("8. Quartal");
      quartal8label.setBounds(new Rectangle(310, 268, 100, 25));
      quartal8label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal8label);

      einzahlung8txt = new JTextField();
      einzahlung8txt.setBounds(new Rectangle(490, 268, 100, 25));
      panel.add(einzahlung8txt);

      auszahlung8txt = new JTextField();
      auszahlung8txt.setBounds(new Rectangle(660, 268, 100, 25));
      panel.add(auszahlung8txt);

      quartal9label = new JLabel("9. Quartal");
      quartal9label.setBounds(new Rectangle(310, 298, 100, 25));
      quartal9label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal9label);

      einzahlung9txt = new JTextField();
      einzahlung9txt.setBounds(new Rectangle(490, 298, 100, 25));
      panel.add(einzahlung9txt);

      auszahlung9txt = new JTextField();
      auszahlung9txt.setBounds(new Rectangle(660, 298, 100, 25));
      panel.add(auszahlung9txt);

      quartal10label = new JLabel("10. Quartal");
      quartal10label.setBounds(new Rectangle(310, 328, 100, 25));
      quartal10label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal10label);

      einzahlung10txt = new JTextField();
      einzahlung10txt.setBounds(new Rectangle(490, 328, 100, 25));
      panel.add(einzahlung10txt);

      auszahlung10txt = new JTextField();
      auszahlung10txt.setBounds(new Rectangle(660, 328, 100, 25));
      panel.add(auszahlung10txt);

      quartal11label = new JLabel("11. Quartal");
      quartal11label.setBounds(new Rectangle(310, 358, 100, 25));
      quartal11label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal11label);

      einzahlung11txt = new JTextField();
      einzahlung11txt.setBounds(new Rectangle(490, 358, 100, 25));
      panel.add(einzahlung11txt);

      auszahlung11txt = new JTextField();
      auszahlung11txt.setBounds(new Rectangle(660, 358, 100, 25));
      panel.add(auszahlung11txt);

      quartal12label = new JLabel("12. Quartal");
      quartal12label.setBounds(new Rectangle(310, 388, 100, 25));
      quartal12label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal12label);

      einzahlung12txt = new JTextField();
      einzahlung12txt.setBounds(new Rectangle(490, 388, 100, 25));
      panel.add(einzahlung12txt);

      auszahlung12txt = new JTextField();
      auszahlung12txt.setBounds(new Rectangle(660, 388, 100, 25));
      panel.add(auszahlung12txt);

      quartal13label = new JLabel("13. Quartal");
      quartal13label.setBounds(new Rectangle(310, 418, 100, 25));
      quartal13label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal13label);

      einzahlung13txt = new JTextField();
      einzahlung13txt.setBounds(new Rectangle(490, 418, 100, 25));
      panel.add(einzahlung13txt);

      auszahlung13txt = new JTextField();
      auszahlung13txt.setBounds(new Rectangle(660, 418, 100, 25));
      panel.add(auszahlung13txt);

      quartal14label = new JLabel("14. Quartal");
      quartal14label.setBounds(new Rectangle(310, 448, 100, 25));
      quartal14label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal14label);

      einzahlung14txt = new JTextField();
      einzahlung14txt.setBounds(new Rectangle(490, 448, 100, 25));
      panel.add(einzahlung14txt);

      auszahlung14txt = new JTextField();
      auszahlung14txt.setBounds(new Rectangle(660, 448, 100, 25));
      panel.add(auszahlung14txt);

      quartal15label = new JLabel("15. Quartal");
      quartal15label.setBounds(new Rectangle(310, 478, 100, 25));
      quartal15label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal15label);

      einzahlung15txt = new JTextField();
      einzahlung15txt.setBounds(new Rectangle(490, 478, 100, 25));
      panel.add(einzahlung15txt);

      auszahlung15txt = new JTextField();
      auszahlung15txt.setBounds(new Rectangle(660, 478, 100, 25));
      panel.add(auszahlung15txt);

      quartal16label = new JLabel("16. Quartal");
      quartal16label.setBounds(new Rectangle(310, 508, 100, 25));
      quartal16label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal16label);

      einzahlung16txt = new JTextField();
      einzahlung16txt.setBounds(new Rectangle(490, 508, 100, 25));
      panel.add(einzahlung16txt);

      auszahlung16txt = new JTextField();
      auszahlung16txt.setBounds(new Rectangle(660, 508, 100, 25));
      panel.add(auszahlung16txt);

      quartal17label = new JLabel("17. Quartal");
      quartal17label.setBounds(new Rectangle(310, 538, 100, 25));
      quartal17label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal17label);

      einzahlung17txt = new JTextField();
      einzahlung17txt.setBounds(new Rectangle(490, 538, 100, 25));
      panel.add(einzahlung17txt);

      auszahlung17txt = new JTextField();
      auszahlung17txt.setBounds(new Rectangle(660, 538, 100, 25));
      panel.add(auszahlung17txt);

      quartal18label = new JLabel("18. Quartal");
      quartal18label.setBounds(new Rectangle(310, 568, 100, 25));
      quartal18label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal18label);

      einzahlung18txt = new JTextField();
      einzahlung18txt.setBounds(new Rectangle(490, 568, 100, 25));
      panel.add(einzahlung18txt);

      auszahlung18txt = new JTextField();
      auszahlung18txt.setBounds(new Rectangle(660, 568, 100, 25));
      panel.add(auszahlung18txt);

      quartal19label = new JLabel("19. Quartal");
      quartal19label.setBounds(new Rectangle(310, 598, 100, 25));
      quartal19label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal19label);

      einzahlung19txt = new JTextField();
      einzahlung19txt.setBounds(new Rectangle(490, 598, 100, 25));
      panel.add(einzahlung19txt);

      auszahlung19txt = new JTextField();
      auszahlung19txt.setBounds(new Rectangle(660, 598, 100, 25));
      panel.add(auszahlung19txt);

      quartal20label = new JLabel("20. Quartal");
      quartal20label.setBounds(new Rectangle(310, 628, 100, 25));
      quartal20label.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(quartal20label);

      einzahlung20txt = new JTextField();
      einzahlung20txt.setBounds(new Rectangle(490, 628, 100, 25));
      panel.add(einzahlung20txt);

      auszahlung20txt = new JTextField();
      auszahlung20txt.setBounds(new Rectangle(660, 628, 100, 25));
      panel.add(auszahlung20txt);
     
      nextbutton = new JButton("Weiter");
      nextbutton.setBounds(new Rectangle(10, 628, 80, 25));
      nextbutton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            int answer = JOptionPane.showConfirmDialog(Projekt.this,
               "Möchten Sie die eingegebenen Daten speichern?",
               "Speichern",
               JOptionPane.YES_NO_CANCEL_OPTION,
               JOptionPane.QUESTION_MESSAGE);

            switch(answer) {
               case JOptionPane.CANCEL_OPTION:
                  return;

               case JOptionPane.YES_OPTION:
                  getAllData();
                  owner.addProjectData(data);

               case JOptionPane.NO_OPTION:

               answer = JOptionPane.showConfirmDialog(Projekt.this,
               "Möchten Sie ein weiteres Projekt erfassen?",
               "Option",
               JOptionPane.YES_NO_OPTION,
               JOptionPane.QUESTION_MESSAGE);

               switch(answer) {
                  case JOptionPane.YES_OPTION:
                  owner.openNewProjekt();
               }

               dispose();
            }
         }
      });
      panel.add(nextbutton);

      abbruchbutton = new JButton("Abbruch");
      abbruchbutton.setBounds(new Rectangle(100, 628, 90, 25));
      abbruchbutton.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(abbruchbutton);
      abbruchbutton.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
            counter--;
            dispose();
         }
      });
      auswertenbutton = new JButton("Auswerten");
      auswertenbutton.setBounds(new Rectangle(200, 628, 110, 25));
      auswertenbutton.setHorizontalAlignment(SwingConstants.CENTER);
      panel.add(auswertenbutton);
      auswertenbutton.addActionListener(new ActionListener(){
    	  public void actionPerformed(ActionEvent e){
    		  openNewAuswertung();
    	  }
      });


      add(panel, BorderLayout.CENTER);
      setVisible(true);
   }
   
   public void openNewAuswertung(){
	   auswertung = new Auswertung(projectList, this, "Portfolio-Assistent", true);
   }
   
   private void getAllData() {
      data.add(nametxt.getText().trim());
      data.add(responsetxt.getText().trim());
      data.add(fachtxt.getText().trim());
      data.add((String)artcmb.getSelectedItem());
      data.add(begintxt.getText().trim());
      data.add(endetxt.getText().trim());
      //data.add(mussrb.methode()); //JRadioButton
      data.add(einzahlung1txt.getText().trim());
      data.add(auszahlung1txt.getText().trim());
      data.add(einzahlung2txt.getText().trim());
      data.add(auszahlung2txt.getText().trim());
      data.add(einzahlung3txt.getText().trim());
      data.add(auszahlung3txt.getText().trim());
      data.add(einzahlung4txt.getText().trim());
      data.add(auszahlung4txt.getText().trim());
      data.add(einzahlung5txt.getText().trim());
      data.add(auszahlung5txt.getText().trim());
      data.add(einzahlung6txt.getText().trim());
      data.add(auszahlung6txt.getText().trim());
      data.add(einzahlung7txt.getText().trim());
      data.add(auszahlung7txt.getText().trim());
      data.add(einzahlung8txt.getText().trim());
      data.add(auszahlung8txt.getText().trim());
      data.add(einzahlung9txt.getText().trim());
      data.add(auszahlung9txt.getText().trim());
      data.add(einzahlung10txt.getText().trim());
      data.add(auszahlung10txt.getText().trim());
      data.add(einzahlung11txt.getText().trim());
      data.add(auszahlung11txt.getText().trim());
      data.add(einzahlung12txt.getText().trim());
      data.add(auszahlung12txt.getText().trim());
      data.add(einzahlung13txt.getText().trim());
      data.add(auszahlung13txt.getText().trim());
      data.add(einzahlung14txt.getText().trim());
      data.add(auszahlung14txt.getText().trim());
      data.add(einzahlung15txt.getText().trim());
      data.add(auszahlung15txt.getText().trim());
      data.add(einzahlung16txt.getText().trim());
      data.add(auszahlung16txt.getText().trim());
      data.add(einzahlung17txt.getText().trim());
      data.add(auszahlung17txt.getText().trim());
      data.add(einzahlung18txt.getText().trim());
      data.add(auszahlung18txt.getText().trim());
      data.add(einzahlung19txt.getText().trim());
      data.add(auszahlung19txt.getText().trim());
      data.add(einzahlung20txt.getText().trim());
      data.add(auszahlung20txt.getText().trim());
   }
}
```


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.math.*;
public class Auswertung extends JDialog{
	private JLabel namelabel;
	private JTextField nametext;
	private JLabel wertlabel;
	private JTextField werttxt;
	private JLabel risklabel;
	private JTextField risktxt;
	private JPanel panel;
	private Projekt owner;
	private Vector projectList;
	private final static double ZINS = 1.03;
	
	public Auswertung(Vector projectList, final Projekt owner, String title, boolean modal){
		super(owner, title, modal);
		this.projectList = projectList;
		setSize(400, 600);
		setLocationRelativeTo(null);
		setResizable(false);
		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
	      addWindowListener(new WindowAdapter() {
	         public void windowClosing(WindowEvent e) {
	            dispose();
	         }
	      });
	      
	      panel = new JPanel();
	      panel.setLayout(null);
	      
	      namelabel = new JLabel("Projekt");
	      namelabel.setBounds(new Rectangle(15, 10, 100, 25));
	      namelabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(namelabel);
	      
	      nametext = new JTextField();
	      nametext.setBounds(new Rectangle(15, 45, 100, 25));
	      nametext.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(nametext);
	      Vector vec = (Vector)projectList.get(0);
    	  nametext.setText((String)vec.get(0));
	      
	      wertlabel = new JLabel("Erwartungswert");
	      wertlabel.setBounds(new Rectangle(130, 10, 110, 25));
	      wertlabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(wertlabel);
	      
	      werttxt = new JTextField();
	      werttxt.setBounds(new Rectangle(130, 45, 130, 25));
	      werttxt.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(werttxt);
	      double sum = 0;
	      for(int i = 6, j = 7, k = 0; i < vec.size(); i++){
	    	  double einzahlung = Double.parseDouble((String)vec.get(i));
	    	  double auszahlung = Double.parseDouble((String)vec.get(j));
	    	  sum += ((einzahlung - auszahlung) / (Math.pow(ZINS, k)));
	    	  j += 2;
	    	  k++;
	      }
	      werttxt.setText(String.valueOf(sum));
	      
	      risklabel = new JLabel("Risiko");
	      risklabel.setBounds(new Rectangle(255, 10, 100, 25));
	      risklabel.setHorizontalAlignment(SwingConstants.CENTER);
	      panel.add(risklabel);
	      
	      risktxt = new JTextField();
	      risktxt.setBounds(new Rectangle(275, 45, 110, 25));
	      risktxt.setHorizontalAlignment(JTextField.LEFT);
	      panel.add(risktxt);
	       
	      
	      add(panel, null);
	      setVisible(true);
	}
}
```
Das war die gesamte Code
Vielen Dank für Hilfe


----------



## swetlana_zh (5. Jul 2006)

Hallo
Ich habe Fehler gefunden und korrigiert jetzt läuft ganz normal. Aber mit der Graphik und der Methode paint() habe ich nicht gecheckt. Ich will Graphik im Fenster Auswertung public class Auswertung extends JDialog und im Beispiel steht
public class Klass extends JPanel. Wie kann ich trotzdem Graphik in meine Klasse reinbringen. Kann ich vielleicht mit 2 Panels, auf eine Panel alle Labels und TextFelder und auf 2-te Panel Graphik
Kann man so machen


----------

