Hallo,
also ich habe schon das gesamte Forum nach meinem Problem durchforstet und bin auch auf aehnliche Themen gestossen, konnte die Loesungsvorschlaege aber nicht umsetzen... Ich moechte ein JPanel, das Linien und JLabels enthaelt, als JPG-Datei speichern. Ich haette es gerne so, dass beim Klicken auf einen Save-Button ein FileChooser aufpoppt, in dem man den gewuenschten Pfad aussucht und den Dateinamen eingibt (wie es in herkoemmlichen Programmen ueblich ist).
Als problematisch hat sich dabei das Erstellen einer neuen Datei erwiesen, d.h. ich habs nicht hingekriegt mit dem String den der FileChooser zurueckgibt eine Datei zu erstellen. Habs auch erstmal versucht hart zu Coden, aber
"File f = new File("c:\daten\bilder\test.jpg");" mochte er auch nicht
Gruss, gnom
Hab natuerlich einen kleinen Code zusammengeschnipselt, damit ihr mir hoffentlich helfen koennt (die JLabels fehlen in diesem Beispiel):
also ich habe schon das gesamte Forum nach meinem Problem durchforstet und bin auch auf aehnliche Themen gestossen, konnte die Loesungsvorschlaege aber nicht umsetzen... Ich moechte ein JPanel, das Linien und JLabels enthaelt, als JPG-Datei speichern. Ich haette es gerne so, dass beim Klicken auf einen Save-Button ein FileChooser aufpoppt, in dem man den gewuenschten Pfad aussucht und den Dateinamen eingibt (wie es in herkoemmlichen Programmen ueblich ist).
Als problematisch hat sich dabei das Erstellen einer neuen Datei erwiesen, d.h. ich habs nicht hingekriegt mit dem String den der FileChooser zurueckgibt eine Datei zu erstellen. Habs auch erstmal versucht hart zu Coden, aber
"File f = new File("c:\daten\bilder\test.jpg");" mochte er auch nicht
Gruss, gnom
Hab natuerlich einen kleinen Code zusammengeschnipselt, damit ihr mir hoffentlich helfen koennt (die JLabels fehlen in diesem Beispiel):
Code:
public class saveFile {
private DrawPanel panel = null;
private JFileChooser chooser = new JFileChooser();
public static void main(String[] args) {
saveFile saveFile = new saveFile();
JFrame frame = new JFrame("");
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
saveFile.init(frame);
}
private void init(JFrame frame){
panel = new DrawPanel();
Button button = new Button("SAVE");
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
onSAVE(e); // TODO Auto-generated Event stub actionPerformed()
}
});
BorderLayout layout = new BorderLayout();
frame.setLayout(layout);
frame.getContentPane().add(panel,BorderLayout.CENTER);
frame.getContentPane().add(button, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
private void onSAVE(ActionEvent e) {
//hier soll der filechooser aufpoppen
//und das panel als .jpg an der gewaehlten stelle abgespeichert werden
}
}
class DrawPanel extends JPanel{
public DrawPanel(){
setPreferredSize(new Dimension(200,200));
}
public void paintComponent(Graphics g){
g.drawLine(0, 0, 50, 50);
}
}