Neue Datei erstellen in JPanel

plammy

Bekanntes Mitglied
Hallo :).. Ich habe einen Frame der aus 3 JPanels besteht. Die 2 JPanels sind auf der rechten Seite untereinander angeordnet und dienen zur Eingeben von verschienenen Werte. Der 3te JPanel ist quasi der Arbeitsbereich. So stelle ich mir das zumidest vor. Ich möchte in diesen 3ten JPanel eine leere DAei (leeres weißes Blatt) erstellen können und dieses auch Speichern (als erster Schritt). Ich habe schon etwas zu den Menüs Neu und Speicher unter... geschrieben aber ich wüsste nicht wie ich diese mit dem JPanel der sich in einer anderen Klasse unter GroupLayout befindet verbinden kann :L

/** Klasse Panel **/
Code:
public class Panel {
    
    public static JPanel initComponents() {
      
    ... 
    JPanel jPanel1  = new JPanel();
    JPanel jPanel2  = new JPanel();
    JPanel jPanel3 = new JPanel();
    
    
    JPanel panel = new JPanel();

    JLabel wrapper = new JLabel("wrapper");
    ...
    JTextField w_wrapper = new JTextField();
    ...
   
    GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
    ...
    GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
    ...
    GroupLayout jPanel3Layout = new GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3.setBackground(color_lightgray);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGap(0, 0, Short.MAX_VALUE)
        );

        GroupLayout layout = new GroupLayout(panel);
        panel.setLayout(layout);
        panel.setBackground(color_darkgray);
        layout.setHorizontalGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel3)
                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, GroupLayout.Alignment.TRAILING, 200, 200, 200)
                    .addComponent(jPanel2, GroupLayout.Alignment.TRAILING, 200, 200, 200)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jPanel3)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, 160,160,160)
                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel2, 770,770,770)))
                .addGap(0, 0, Short.MAX_VALUE))
        );

       
        return panel;
    }
}



/** Klasse Menu **/
Code:
public class Menu extends JPanel{

    protected static JMenu getMenuFile() {

        JMenu file_menu = new JMenu("Datei"); 
		
            // Untermenue "Neu" 
            JMenuItem file_menu_new = new JMenuItem("Neu");	
            file_menu_new.addActionListener(new ActionListener(){
                            
                public void actionPerformed(ActionEvent event){
                }
            });
            
            // Untermenue "Oeffnen"		
            JMenuItem file_menu_open = new JMenuItem("\u00D6"+"ffnen");	  //\u00D6  = Ö
            file_menu_open.addActionListener(new ActionListener(){
                JFileChooser fileChooser = new JFileChooser();
    
                public void actionPerformed(ActionEvent event) {
                    // Auswahldialog oeffnen
                    FileNameExtensionFilter filter = new FileNameExtensionFilter("*.jpg; *.gif", "jpg", "gif");
                    fileChooser.setFileFilter(filter);
                    int returnValue = fileChooser.showOpenDialog(null);
                        if(returnValue == JFileChooser.APPROVE_OPTION) {
                            File f = fileChooser.getSelectedFile();
                            try {
                               FileReader fr  = new FileReader(f);
                               te.read(fr, "");
                            } catch (IOException ioex){
                                System.out.println(event);
                                System.exit(1);
                                
                            }
                        }
                }
            });

            
              // Untermenue "Speichern unter..." 
            JMenuItem file_menu_save_under = new JMenuItem("Speichern unter...");	
            file_menu_save_under.addActionListener(new ActionListener(){
                
                JFileChooser fileChooser = new JFileChooser();
    
                public void actionPerformed(ActionEvent event) {
                    // Auswahldialog oeffnen
                    int returnValue = fileChooser.showSaveDialog(null);
                        if(returnValue == JFileChooser.APPROVE_OPTION) {
                            File f = fileChooser.getSelectedFile();
                            try{
                                FileWriter fw = new FileWriter(f);
                                fw.write("");
                                
                               
                            }catch (IOException ex){
                                ex.printStackTrace();
                            }
                        }
                }
            });
 

Anhänge

  • panel3.jpg
    panel3.jpg
    42,9 KB · Aufrufe: 31
Zuletzt bearbeitet:

plammy

Bekanntes Mitglied
Also mit grouplayout konnte ich das iwie schönes und besser anordnen.

Ich muss iwie auf dem jPanel3 zugreifen um iwie sowas zu haben

int returnValue = fileChooser.showOpenDialog(jPanel3);

Aber der ist ja in einer anderen Klasse iwo in GroupLayout initialisiert... :eek:
 
Zuletzt bearbeitet:

plammy

Bekanntes Mitglied
Hast keiner einer Idee??

Die Datei soll einfach leer was weiß ich 600x400 sein. So wie bei Photoshop wenn man auf Neu drückt

Meine Idee wäre folgende:

/* Klasse NeuFile */
Java:
public class NeuFile {
    
    public void paint (Graphics g){    
        g.drawRect(30, 30, 500, 900);

}
}

/* Klasse Menu */
Java:
public class Menu extends JPanel{

     protected static JMenu getMenuFile() {
 
        JMenu file_menu = new JMenu("Datei"); 		
 
            JMenuItem file_menu_new = new JMenuItem("Neu");	
                     
            file_menu_new.addActionListener(new ActionListener(){
            NeuFile w = new NeuFile();
             
                public void actionPerformed(ActionEvent event){
                   [COLOR="Red"]w.paint(g);    // so geht natürlich nicht  [/COLOR]                   
                }
            });
 
Zuletzt bearbeitet:

c_sidi90

Top Contributor
Erstell dir eine Klasse z.B. Arbeitsblatt welche von JPanel erbt. In deinem Zeichen Panel fügst du nach dem Klick auf neu halt ein neues Arbeitsblatt Objekt hinzu. Schreib es halt so das es einenen weißen Hintergrund als default hat. Das kannst du in der paintComponent Methode der Arbeitsblatt klasse machen.
 

plammy

Bekanntes Mitglied
Die Sache ist die: Mein JPanel jPanel4 befindet sich in meiner Klasse Panel und ist in einer GroupLayout eingebunden:

Java:
public class Panel {
  
    public static JPanel initComponents() {

    JPanel jPanel1  = new JPanel();
    JPanel jPanel2  = new JPanel();
    JPanel jPanel3 = new JPanel(); 
    JPanel jPanel4 = new JPanel();
    JPanel panel = new JPanel();

        GroupLayout jPanel1Layout = new GroupLayout(jPanel1);
        ......
        GroupLayout jPanel2Layout = new GroupLayout(jPanel2);
        ......
        GroupLayout jPanel3Layout = new GroupLayout(jPanel3);
        ......
         
        GroupLayout jPanel4Layout = new GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4.setBackground(color_lightgray);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGap(0, 0, Short.MAX_VALUE)
        );

        GroupLayout layout = new GroupLayout(panel);
        panel.setLayout(layout);
        panel.setBackground(color_darkgray);
        layout.setHorizontalGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jPanel4)
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                        .addComponent(jPanel1, GroupLayout.Alignment.TRAILING, 210, 210, 210)
                        .addComponent(jPanel2, GroupLayout.Alignment.TRAILING, 210, 210, 210)
                        .addComponent(jPanel3, GroupLayout.Alignment.TRAILING, 210, 210, 210))
                .addGap(0, 0, 5))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jPanel4)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1)        
                        .addComponent(jPanel2)
                        .addComponent(jPanel3)))
                .addGap(0, 0, 5))
        );

       
        return panel;
    }
}



