2015-05-08 3 views
-2

Я не мог найти ничего, что бы разрешило мою проблему. Я думаю, что самая большая проблема в том, что у меня слишком мало опыта. Я делаю более крупный проект в школе, и я не могу найти решение для запуска Jframe, а затем запустить апплет через это. Я также видел несколько подобных вопросов, но все, что я пробовал, не сработало. Я не знаю, если это необходимо, но вот код моего апплета.Java - Не удается запустить апплет через JFrame

import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Projekt720p extends Applet implements ActionListener,ItemListener{ 
    double y, zero, ablzero, ymax;   

    Choice colorgraph,colorabl; 
    Color selgraph, selabl; 
    String clrgraph, clrabl; 


    Label farbgraph = new Label("Graph Farbe: "); 
    Label farbabl = new Label("  Ableitung Farbe: "); 


    TextField eingabexmin=new TextField("Minmale X Koordinate",20); 
    TextField eingabexmax=new TextField("Maximale X Koordinate",20); 
    TextField eingabeymin=new TextField("Minmale Y Koordinate",20); 
    TextField eingabeymax=new TextField("Maximale Y Koordinate",20); 
    int dmax=0,dmin=0, wmax=0, wmin=0; 


    TextField wert1=new TextField("Wert 1",10); 
    TextField wert2=new TextField("Wert 2",10); 
    TextField wert3=new TextField("Wert 3",10); 
    TextField wert4=new TextField("Wert 4",10); 
    TextField wert5=new TextField("Wert 5",10); 
    TextField wert6=new TextField("Wert 6",10); 
    TextField wert7=new TextField("Wert 7",10); 
    TextField wert8=new TextField("Wert 8",10); 
    TextField wert9=new TextField("Wert 9",10); 
    TextField wert10=new TextField("Wert 10",10); 





    Button button1=new Button ("Zeichnen!"); 
    Button button2=new Button ("Ableitung"); 
    Button button3=new Button ("Tabelle"); 


    int table=1; 
    int abl=1; 
    int button2show=1; 
    double def=0.0; 

public double f1(double x) { 
    double y1=x*x; //gib die gewünschte Funktion ein 
    return(y1); 
} 

public double fabl(double x) { 
    double y2=(f1(x)-(f1(x-0.01)))/(0.01); 
    return(y2); 
} 


public void init(){ 
     Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 
     resize(screensize); 

     add(eingabexmin); 
     add(eingabexmax); 
     add(eingabeymin); 
     add(eingabeymax); 


     add(wert1); 
     add(wert2); 
     add(wert3); 
     add(wert4); 
     add(wert5); 
     add(wert6); 
     add(wert7); 
     add(wert8); 
     add(wert9); 
     add(wert10); 


     button1.addActionListener(this); 
     add(button1); 
     button2.addActionListener(this); 
     add(button2); 
     button3.addActionListener(this); 
     add(button3); 


    colorgraph=new Choice(); 
    colorgraph.add("Schwarz"); 
    colorgraph.add("Grün");  
    colorgraph.add("Orange"); 
    colorgraph.add("Blau"); 
    colorgraph.add("Pink"); 
    colorgraph.addItemListener(this); 
    selgraph=Color.black; 
    colorabl=new Choice(); 
    colorabl.add("Schwarz"); 
    colorabl.add("Grün");  
    colorabl.add("Orange"); 
    colorabl.add("Blau"); 
    colorabl.add("Pink"); 
    colorabl.addItemListener(this); 
    selabl=Color.black; 

    add(farbgraph); 
    add(colorgraph); 
    add(farbabl); 
    add(colorabl); 



} 

public void itemStateChanged(ItemEvent combobox){ 

    if (combobox.getSource() == colorgraph) { 
clrgraph=colorgraph.getSelectedItem(); 
if(clrgraph.equals("Schwarz")){ 
    selgraph=Color.black; 
} 
if(clrgraph.equals("Grün")){ 
    selgraph=Color.green; 
} 
if(clrgraph.equals("Orange")){ 
    selgraph=Color.orange; 
} 
if(clrgraph.equals("Blau")){ 
    selgraph=Color.blue; 
} 
if(clrgraph.equals("Pink")){ 
    selgraph=Color.magenta; 
} 
} 

    if (combobox.getSource() == colorabl) { 
clrabl=colorabl.getSelectedItem(); 
if(clrabl.equals("Schwarz")){ 
    selabl=Color.black; 
} 
if(clrabl.equals("Grün")){ 
    selabl=Color.green; 
} 
if(clrabl.equals("Orange")){ 
    selabl=Color.orange; 
} 
if(clrabl.equals("Blau")){ 
    selabl=Color.blue; 
} 
if(clrabl.equals("Pink")){ 
    selabl=Color.magenta; 
} 
} 
} 



public void paint(Graphics stift) { 

    //Buttons und Eingaben setzen 
    eingabexmin.setLocation(175, 5); 
    eingabexmax.setLocation(375, 5); 
    eingabeymax.setLocation(700, 175); 
    eingabeymin.setLocation(700, 475); 


    wert1.setLocation(1100, 300); 
    wert2.setLocation(1100, 340); 
    wert3.setLocation(1100, 360); 
    wert4.setLocation(1100, 380); 
    wert5.setLocation(1100, 400); 
    wert6.setLocation(1100, 420); 
    wert7.setLocation(1100, 440); 
    wert8.setLocation(1100, 460); 
    wert9.setLocation(1100, 480); 
    wert10.setLocation(1100, 500); 


    button1.setLocation(700, 350); 
    button2.setLocation(800, 350); 
    button3.setLocation(1120, 210); 

    stift.drawLine(40,40,40,660); 
    stift.drawLine(40,40,660,40); 
    stift.drawLine(660,40,660,660); 
    stift.drawLine(40,660,660,660); 

    stift.drawLine(39,39,39,661); 
    stift.drawLine(39,39,661,39); 
    stift.drawLine(661,39,661,661); 
    stift.drawLine(39,661,661,661); 


    if(dmin>dmax){ 
    eingabexmin.setText("Minimalwert eingeben!"); 
    eingabexmax.setText("Maximalwert eingeben!"); 
    }else { 

    if(wmin>wmax){ 
    eingabeymin.setText("Minimalwert eingeben!"); 
    eingabeymax.setText("Maximalwert eingeben!"); 
    }else { 

    if(button2show==1){ 
     button2.setVisible(false); 
    }else button2.setVisible(true); 




    stift.setColor(Color.black); 

    //x und y Achse 
    if(dmin<0 && dmax>0){ 
    stift.drawLine(50-600/(dmax-dmin)*dmin,50,50-600/(dmax-dmin)*dmin,650); 
    }else if(dmin<0 && dmax<=0){ 
    stift.drawLine(650,50,650,650); 
    }else if(dmin>=0){ 
    stift.drawLine(50,50,50,650); 
    } 
    if(wmin<0 && wmax>0){ 
    stift.drawLine(50, 650+600/(wmax-wmin)*wmin,650, 650+600/(wmax-wmin)*wmin); 
    }else if(wmin<0 && wmax<=0){ 
    stift.drawLine(50,50,650,50); 
    }else if(wmin>=0){ 
    stift.drawLine(50,650,650,650); 
    } 



    //x und y Beschriftung 
    for (int x=dmin;x<=dmax;x=x+1){ 
      if(wmin<0 && wmax>0){ 
       stift.drawString(x+"", 50-600/(dmax-dmin)*dmin+x*600/(dmax-dmin), 662+600/(wmax-wmin)*wmin); 
       }else if(wmin<0 && wmax<=0){ 
        if(x!=0){ 
       stift.drawString(x+"", 50-600/(dmax-dmin)*dmin+x*600/(dmax-dmin), 50); 
        } 
       }else if(wmin>=0){ 
        if(x!=0){ 
       stift.drawString(x+"", 50-600/(dmax-dmin)*dmin+x*600/(dmax-dmin), 650); 
        } 
     } 

     } 

    for (int x=wmin;x<=wmax;x=x+1){ 
     if(x!=0){ 
      if(dmin<0 && dmax>0){ 
       stift.drawString(x+"", 55-600/(dmax-dmin)*dmin, 650+600/(wmax-wmin)*wmin-x*600/(wmax-wmin)); 
       }else if(dmin<0 && dmax<=0){ 
       stift.drawString(x+"", 635, 650+600/(wmax-wmin)*wmin-x*600/(wmax-wmin)); 
       }else if(dmin>=0){ 
       stift.drawString(x+"", 55, 650+600/(wmax-wmin)*wmin-x*600/(wmax-wmin)); 
     } 

     } 
     } 


    stift.setColor(selgraph); 
    for (int xpix=dmin*600/(dmax-dmin);xpix<=dmax*600/(dmax-dmin);xpix=xpix+1){ 
     y = f1(xpix*def/600);  
     Integer ypix= (int)Math.round((y*600/(wmax-wmin))+0.5); 

     if(650+600/(wmax-wmin)*wmin-ypix>50 && 650+600/(wmax-wmin)*wmin-ypix<650){ 
     stift.drawOval(xpix+50-600/(dmax-dmin)*dmin, 650+600/(wmax-wmin)*wmin-ypix, 2,2); 
     } 

    } 

    if (abl==3){ 
    stift.setColor(selabl); 
    for (int xpix=dmin*600/(dmax-dmin);xpix<=dmax*600/(dmax-dmin);xpix=xpix+1){ 
     y = fabl(xpix*def/600);  
     Integer ypix= (int)Math.round((y*600/(wmax-wmin))+0.5); 
    if(650+600/(wmax-wmin)*wmin-ypix>50 && 650+600/(wmax-wmin)*wmin-ypix<650){ 
     stift.drawOval(xpix+50-600/(dmax-dmin)*dmin, 650+600/(wmax-wmin)*wmin-ypix, 2,2); 
      } 
     } 
    } 


    if (table==3){ 

    double w1=Double.valueOf(wert1.getText()); 
    double w2=Double.valueOf(wert2.getText()); 
    double w3=Double.valueOf(wert3.getText()); 
    double w4=Double.valueOf(wert4.getText()); 
    double w5=Double.valueOf(wert5.getText()); 
    double w6=Double.valueOf(wert6.getText()); 
    double w7=Double.valueOf(wert7.getText()); 
    double w8=Double.valueOf(wert8.getText()); 
    double w9=Double.valueOf(wert9.getText()); 
    double w10=Double.valueOf(wert10.getText()); 


    stift.drawLine(1100,285,1170,285); 
    stift.drawLine(1135,280,1135,480); 

    stift.drawString("x", 1100, 280); 
    stift.drawString("f(x)", 1150, 280); 
    stift.drawString(w1+"", 1100, 300); 
    stift.drawString((double)Math.round(f1(w1)*100)/100+"", 1150, 300); 
    stift.drawString(w2+"", 1100, 320); 
    stift.drawString((double)Math.round(f1(w2)*100)/100+"", 1150, 320); 
    stift.drawString(w3+"", 1100, 340); 
    stift.drawString((double)Math.round(f1(w3)*100)/100+"", 1150, 340); 
    stift.drawString(w4+"", 1100, 360); 
    stift.drawString((double)Math.round(f1(w4)*100)/100+"", 1150, 360); 
    stift.drawString(w5+"", 1100, 380); 
    stift.drawString((double)Math.round(f1(w5)*100)/100+"", 1150, 380); 
    stift.drawString(w6+"", 1100, 400); 
    stift.drawString((double)Math.round(f1(w6)*100)/100+"", 1150, 400); 
    stift.drawString(w7+"", 1100, 420); 
    stift.drawString((double)Math.round(f1(w7)*100)/100+"", 1150, 420); 
    stift.drawString(w8+"", 1100, 440); 
    stift.drawString((double)Math.round(f1(w8)*100)/100+"", 1150, 440); 
    stift.drawString(w9+"", 1100, 460); 
    stift.drawString((double)Math.round(f1(w9)*100)/100+"", 1150, 460); 
    stift.drawString(w10+"", 1100, 480); 
    stift.drawString((double)Math.round(f1(w10)*100)/100+"", 1150, 480); 


    } 



    } 
    } 
} 



public void actionPerformed(ActionEvent event) { 

    if (event.getSource() == button1) { 
    dmin=Integer.valueOf(eingabexmin.getText()); 
    dmax=Integer.valueOf(eingabexmax.getText()); 
    wmin=Integer.valueOf(eingabeymin.getText()); 
    wmax=Integer.valueOf(eingabeymax.getText()); 
    def=dmax-dmin; 
    repaint(); 
    button2show=3; 
    } 

    if (event.getSource() == button2) { 
    abl=3; 
    repaint(); 

    } 

    if (event.getSource() == button3) { 
    wert1.setVisible(false); 
    wert2.setVisible(false); 
    wert3.setVisible(false); 
    wert4.setVisible(false); 
    wert5.setVisible(false); 
    wert6.setVisible(false); 
    wert7.setVisible(false); 
    wert8.setVisible(false); 
    wert9.setVisible(false); 
    wert10.setVisible(false); 

    table=3; 
    repaint(); 
    } 




}  

}

ответ

0

Апплет должен работать в браузере или апплет просмотра.

public class Splash extends JApplet implements Runnable{ 
    public void init(){ 
    Thread t = new Thread(this); 
    t.start(); 
    } 

    public void run(){ 
    // code to show JFrame 
    } 
} 
Смежные вопросы