Hallo,
glaube das ist ne ungewöhnliche Frage, aber evtl. hat jemand ne Idee.
Ich habe eine Swing Anwendung, die mehrere Grafik Elemente darstellt.
Schlussendlich kann der user die JComponent, also das was an einzelnen Grafik Elementen angezeigt wird, als Image speichern.
Jetzt habe ich die Aufgabe bekommen das ganze als rein textbasierte Version mit Start von der Konsole heraus zu machen.
Also es soll keine für den Anwender sichtbare GUI erstellt werden, sondern nur das Image entsprechend den Parametern der user eingabe erfolgen.
Den Aufruf und das Auslesen der Kommandozeilen parameter ist ja kein Problem, aber ich kann die ganzen Methoden ohne GUI ja nicht mehr benutzen.
Kann man die GUI im HIntergrund erzeugen lassen?
Oder hat jemand einen Tip, wie kann man ohne Swing zeichen?
vielen Dank
glaube das ist ne ungewöhnliche Frage, aber evtl. hat jemand ne Idee.
Ich habe eine Swing Anwendung, die mehrere Grafik Elemente darstellt.
Schlussendlich kann der user die JComponent, also das was an einzelnen Grafik Elementen angezeigt wird, als Image speichern.
Jetzt habe ich die Aufgabe bekommen das ganze als rein textbasierte Version mit Start von der Konsole heraus zu machen.
Also es soll keine für den Anwender sichtbare GUI erstellt werden, sondern nur das Image entsprechend den Parametern der user eingabe erfolgen.
Den Aufruf und das Auslesen der Kommandozeilen parameter ist ja kein Problem, aber ich kann die ganzen Methoden ohne GUI ja nicht mehr benutzen.
Kann man die GUI im HIntergrund erzeugen lassen?
Oder hat jemand einen Tip, wie kann man ohne Swing zeichen?
Code:
public void image(ActionEvent e)
{
final int w = mgr.getWidth();
final int h = mgr.getHeight();
BufferedImage bi = new BufferedImage(w, h, BufferedImage.TRANSLUCENT);
Graphics2D g2 = bi.createGraphics();
Display.paint(g2); //Display ist von JComponent
JFileChooser chooser = new JFileChooser();
if (chooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
{
File imageFile = chooser.getSelectedFile();
if(!imageFile.getName().toLowerCase().endsWith(".png"))
{
imageFile = new File(imageFile.getAbsolutePath() + ".png");
}
try
{
ImageIO.write(bi, "png", imageFile );
}
catch(IOException ex)
{
handleException(ex);
}
}
}
vielen Dank