/* Klasse Menu */
Java:
public class Menu extends JPanel{

      public static JTextArea te= new JTextArea();
    
     protected static JMenu getMenuFile() {
 
        JMenu file_menu = new JMenu("Datei"); 								

            // Untermenue "Neu" 
            JMenuItem file_menu_new = new JMenuItem("Neu");	

            file_menu_new.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent event){
                   NeuFile w = new NeuFile();                   
                }
            });
   .........
}
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    54,5 KB · Aufrufe: 24
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I JLabel neue Zeile AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
boscho87 JavaFX Variabeln an neue Scene übergeben AWT, Swing, JavaFX & SWT 0
D JLabel bei Aufruf neue Zeile AWT, Swing, JavaFX & SWT 5
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
M Swing JFreechart zoom x-achse neue Werte AWT, Swing, JavaFX & SWT 4
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
Birke Swing Neue Swing LayoutManager: TOnion Projekt AWT, Swing, JavaFX & SWT 10
J JavaFX Variable an neue Scene übergeben AWT, Swing, JavaFX & SWT 8
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
S Oracle's neue Sicherheitseinstellungen zerstoeren mein Applet. Was tun? AWT, Swing, JavaFX & SWT 3
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
windl Querstreifen beim Bilder malen und anpassen an neue CPU AWT, Swing, JavaFX & SWT 12
C Neue Benutzeroberfläche einfügen? AWT, Swing, JavaFX & SWT 12
C Swing Fensterresize durch doppelklick - wie die neue Grösse erhalten? AWT, Swing, JavaFX & SWT 3
E JFreeChart in einer dynamischen Aufzeichnung neue Serien hinzufügen? AWT, Swing, JavaFX & SWT 7
K Buttons und neue Fenster AWT, Swing, JavaFX & SWT 9
V Swing Neue Größe bei ComponentListener noch nicht verfügbar? AWT, Swing, JavaFX & SWT 3
Meldanor Swing JTable - Eine neue Zeile vor einer bestehenden Einfügen AWT, Swing, JavaFX & SWT 2
P 2D-Grafik Neue Farbe für einen Teilbereich einer Linie? AWT, Swing, JavaFX & SWT 8
C Swing JLabels entfernen und neue einfügen AWT, Swing, JavaFX & SWT 6
J Swing JList: Neue Zeilen mit fireIntervalAdded sind automatisch selektiert AWT, Swing, JavaFX & SWT 2
C AWT Über Pulldownmenü neue Javadatei öffnen AWT, Swing, JavaFX & SWT 7
E In JTable neue Zeile mit Tabulator einfügen AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
M Main Frame schließen und neue Klasse aufrufen? AWT, Swing, JavaFX & SWT 2
P Eigenes TableModel abgeleitet von AbstractTableModel (neue rows nicht sichtbar) AWT, Swing, JavaFX & SWT 6
S [Swing] Wie zeichne ich neue Linien AWT, Swing, JavaFX & SWT 3
R Innerhalb der GUI Klasse meine neue Klasse aufrufen AWT, Swing, JavaFX & SWT 1
4 Neue Fensterinhalte kommen nicht im selben Fenster AWT, Swing, JavaFX & SWT 5
D JLabel o.a. im Swing Fenster löschen um neue JL. zu zeigen AWT, Swing, JavaFX & SWT 4
R JFileChooser (neue Instanzen bei Mehrfachauswahl?) AWT, Swing, JavaFX & SWT 6
G Oberfläche löschen und neue erstellen AWT, Swing, JavaFX & SWT 4
S int-berechnung des RGB-Wertes ohne neue Instanz? AWT, Swing, JavaFX & SWT 9
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
Icewind Jlist zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
Icewind JTable zeigt neue elemente im model nicht sofort an AWT, Swing, JavaFX & SWT 3
O der neue eclipse 3.1 splash screen AWT, Swing, JavaFX & SWT 3
P JComboBox: Items löschen und neue hinzufügen. AWT, Swing, JavaFX & SWT 3
G Neue Komponente erstellen - Fragen/Probleme mit MouseEvents AWT, Swing, JavaFX & SWT 2
J JTextArea + neue Zeile AWT, Swing, JavaFX & SWT 9
R JFrame oder Frame für neue GUI? AWT, Swing, JavaFX & SWT 2
H Neue Instanz einer Klasse bei JButton-Klick AWT, Swing, JavaFX & SWT 5
S Neue Zeile in JTable adden AWT, Swing, JavaFX & SWT 3
F Bilder zu ausführbarer Jar-Datei hinzufügen AWT, Swing, JavaFX & SWT 5
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
Yonnig Lokale HTML-Datei in Java GUI rendern AWT, Swing, JavaFX & SWT 4
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
B JavaFX JavaFX Anwendung deployen (entw als runnableJAR oder exe-Datei) AWT, Swing, JavaFX & SWT 15
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
MasterCaution Swing .jar Datei ausführen AWT, Swing, JavaFX & SWT 12
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
N Ausführbare Datei aus JavaFX Projekt erstellen AWT, Swing, JavaFX & SWT 22
L Bilder werden in exportierter Datei nicht geladen AWT, Swing, JavaFX & SWT 6
L Csv-Datei einlesen AWT, Swing, JavaFX & SWT 34
J *.jar öffnet PDF-Datei nicht AWT, Swing, JavaFX & SWT 35
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
F Java FX Von der Fxml Datei zum Objekt AWT, Swing, JavaFX & SWT 8
A JavaFX Anwendung in Jar Datei AWT, Swing, JavaFX & SWT 8
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
J Swing JavaProgramm für Verschlüssen für eine Datei AWT, Swing, JavaFX & SWT 19
T .jar-Datei lässt sich unflexibler ausführen als über die IDE AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
H JavaFX aus der .fxml Datei einen Konstruktor bedienen AWT, Swing, JavaFX & SWT 3
P JavaFX - XCF Datei von Gimp kann nicht angezeigt werden AWT, Swing, JavaFX & SWT 3
M Wie binde ich eine JavaFX ProgressBar an eine Datei Übertragung? AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
C JavaFX Auf Nodes einer FXML-Datei in start Methode zugreifen AWT, Swing, JavaFX & SWT 5
F Pfad von eingelesener Datei AWT, Swing, JavaFX & SWT 10
Crazynet xls Datei in JTable AWT, Swing, JavaFX & SWT 3
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
G .txt-Datei einlesen /formatieren in JTextfield ?? AWT, Swing, JavaFX & SWT 8
B ST Datei einlesen AWT, Swing, JavaFX & SWT 1
D JavaFX Jar Datei Signieren mit Java 8u45 AWT, Swing, JavaFX & SWT 2
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
M Swing PDF Datei nach drucken nicht löschbar AWT, Swing, JavaFX & SWT 6
A Databinding in FXML-Datei AWT, Swing, JavaFX & SWT 1
H 2D-Grafik .EPS Datei in .PNG konvertieren AWT, Swing, JavaFX & SWT 1
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
B JAVAFX und CSS Datei in Eclipse AWT, Swing, JavaFX & SWT 4
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
S Aus XML Datei FXML generieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben