Hallo ich bin jetzt seit rund 2-3Wochem am Java kennenlernen und seit ner guten Woche am rumbasteln mit awt ..
Hab nun mal ein kleines Paint Proggi gecoded und folgendes Problem:
Ich würder gern über anklicken eines Buttons "Save" die möglichkeit haben dass gezeichnete Bild abzuspeichern.. wenns geht als jpeg..
Hab im Netz schon hier und da was zum Thema gefunden aber raffs noch nicht wirklich es in mein Projekt einzubinden da ich noch recht neu bin und nicht zu 100% alle Zusammenhänge verstehe... wäre also wirklich lieb wenn ihr mich nicht mit einem Hinweis auf Google alleine lasst :roll:
danke im Vorraus !!
Hier dass Applet:
http://www.benny.biersoeldner.org/
und hier der code:
Hab nun mal ein kleines Paint Proggi gecoded und folgendes Problem:
Ich würder gern über anklicken eines Buttons "Save" die möglichkeit haben dass gezeichnete Bild abzuspeichern.. wenns geht als jpeg..
Hab im Netz schon hier und da was zum Thema gefunden aber raffs noch nicht wirklich es in mein Projekt einzubinden da ich noch recht neu bin und nicht zu 100% alle Zusammenhänge verstehe... wäre also wirklich lieb wenn ihr mich nicht mit einem Hinweis auf Google alleine lasst :roll:
danke im Vorraus !!
Hier dass Applet:
http://www.benny.biersoeldner.org/
und hier der code:
Code:
import java.awt.*;
import javax.swing.plaf.synth.ColorType;
public class Paint_2 extends java.applet.Applet
{
//Deklarationen
CheckboxGroup group = new CheckboxGroup();
Checkbox c1 = new Checkbox("rot",group,false);
Checkbox c2 = new Checkbox("blau",group,false);
Checkbox c3 = new Checkbox("grün",group,false);
Label l1 = new Label("- Bitte Farbe auswählen : ");
Label header = new Label("-=== Benny's Malstudio ===--");
Button redButton,blueButton,greenButton,
whiteButton,blackButton,resetButton;
final int MAXSPOTS = 1000000;
int Farbe[] = new int[MAXSPOTS];
int xspots[] = new int[MAXSPOTS];
int yspots[] = new int[MAXSPOTS];
int currspots = 0;
//Methode zum Zeichnen von Linien
public boolean mouseDrag(Event evt, int x, int y)
{
// if(currspots < MAXSPOTS)
//{
addspot(x,y);
return true;
// }
//else
// {
// System.out.println("Zu viele Punkte!");
// return false;
//}
}
//Methode zum Zeichnen von Punkten
public boolean mouseDown(Event evt, int x, int y)
{
// if(currspots < MAXSPOTS)
//{
addspot(x,y);
return true;
// }
//else
// {
// System.out.println("Zu viele Punkte!");
// return false;
//}
}
//Methode welche die Farbewerte speichert
private void addspot(int x, int y)
{
xspots[currspots] = x;
yspots[currspots] = y;
currspots++;
repaint();
}
//Flimmern verhindern
public void update(Graphics screen)
{
paint(screen);
}
public boolean action(Event evt, Object arg)
{
if(evt.target instanceof Button)
{
changeColor((Button)evt.target);
return true;
}
else return false;
}
void changeColor(Button b)
{
if (b == redButton) setBackground(Color.red);
else if (b == whiteButton) setBackground(Color.white);
else if (b == blueButton) setBackground(Color.blue);
else if (b == greenButton) setBackground(Color.green);
else if (b == resetButton)
{
currspots = 0;
setBackground(Color.black);
repaint();
setBackground(Color.white);
}
else setBackground(Color.black);
repaint();
}
public void init()
{
Font f1 = new Font("Helvetica", Font.BOLD,20);
Font f2 = new Font("Arial", Font.ROMAN_BASELINE,12);
setBackground(Color.white);
setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
redButton = new Button("Red");
add(redButton);
blueButton = new Button("Blue");
add(blueButton);
greenButton = new Button("Green");
add(greenButton);
whiteButton = new Button("White");
add(whiteButton);
blackButton = new Button("Black");
add(blackButton);
resetButton = new Button("RESET");
add(resetButton);
setLayout(new FlowLayout());
setFont(f2);
header.setFont(f1);
add(header);
add(l1);
add(c1);
add(c2);
add(c3);
}
public void paint(Graphics g)
{
if (c1.getState()==true)
{
Farbe[currspots] = 0;
}
else if (c2.getState()==true)
{
Farbe[currspots] = 1;
}
else if (c3.getState()==true)
{
Farbe[currspots] = 2;
}
for(int i=0;i<currspots;i++)
{
if (Farbe[i]==0)
g.setColor(Color.red);
else if (Farbe[i]==1)
g.setColor(Color.blue);
else if (Farbe[i]==2)
g.setColor(Color.green);
g.fillOval(xspots[i] -10, yspots[i]-10, 20, 20);
}
}
}