Hallo
Meine Frage bezieht sich darauf, wie ich ein normales Applet in ein JApplet umwandeln kann ohne dass meine Formatierung verloren geht.
Ich dachte mir, ich könne einfach Applet in JApplet, sowie TextFields, Buttons (etc) in JTextFields, JButtons ändern (und natürlich swing importieren), jedoch verliere ich dabei mein komplettes Layout D).
EDIT: Textfelder, Buttons und Labels werden überhaupt nicht dargestellt.
Besten Dank
Meine Frage bezieht sich darauf, wie ich ein normales Applet in ein JApplet umwandeln kann ohne dass meine Formatierung verloren geht.
Java:
package projekt.graph;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class graphkomplex extends Applet implements ActionListener,ItemListener{
double y, zero, ymax, xx;
Choice colorgraph,colorkon, form;
Color selgraph, selkon;
String clrgraph, clrkon, selform, choicepolar = "";
Label farbgraph = new Label("Graph Farbe: ");
Label farbkon = new Label(" Konjugierte Farbe: ");
Label I = new Label(" * i");
Label plus = new Label("+");
Label polarform = new Label("c = |c| * e^(φ * i)");
Label laenge = new Label(" ");
Label polar = new Label(" ");
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);
TextField eingabereal=new TextField("Realteil",8);
TextField eingabeimag=new TextField("Imaginärteil",8);
TextField eingabelaenge=new TextField("|c|",8);
TextField eingabephi=new TextField("φ",8);
int dmax=0,dmin=0, wmax=0, wmin=0;
double imag=0, real=0;
Button button1=new Button ("Zeichnen!");
Button button2=new Button ("Komplex konjugiert");
int kon=1;
int button2show=1;
double def=0.0;
public void init(){
Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize ();
resize(screensize);
add(eingabexmin);
add(eingabexmax);
add(eingabeymin);
add(eingabeymax);
add(eingabereal);
add(eingabeimag);
add(I);
add(plus);
add(laenge);
add(polar);
add(eingabelaenge);
add(eingabephi);
add(polarform);
button1.addActionListener(this);
add(button1);
button2.addActionListener(this);
add(button2);
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;
colorkon=new Choice();
colorkon.add("Schwarz");
colorkon.add("Grün");
colorkon.add("Orange");
colorkon.add("Blau");
colorkon.add("Pink");
colorkon.addItemListener(this);
selkon=Color.black;
form=new Choice();
form.add("Kartesische Form");
form.add("Polarform");
form.addItemListener(this);
add(farbgraph);
add(colorgraph);
add(farbkon);
add(colorkon);
add(form);
}
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() == colorkon) {
clrkon=colorkon.getSelectedItem();
if(clrkon.equals("Schwarz")){
selkon=Color.black;
}
if(clrkon.equals("Grün")){
selkon=Color.green;
}
if(clrkon.equals("Orange")){
selkon=Color.orange;
}
if(clrkon.equals("Blau")){
selkon=Color.blue;
}
if(clrkon.equals("Pink")){
selkon=Color.magenta;
}
}
if (combobox.getSource() == form) {
selform=form.getSelectedItem();
if(selform.equals("Kartesische Form")){
eingabereal.setVisible(true);
eingabeimag.setVisible(true);
I.setVisible(true);
plus.setVisible(true);
choicepolar = "0";
eingabelaenge.setVisible(false);
eingabephi.setVisible(false);
polarform.setVisible(false);
}
if(selform.equals("Polarform")){
eingabelaenge.setVisible(true);
eingabephi.setVisible(true);
polarform.setVisible(true);
choicepolar = "1";
eingabereal.setVisible(false);
eingabeimag.setVisible(false);
I.setVisible(false);
plus.setVisible(false);
}
}
}
public void paint(Graphics stift) {
if(choicepolar.equals("")){
eingabelaenge.setVisible(false);
eingabephi.setVisible(false);
polarform.setVisible(false);
}
//Buttons und Eingaben setzen
eingabexmin.setLocation(175, 5);
eingabexmax.setLocation(375, 5);
eingabeymax.setLocation(700, 175);
eingabeymin.setLocation(700, 475);
eingabereal.setLocation(700, 250);
eingabeimag.setLocation(800, 250);
I.setLocation(880,250);
plus.setLocation(780,250);
laenge.setLocation(950,300);
polar.setLocation(950,350);
eingabelaenge.setLocation(800, 250);
eingabephi.setLocation(900, 250);
polarform.setLocation(700, 250);
button1.setLocation(700, 350);
button2.setLocation(800, 350);
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){
// (Rand) 50-größe von einem * das minimum
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
// +1 wäre vielleich sinnvoll irgendwann zu tauschen
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);
}
}*/
stift.setColor(selgraph);
double y2 = (600.0/(dmax-dmin)*real + 50.0-600.0/(dmax-dmin)*dmin);
double xx2 = (-600.0/(wmax-wmin)*imag + 650.0+600.0/(wmax-wmin)*wmin);
stift.drawLine((int)y2, (int)xx2, 50-600/(dmax-dmin)*dmin, 650+600/(wmax-wmin)*wmin);
if (kon==3){
stift.setColor(selkon);
double y3 = 600/(dmax-dmin)*real + 50-600/(dmax-dmin)*dmin;
double xx3 = 600/(wmax-wmin)*imag + 650+600/(wmax-wmin)*wmin;
stift.drawLine((int)y3, (int)xx3, 50-600/(dmax-dmin)*dmin, 650+600/(wmax-wmin)*wmin);
}
double betrag = Math.round(Math.sqrt((imag*imag)+(real*real))*100.0)/100.0;
laenge.setText("Die Länge beträgt: "+betrag);
}
}
}
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());
if(choicepolar.equals("1")){
double r=Double.parseDouble(eingabelaenge.getText());
double phi=Double.parseDouble(eingabephi.getText());
real = Math.round(r*Math.cos(phi)*100)/100.0;
imag = Math.round(r*Math.sin(phi)*100)/100.0;
}else{
imag=Double.valueOf(eingabeimag.getText());
real=Double.valueOf(eingabereal.getText());
}
def=dmax-dmin;
repaint();
button2show=3;
}
if (event.getSource() == button2) {
kon=3;
repaint();
}
}
}
Ich dachte mir, ich könne einfach Applet in JApplet, sowie TextFields, Buttons (etc) in JTextFields, JButtons ändern (und natürlich swing importieren), jedoch verliere ich dabei mein komplettes Layout D).
EDIT: Textfelder, Buttons und Labels werden überhaupt nicht dargestellt.
Besten Dank
Zuletzt bearbeitet: