Editor Lade Problem

Status
Nicht offen für weitere Antworten.

gote

Mitglied
Hallo, ich habe schon gegooglet, in den FAQs geschaut und gesicht, allerdiungs nichts gefunden. Ich habe einen Editor der eine Datei laden soll, allerdings lädt er sie nur halb oder nicht. Den Editor gibts mit dem Quellcode unter http://vokamus.de/downloads/Editor.jar
Ich lade in org.Buttons.VocMenubar (Über die Namen lässt sich streiten^^). Hoffe auf Antwort
 

André Uhres

Top Contributor
Code:
                   for (String str = in.readLine(); str != null; str = in.readLine())
                        eingabe.append(str + "\n");
 

gote

Mitglied
Ok, danke. wie kann ich das machen das wenn jemand was in der textarea was eingibt sich der wert einer boolean variable auf false setzt? Ich würde das mit einem FocusListener machen, allerdings weiß ich nicht genau wie das geht. AUßerdem, wie funktioniert der WindowListener?

danke im voraus felix
 

André Uhres

Top Contributor
Der DocumentListener ruft die Methode insertUpdate auf wenn man Text hinzufügt
und removeUpdate wenn man Text entfernt:
Code:
       textArea.getDocument().addDocumentListener(new DocumentListener() {
            public void changedUpdate(DocumentEvent e) {
            }
            public void insertUpdate(DocumentEvent e) {
            }
            public void removeUpdate(DocumentEvent e) {
            }
        });
Der WindowListener ist für Container gedacht, wie JFrame oder JDialog.
Die Methode windowClosing wird z.B. aufgerufen wenn der Frame beendet wird,
dann kann man noch abschliessende Funktionen ausführen.
Code:
       addWindowListener(new WindowListener() {
            public void windowActivated(WindowEvent e) {
            }
            public void windowClosed(WindowEvent e) {
            }
            public void windowClosing(WindowEvent e) {
            }
            public void windowDeactivated(WindowEvent e) {
            }
            public void windowDeiconified(WindowEvent e) {
            }
            public void windowIconified(WindowEvent e) {
            }
            public void windowOpened(WindowEvent e) {
            }
        });
 

gote

Mitglied
Code:
package org.main;

import org.buttons.*;
import org.dialogs.*;
import lib.frame.*;
import lib.field.*;
import lib.size.*;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class MainClass extends VisibleExitOnCloseFrame {
	
	private VocMenubar menuebar;
	private VocToolbar toolbar;
	public static Textfield pane;
	private JScrollPane scroll;
	public static MainClass f;
	
	public MainClass(String title, Size size, Size location) {
		super(title, size, location);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		f = new MainClass("Vocamus Power PHP - noname.htm", new Size(800,600), new Size(20,30));
        f.addWindowListener(new WindowListener() { 
            public void windowActivated(WindowEvent e) { 
            } 
            public void windowClosed(WindowEvent e) { 
            	if(!VocMenubar.saved) {
            		int i = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
            		if(i == 0) {
            			System.out.println("Gespeichert");
            		}
            		else {
            			System.exit(0);
            		}
            	}
            } 
            public void windowClosing(WindowEvent e) { 
            } 
            public void windowDeactivated(WindowEvent e) { 
            } 
            public void windowDeiconified(WindowEvent e) { 
            } 
            public void windowIconified(WindowEvent e) { 
            } 
            public void windowOpened(WindowEvent e) { 
            } 
        });
	}
	
	protected void makeButtons() {
		mainPanel = new JPanel(new BorderLayout());
		pane = new Textfield(100,400);
		scroll = new JScrollPane();
		scroll.getViewport().add(pane);
		toolbar = new VocToolbar();
		menuebar = new VocMenubar();
	}
	
	protected void arrangeButtons() {
		setJMenuBar(menuebar);
		mainPanel.add("North",toolbar);
		mainPanel.add("Center", scroll);
		add(mainPanel);
	}

}

Das klappt nicht so ganz...
 

Leroy42

Top Contributor
Editor Lade Problem

Ist das jetzt ein einfacher Schreib-/Flüchtigkeitsfehler?

Auswirkungen der neuen Rechtschreibung?

Smalltalk Syntax? (Hey Editor, lade mal das Problem).

Fragen über Fragen.. :shock:
 

gote

Mitglied
ok, und wie kann ich ihm sagen, dass er bei abbrechen nix machen soll? und noch paar fragen^^, sry weils soviel ist:
wie kann ich anschließend das look and feel ändern? wie kann ich funktionen wie rückgängig, wiederholen, kopieren, auschneiden, einfügen und drucken machen? hier nochmal der code von meiner mainclass und meinem menü:

Code:
package org.main;

import org.buttons.*;
import org.dialogs.*;
import lib.frame.*;
import lib.field.*;
import lib.size.*;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class MainClass extends VisibleExitOnCloseFrame {
	
	private static VocMenubar menuebar;
	private VocToolbar toolbar;
	public static Textfield pane;
	private JScrollPane scroll;
	public static MainClass f;
	
	public MainClass(String title, Size size, Size location) {
		super(title, size, location);
		setVisible(true);
	}
	
	public static void main(String[] args) {
		f = new MainClass("Vocamus Power PHP - noname.htm", new Size(800,600), new Size(20,30));
        f.addWindowListener(new WindowListener() { 
            public void windowActivated(WindowEvent e) { 
            } 
            public void windowClosed(WindowEvent e) { 
            } 
            public void windowClosing(WindowEvent e) { 
            	if(!VocMenubar.saved) {
            		int i = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
            		if(i == 0)
            			menuebar.saveFileAs();
            		else if(i == 1) {
            			System.exit(0);
            		}
            		else {
            			
            		}
            	}
            } 
            public void windowDeactivated(WindowEvent e) { 
            } 
            public void windowDeiconified(WindowEvent e) { 
            } 
            public void windowIconified(WindowEvent e) { 
            } 
            public void windowOpened(WindowEvent e) { 
            } 
        });
	}
	
	protected void makeButtons() {
		mainPanel = new JPanel(new BorderLayout());
		pane = new Textfield(100,400);
		scroll = new JScrollPane();
		scroll.getViewport().add(pane);
		toolbar = new VocToolbar();
		menuebar = new VocMenubar();
	}
	
	protected void arrangeButtons() {
		setJMenuBar(menuebar);
		mainPanel.add("North",toolbar);
		mainPanel.add("Center", scroll);
		add(mainPanel);
	}

}

Code:
package org.buttons;

import org.main.*;
import java.awt.*;
import javax.swing.*;

import java.awt.event.*;
import java.io.*;
import javax.swing.filechooser.FileFilter;

public class VocMenubar extends JMenuBar implements ActionListener {
	
	public static boolean saved = true;
	private File savefile;
	private JMenuItem item[] = new JMenuItem[20];
	private int i = 0;
	private String[] fertig;
	
	private JMenu datei;
	private JMenuItem neu;
	private JMenuItem speichern;
	private JMenuItem speichernals;
	private JMenuItem laden;
	private JMenuItem drucken;
	private JMenuItem beenden;
	
	private JMenu bearbeiten;
	private JMenuItem rückgängig;
	private JMenuItem vorwärts;
	private JMenuItem ausschneiden;
	private JMenuItem kopieren;
	private JMenuItem einfügen;
	private JMenuItem zeile;
	private JMenuItem suchen;
	private JMenuItem ersetzen;
	
	private JMenu befehle;
	private JMenu vordefinierte;
	private JMenu eigene;
	private JMenuItem verbindung;
	private JMenuItem datenbank;
	private JMenuItem abfragen;
	private JMenuItem insert;
	private JMenuItem ändern;
	private JMenuItem löschen;
	private JMenuItem vschließen;
	private JMenuItem bhinzufügen, blöschen;
	
	private JMenu einstellungen;
	private JMenuItem schrift;
	private JMenu look;
	private JMenuItem metal, motif, windows;
	
	public VocMenubar() {
		super();
		
		datei = new JMenu("Datei");
		neu = new JMenuItem("Neu");
		laden = new JMenuItem("Laden...");
		speichern = new JMenuItem("Speichern");
		speichernals = new JMenuItem("Speichern als...");
		drucken = new JMenuItem("Drucken");
		beenden = new JMenuItem("Beenden");
		datei.add(neu);
		datei.add(laden);
		datei.add(speichern);
		datei.add(speichernals);
		datei.add(drucken);
		datei.add(beenden);
		add(datei);
		
		bearbeiten = new JMenu("Bearbeiten");
		rückgängig = new JMenuItem("Rückgängig");
		vorwärts = new JMenuItem("Wiederholen");
		ausschneiden = new JMenuItem("Ausschneiden");
		kopieren = new JMenuItem("Kopieren");
		einfügen = new JMenuItem("Einfügen");
		zeile = new JMenuItem("Zu Zeile springen");
		suchen = new JMenuItem("String suchen");
		ersetzen = new JMenuItem("String ersetzen");
		bearbeiten.add(rückgängig);
		bearbeiten.add(vorwärts);
		bearbeiten.add(ausschneiden);
		bearbeiten.add(kopieren);
		bearbeiten.add(einfügen);
		bearbeiten.add(zeile);
		bearbeiten.add(suchen);
		bearbeiten.add(ersetzen);
		add(bearbeiten);
		
		befehle = new JMenu("Befehle");
		vordefinierte = new JMenu("Vordefinierte...");
		eigene = new JMenu("Eigene...");
		verbindung = new JMenuItem("MySQL Verbindung aufbauen");
		datenbank = new JMenuItem("Datenbank auswählen");
		abfragen = new JMenuItem("Abfrage");
		insert = new JMenuItem("Einfügen");
		ändern = new JMenuItem("Ändern");
		löschen = new JMenuItem("Löschen");
		vschließen = new JMenuItem("Verbindung schließen");
		bhinzufügen = new JMenuItem("Befehl hinzufügen");
		blöschen = new JMenuItem("Befehl löschen");
		vordefinierte.add(verbindung);
		vordefinierte.add(datenbank);
		vordefinierte.add(abfragen);
		vordefinierte.add(insert);
		vordefinierte.add(ändern);
		vordefinierte.add(löschen);
		vordefinierte.add(vschließen);
		eigene.add(bhinzufügen);
		eigene.add(blöschen);
		befehle.add(vordefinierte);
		befehle.add(eigene);
		add(befehle);
		
		einstellungen = new JMenu("Einstellungen");
		look = new JMenu("Look&Feel");
		windows = new JMenuItem("Windows");
		metal = new JMenuItem("Metal");
		motif = new JMenuItem("Motif");
		look.add(metal);
		look.add(windows);
		look.add(motif);
		schrift = new JMenuItem("Schrift wählen");
		einstellungen .add(schrift);
		einstellungen.add(look);
		add(einstellungen);
		
		neu.addActionListener(this);
		laden.addActionListener(this);
		speichern.addActionListener(this);
		speichernals.addActionListener(this);
		drucken.addActionListener(this);
		beenden.addActionListener(this);
		
		verbindung.addActionListener(this);
		datenbank.addActionListener(this);
		abfragen.addActionListener(this);
		insert.addActionListener(this);
		ändern.addActionListener(this);
		löschen.addActionListener(this);
		vschließen.addActionListener(this);
		
		bhinzufügen.addActionListener(this);
		
		metal.addActionListener(this);
		windows.addActionListener(this);
		motif.addActionListener(this);
		
		schrift.addActionListener(this);
		
		
		readOutFile();
		
		if(fertig != null) {
			try {
				createOrder();
				if(fertig[57] == null) {
					if(fertig[54] == null) {
						if(fertig[51] == null) {
							if(fertig[48] == null) {
								if(fertig[45] == null) {
									if(fertig[42] == null) {
										if(fertig[39] == null) {
											if(fertig[36] == null) {
												if(fertig[33] == null) {
													if(fertig[30] == null) {
														if(fertig[27] == null) {
															if(fertig[24] == null) {
																if(fertig[21] == null) {
																	if(fertig[18] == null) {
																		if(fertig[15] == null) {
																			if(fertig[12] == null) {
																				if(fertig[9] == null) {
																					if(fertig[6] == null) {
																						if(fertig[3] == null) {
																							i = 0;
																						}
																						i = 1;
																					}
																					i = 2;
																				}
																				i = 3;
																			}
																			i = 4;
																		}
																		i = 5;
																	}
																	i = 6;
																}
																i = 7;
															}
															i = 8;
														}
														i = 9;
													}
													i = 10;
												}
												i = 11;
											}
											i = 12;
										}
										i = 13;
									}
									i = 14;
								}
								i = 15;
							}
							i = 16;
						}
						i = 17;
					}
					i = 18;
				}
				i = 19;
			}
			catch(ArrayIndexOutOfBoundsException ex) {}
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource().equals(verbindung))
			MainClass.pane.append("$connection = mysql_connect($host, $user, $password);" + "\n");
		
		else if(e.getSource().equals(datenbank))
			MainClass.pane.append("mysql_select_db($databasename);" + "\n");
		
		else if(e.getSource().equals(abfragen)) {
			MainClass.pane.append("$get = \"SELECT FROM tablename WHERE cloumn1 = '$value1'\";" + "\n");
			MainClass.pane.append("$finish = mysql_query($get);" + "\n");
			MainClass.pane.append("while($row = mysql_fetch_object($get))" + "\n");
			MainClass.pane.append("{" + "\n");
			MainClass.pane.append("}" + "\n");
		}
		
		else if(e.getSource().equals(insert)) {
			MainClass.pane.append("$insert = \"INSERT INTO table" + "\n");
			MainClass.pane.append("(column1, column2, column3)" + "\n");
			MainClass.pane.append("VALUES" + "\n");
			MainClass.pane.append("('value1', 'value2', 'value3')\";" + "\n");
			MainClass.pane.append("mysql_query($insert);" + "\n");
		}
		
		else if(e.getSource().equals(ändern)) {
			MainClass.pane.append("$aendern = \"UPDATE table Set" + "\n");
			MainClass.pane.append("column1 = 'value1'" + "\n");
			MainClass.pane.append("WHERE column2 = 'value2'\";" + "\n");
			MainClass.pane.append("mysql_query($change);" + "\n");
		}
		
		else if(e.getSource().equals(löschen)) {
			MainClass.pane.append("$delete = \"DELETE FROM table" + "\n");
			MainClass.pane.append("WHERE column1 = 'value1'\";" + "\n");
			MainClass.pane.append("mysql_query($delete);" + "\n");
		}
		
		else if(e.getSource().equals(vschließen)) {
			MainClass.pane.append("mysql_close($connection);" + "\n");
		}
		
		else if(e.getSource().equals(bhinzufügen)) {
			if(i <= 19) {
				String mtext;
				PrintStream p;
				FileReader y;
				BufferedReader in;
				StringBuffer eingabe;
			      try {
				      y = new FileReader("../conf/orders.ord");
				      in = new BufferedReader(y);
				      eingabe = new StringBuffer();
			          for (String str = in.readLine(); str != null; str = in.readLine()) 
			          eingabe.append(str + "\n");
				      in.close();
		    		  mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
		    		  String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
					  addMenuItem(mtext);
		    		  p = new PrintStream("../conf/orders.ord");
		    		  p.append(eingabe);
		    		  p.append(Integer.toString(i) + "\n");
		    		  p.append(mtext);
		    		  p.append("\n");
		    		  p.append(s2);
		    		  p.append("\n");
		    		  p.close();
				      }
				      catch(FileNotFoundException ex) {
				    	  try {
				    		  mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
				    		  String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
							  addMenuItem(mtext);
				    		  p = new PrintStream("../conf/orders.ord");
				    		  p.append(Integer.toString(i) + "\n");
				    		  p.append(mtext);
				    		  p.append("\n");
				    		  p.append(s2);
				    		  p.append("\n");
				    		  p.close();
				    	  }
				    	  catch(FileNotFoundException ex2) {}
				      }
				      catch(IOException ex) {
				    	  System.err.println("Konnte die Datei nicht auslesen.");
				      }
			}
				
				else if(i == 20) {
					String mtext;
					PrintStream p;
					FileReader y;
					BufferedReader in;
					StringBuffer eingabe;
				      try {
					      y = new FileReader("../conf/orders.ord");
					      in = new BufferedReader(y);
					      eingabe = new StringBuffer();
				          for (String str = in.readLine(); str != null; str = in.readLine()) 
				          eingabe.append(str + "\n");
					      in.close();
			    		  mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
			    		  String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
						  addMenuItem(mtext);
			    		  p = new PrintStream("../conf/orders.ord");
			    		  p.append(eingabe);
			    		  p.append(Integer.toString(i) + "\n");
			    		  p.append(mtext + "\n");
			    		  p.append(s2 + "\n");
			    		  p.close();
			    		  bhinzufügen.disable();
					      }
					      catch(IOException ex) {
					    	  System.err.println("Konnte die Datei nicht auslesen.");
					      }
			}
			
				else if(i >= 21) {
					JOptionPane.showMessageDialog(null, "Es können maximal 20 Befehle gespeichert werden");
				}
		}
		
		else if(e.getSource().equals(item[0])) {
			readOutFile();
			MainClass.pane.append(fertig[2] + "\n");
		}

		else if(e.getSource().equals(item[1])) {
			readOutFile();
			MainClass.pane.append(fertig[5] + "\n");
		}
		else if(e.getSource().equals(item[2])) {
			readOutFile();
			MainClass.pane.append(fertig[8] + "\n");
		}
		else if(e.getSource().equals(item[3])) {
			readOutFile();
			MainClass.pane.append(fertig[11] + "\n");
		}
		else if(e.getSource().equals(item[4])) {
			readOutFile();
			MainClass.pane.append(fertig[14] + "\n");
		}
		else if(e.getSource().equals(item[5])) {
			readOutFile();
			MainClass.pane.append(fertig[17] + "\n");
		}
		else if(e.getSource().equals(item[6])) {
			readOutFile();
			MainClass.pane.append(fertig[20] + "\n");
		}
		else if(e.getSource().equals(item[7])) {
			readOutFile();
			MainClass.pane.append(fertig[23] + "\n");
		}
		else if(e.getSource().equals(item[8])) {
			readOutFile();
			MainClass.pane.append(fertig[26] + "\n");
		}
		else if(e.getSource().equals(item[9])) {
			readOutFile();
			MainClass.pane.append(fertig[29] + "\n");
		}
		else if(e.getSource().equals(item[10])) {
			readOutFile();
			MainClass.pane.append(fertig[31] + "\n");
		}
		else if(e.getSource().equals(item[11])) {
			readOutFile();
			MainClass.pane.append(fertig[34] + "\n");
		}
		else if(e.getSource().equals(item[12])) {
			readOutFile();
			MainClass.pane.append(fertig[37] + "\n");
		}
		else if(e.getSource().equals(item[13])) {
			readOutFile();
			MainClass.pane.append(fertig[40] + "\n");
		}
		else if(e.getSource().equals(item[14])) {
			readOutFile();
			MainClass.pane.append(fertig[43] + "\n");
		}
		else if(e.getSource().equals(item[15])) {
			readOutFile();
			MainClass.pane.append(fertig[46] + "\n");
		}
		else if(e.getSource().equals(item[16])) {
			readOutFile();
			MainClass.pane.append(fertig[49] + "\n");
		}
		else if(e.getSource().equals(item[17])) {
			readOutFile();
			MainClass.pane.append(fertig[52] + "\n");
		}
		else if(e.getSource().equals(item[18])) {
			readOutFile();
			MainClass.pane.append(fertig[55] + "\n");
		}
		else if(e.getSource().equals(item[19])) {
			readOutFile();
			MainClass.pane.append(fertig[58] + "\n");
		}
		
		
		else if(e.equals(metal)) {
			try {
			    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
			    SwingUtilities.updateComponentTreeUI(MainClass.f);
			    MainClass.f.pack();
				}
				catch(Exception ex) {};
		}
		
		else if(e.equals(windows)) {
			try {
				UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
			    SwingUtilities.updateComponentTreeUI(MainClass.f);
			    MainClass.f.pack();
				}
				catch(Exception ex) {};
		}
		
		else if(e.equals(motif)) {
			try {
				UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
				}
				catch(Exception ex) {};
		}
		
		else if(e.getSource().equals(neu)) {
			if(!saved) {
			int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
			if(yes == 0) {
			saveFileAs();
			MainClass.pane.setText(null);
			MainClass.f.setTitle("Vocamus Power PHP - noname.htm");
			this.saved = true;
			}
			else if(yes == 1) {
				MainClass.pane.setText(null);
				MainClass.f.setTitle("Vocamus Power PHP - noname.htm");
				this.saved = false;
			}
			}
			else {
				MainClass.pane.setText(null);
			}
		}
		
		else if(e.getSource().equals(laden)) {
			loadFile();
		}
		
		else if(e.getSource().equals(speichern)) {
			if(saved && savefile != null) {
				saveFile();
			}
			else {
				saveFileAs();
			}
		}
		
		else if(e.getSource().equals(speichernals)) {
			saveFileAs();
		}
		
		else if(e.getSource().equals(beenden)) {
			int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
			if(yes == 0) {
				if(saved == true) {
					saveFile();
					System.exit(0);
				}
				else {
					saveFileAs();
				    System.exit(0);
				}
			}
			else if(yes == 1)
				System.exit(0);
		}
		
		else if(e.getSource().equals(schrift)) {
			String s = JOptionPane.showInputDialog(null, "Gewünschte Schriftgröße einstellen:");
			int zahl = Integer.valueOf(s).intValue();
			if(zahl <= 0) {
				JOptionPane.showMessageDialog(null, "Die Schrift muss größer als 0 sein.");
			}
			else {
				Font font = MainClass.pane.getFont();
				String name = font.getFontName();
				int style = font.getStyle();
				Font font2 = new Font(name, style, zahl);
				MainClass.pane.setFont(font2);
			}
		}
		
	}
	
	public void saveFile() {
	    FileOutputStream ps;
	    try {
		    	ps = new FileOutputStream(savefile.getPath());
		    	ps.write(MainClass.pane.getText().getBytes());
	    }
	    catch(FileNotFoundException ex) {
	    	System.err.println("Konnte nicht speichern");
	    }
	    catch(IOException ex) {
	    	System.err.println("Konnte nicht speichern");
	    }
	    finally {
	    	saved = true;
	    	MainClass.f.setTitle("Vocamus Power PHP - " + savefile.getName());
	    }
	}
	
	public void saveFileAs() {
		JFileChooser fc = new JFileChooser();
	    fc.setFileFilter( new FileFilter()
			    {
			      public boolean accept( File f )
			      {
			        return f.isDirectory() ||
			          f.getName().toLowerCase().endsWith( ".php" );
			      }
			      public String getDescription()
			      {
			        return "PHP-Skripte";
			      }
			    } );
			    fc.setFileFilter( new FileFilter()
					    {
					      public boolean accept( File f )
					      {
					        return f.isDirectory() ||
					          f.getName().toLowerCase().endsWith( ".html" ) ||
					          f.getName().toLowerCase().endsWith( ".htm" );
					      }
					      public String getDescription()
					      {
					        return "HTML-Dateien";
					      }
					    } );
		int state = fc.showSaveDialog(null);
	    if ( state == JFileChooser.APPROVE_OPTION ) {
		    savefile = fc.getSelectedFile();
		    FileOutputStream ps;
		    try {
		    	ps = new FileOutputStream(savefile.getPath());
		    	ps.write(MainClass.pane.getText().getBytes());
		    }
		    catch(FileNotFoundException ex) {
		    	System.err.println("Konnte nicht speichern");
		    }
		    catch(IOException ex) {
		    	System.err.println("Konnte nicht speichern");
		    }
		    finally {
		    	saved = true;
		    	MainClass.f.setTitle("Vocamus Power PHP - " + savefile.getName());
		    }
	    }
	}
	
	public void loadFile() {
		File file;
		if(!saved) {
		int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
		if(yes == 0) {
			if(!saved)
				saveFileAs();
			else 
				saveFile();
		    JFileChooser fc = new JFileChooser();
		    fc.setFileFilter( new FileFilter()
		    {
		      public boolean accept( File f )
		      {
		        return f.isDirectory() ||
		          f.getName().toLowerCase().endsWith( ".php" );
		      }
		      public String getDescription()
		      {
		        return "PHP-Skripte";
		      }
		    } );
		    fc.setFileFilter( new FileFilter()
				    {
				      public boolean accept( File f )
				      {
				        return f.isDirectory() ||
				          f.getName().toLowerCase().endsWith( ".html" ) ||
				          f.getName().toLowerCase().endsWith( ".htm" );
				      }
				      public String getDescription()
				      {
				        return "HTML-Dateien";
				      }
				    } );
		    int state = fc.showOpenDialog( null );
		    if ( state == JFileChooser.APPROVE_OPTION )
		    {
		      file = fc.getSelectedFile();
		      FileReader y;
		      BufferedReader in;
		      
		      try {
		      y = new FileReader(file.getPath());
		      in = new BufferedReader(y);
		      StringBuffer eingabe = new StringBuffer();;
	          for (String str = in.readLine(); str != null; str = in.readLine()) 
	              eingabe.append(str + "\n");
		      in.close();
		      MainClass.pane.setText(eingabe.toString());
		      MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
		      }
		      catch(FileNotFoundException ex) {
		    	  System.err.println("Konnte die Datei nicht finden.");
		      }
		      catch(IOException ex) {
		    	  System.err.println("Konnte die Datei nicht auslesen.");
		      }
		    }
		}
		else if(yes == 1) {
		    JFileChooser fc = new JFileChooser();
		    fc.setFileFilter( new FileFilter()
		    {
		      public boolean accept( File f )
		      {
		        return f.isDirectory() ||
		          f.getName().toLowerCase().endsWith( ".php" );
		      }
		      public String getDescription()
		      {
		        return "PHP-Skripte";
		      }
		    } );
		    fc.setFileFilter( new FileFilter()
				    {
				      public boolean accept( File f )
				      {
				        return f.isDirectory() ||
				          f.getName().toLowerCase().endsWith( ".html" ) ||
				          f.getName().toLowerCase().endsWith( ".htm" );
				      }
				      public String getDescription()
				      {
				        return "HTML-Dateien";
				      }
				    } );
		    int state = fc.showOpenDialog( null );
		    if ( state == JFileChooser.APPROVE_OPTION )
		    {
		      file = fc.getSelectedFile();
		      FileReader y;
		      BufferedReader in;
		      
		      try {
		      y = new FileReader(file.getPath());
		      in = new BufferedReader(y);
		      StringBuffer eingabe = new StringBuffer();;
	          for (String str = in.readLine(); str != null; str = in.readLine()) 
	              eingabe.append(str + "\n");
		      in.close();
		      MainClass.pane.setText(eingabe.toString());
		      MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
		      }
		      catch(FileNotFoundException ex) {
		    	  System.err.println("Konnte die Datei nicht finden.");
		      }
		      catch(IOException ex) {
		    	  System.err.println("Konnte die Datei nicht auslesen.");
		      }
		    }
		}
	}
		else {
		    JFileChooser fc = new JFileChooser();
		    fc.setFileFilter( new FileFilter()
		    {
		      public boolean accept( File f )
		      {
		        return f.isDirectory() ||
		          f.getName().toLowerCase().endsWith( ".php" );
		      }
		      public String getDescription()
		      {
		        return "PHP-Skripte";
		      }
		    } );
		    fc.setFileFilter( new FileFilter()
				    {
				      public boolean accept( File f )
				      {
				        return f.isDirectory() ||
				          f.getName().toLowerCase().endsWith( ".html" ) ||
				          f.getName().toLowerCase().endsWith( ".htm" );
				      }
				      public String getDescription()
				      {
				        return "HTML-Dateien";
				      }
				    } );
		    int state = fc.showOpenDialog( null );
		    if ( state == JFileChooser.APPROVE_OPTION )
		    {
		      file = fc.getSelectedFile();
		      FileReader y;
		      BufferedReader in;
		      
		      try {
		      y = new FileReader(file.getPath());
		      in = new BufferedReader(y);
		      StringBuffer eingabe = new StringBuffer();;
	          for (String str = in.readLine(); str != null; str = in.readLine()) 
	              eingabe.append(str + "\n");
		      in.close();
		      MainClass.pane.setText(eingabe.toString());
		      MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
		      }
		      catch(FileNotFoundException ex) {
		    	  System.err.println("Konnte die Datei nicht finden.");
		      }
		      catch(IOException ex) {
		    	  System.err.println("Konnte die Datei nicht auslesen.");
		      }
		    }
		}
		
	}
	
	private void addMenuItem(String text) {
		item[i] = new JMenuItem(text);
		befehle.add(item[i]);
		item[i].addActionListener(this);
		i++;
	}
	
	private void readOutFile() {
		FileReader y;
		BufferedReader in;
		StringBuffer eingabe;
		try {
		      y = new FileReader("../conf/orders.ord");
		      in = new BufferedReader(y);
		      eingabe = new StringBuffer();
	          for (String str = in.readLine(); str != null; str = in.readLine()) 
	          eingabe.append(str + "\n");
		      in.close();
			  String f = eingabe.toString();
			  fertig = f.split("\n");
		}
		catch(IOException ex) {};
	}
	
	private void createOrder() throws ArrayIndexOutOfBoundsException {
		int j = 0;
		while(fertig[j] != null) {
		 	addMenuItem(fertig[j + 1]);
			j += 3;
		}
	}
	
	private int changeVar(int x, char z) {
		if(x == 0 && z == 'n')
			return 0;
		else if(x == 0 && z == 'i')
			return 1;
		else if(x == 0 && z == 't')
			return 2;
		else if(x == 1 && z == 'n')
			return 3;
		else if(x == 1 && z == 'i')
			return 4;
		else if(x == 1 && z == 't')
			return 5;
		else if(x == 2 && z == 'n')
			return 6;
		else if(x == 2 && z == 'i')
			return 7;
		else if(x == 2 && z == 't')
			return 8;
		else if(x == 3 && z == 'n')
			return 9;
		else if(x == 3 && z == 'i')
			return 10;
		else if(x == 3 && z == 't')
			return 11;
		else if(x == 4 && z == 'n')
			return 12;
		else if(x == 4 && z == 'i')
			return 13;
		else if(x == 4 && z == 't')
			return 14;
		else if(x == 5 && z == 'n')
			return 15;
		else if(x == 5 && z == 'i')
			return 16;
		else if(x == 5 && z == 't')
			return 17;
		else if(x == 1 && z == 'n')
			return 18;
		else if(x == 1 && z == 'i')
			return 19;
		else if(x == 1 && z == 't')
			return 20;
		else if(x == 2 && z == 'n')
			return 21;
		else if(x == 2 && z == 'i')
			return 22;
		else if(x == 2 && z == 't')
			return 23;
		else if(x == 3 && z == 'n')
			return 24;
		else if(x == 3 && z == 'i')
			return 25;
		else if(x == 3 && z == 't')
			return 26;
		else if(x == 4 && z == 'n')
			return 27;
		else if(x == 4 && z == 'i')
			return 28;
		else if(x == 4 && z == 't')
			return 29;
		else if(x == 5 && z == 'n')
			return 30;
		else if(x == 5 && z == 'i')
			return 31;
		else if(x == 5 && z == 't')
			return 32;
		else 
			return -1;
	}

}
 

Wildcard

Top Contributor
aiee.gif
 

Wildcard

Top Contributor
Ich hab ja echt schon einiges gesehen, aber sowas noch nicht:
Code:
      if(fertig != null) {
         try {
            createOrder();
            if(fertig[57] == null) {
               if(fertig[54] == null) {
                  if(fertig[51] == null) {
                     if(fertig[48] == null) {
                        if(fertig[45] == null) {
                           if(fertig[42] == null) {
                              if(fertig[39] == null) {
                                 if(fertig[36] == null) {
                                    if(fertig[33] == null) {
                                       if(fertig[30] == null) {
                                          if(fertig[27] == null) {
                                             if(fertig[24] == null) {
                                                if(fertig[21] == null) {
                                                   if(fertig[18] == null) {
                                                      if(fertig[15] == null) {
                                                         if(fertig[12] == null) {
                                                            if(fertig[9] == null) {
                                                               if(fertig[6] == null) {
                                                                  if(fertig[3] == null) {
                                                                     i = 0;
                                                                  }
                                                                  i = 1;
                                                               }
                                                               i = 2;
                                                            }
                                                            i = 3;
                                                         }
                                                         i = 4;
                                                      }
                                                      i = 5;
                                                   }
                                                   i = 6;
                                                }
                                                i = 7;
                                             }
                                             i = 8;
                                          }
                                          i = 9;
                                       }
                                       i = 10;
                                    }
                                    i = 11;
                                 }
                                 i = 12;
                              }
                              i = 13;
                           }
                           i = 14;
                        }
                        i = 15;
                     }
                     i = 16;
                  }
                  i = 17;
               }
               i = 18;
            }
            i = 19;
         }
         catch(ArrayIndexOutOfBoundsException ex) {}
Erinnert mich vage an Brainfuck2D :autsch:
 

Leroy42

Top Contributor
gote hat gesagt.:
macht euch ruhig über mich lustig^^

Das machen wir doch gar nicht. Es geht nur darum, daß diese Riesenmenge
an gepostetem einen die Flucht ergreifen läßt. (Der Doppelpost mach nix kommt öfter mal vor)

ok, und wie kann ich ihm sagen, dass er bei abbrechen nix machen soll?

Ich habe deine 3,141,592 Source-Zeilen ( :wink: ) zwar nicht alle studiert, aber
als Antwort auf deine Frage:

Code:
theFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

dürfte das sein, was du suchst.
 

Leroy42

Top Contributor
Wildcard hat gesagt.:
Ich hab ja echt schon einiges gesehen, aber sowas noch nicht:
Code:
// Ein paar Zeilen Code...
Erinnert mich vage an Brainfuck2D :autsch:

Bevor sich jemand auf den Schlips getreten fühlt,
noch der Hinweis, daß es eine Sprache dieses Namens tatsächlich gibt!
 

gote

Mitglied
Code:
		else if(e.getSource().equals(beenden)) {
			if(VocMenubar.saved) {System.exit(0); }
			else {
			int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
			if(yes == 0) {
				if(VocMenubar.saved == true) {
					VocMenubar.saveFile();
					System.exit(0);
				}
				else {
					VocMenubar.saveFileAs();
				    System.exit(0);
				}
			}
			else if(yes == 1)
				System.exit(0);
			
			else
				MainClass.f.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		}
		}

der findet DO_NOTHING_ON_CLOSE net
 

Leroy42

Top Contributor
Das ist eine Konstante aus WindowConstants die aber auch von JFrame implementiert wird.
Also statt
Code:
MainClass.f.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
schreibst du
Code:
MainClass.f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
 

Leroy42

Top Contributor
gote hat gesagt.:
danke, wie und wo kann man brianfuck 2d lernen ^^? das is geil

Zum Einstieg in esoterische Programmierung ist BrainFuck(2D) vielleicht etwas zu
hochgegriffen. Fang doch erst mal mit etwas bekannterem an:

Java2K

Die Sprache hat auch ein paar nette Eigenschaften:

- Statt im Binräsystem zu arbeiten, kommt die Sprache uns entgegen und arbeitet
im allseits beliebtem Zahlensystem zur Basis 11 :shock: :cool:

- Jede Anweisung macht mit einer garantierten Wahrscheinlichkeit von 90%
genau das was sie soll! :shock: :autsch:

Das heißt wenn du eine Berechnung auf zwei Wegen ausführst und dabei dasselbe rauskommt,
liegt die Wahrscheinlichkeit dafür das das Ergebnis falsch ist nur noch bei (1-0.1²) = 1% :D

Aber vorsicht: Der Test ob beide Ergebnisse auch wirklich gleich sind, liefert ebenfalls
nur mit einer Wahrscheinlichkeit von 90% das richtige Ergebnis! :?

Und zum Lernen, schlage ich dir vor mit der Umsetzung eines einfachen,
kleinen, überschaubaren Programms anzufangen.

Was wäre dafür ein besserer Kandidat als dein momentanes Projekt! :cool:
 

Wildcard

Top Contributor
Ich hab mir mal die Arbeit gemacht dein Programm auf Whitespace zu portieren:

EDIT: Leider hab ich die Code-Tags vergessen und jetzt hat's das Board gefressen :bae:
 

Leroy42

Top Contributor
Wildcard hat gesagt.:
Ich hab mir mal die Arbeit gemacht dein Programm auf Whitespace zu portieren:
EDIT: Leider hab ich die Code-Tags vergessen und jetzt hat's das Board gefressen :bae:

Was für ein Pech aber auch! :cry:

Vorschlag!

Druck das Programm einfach aus(*), scanne es wieder ein, und sende es
als Sammlung von jpg's. (Numerierung der Seiten nicht vergessen, wegen der Übersichtlichkeit).

(*)Wenn du immer schön abwechselnd eine Seite ausdruckst und gleich einscannst,
kannst du deinen Drucker immer mit derselben Seite füttern.

Nicht umsonst sind Ausdrucke von Whitespace-Programmen berüchtigt
für ihre unvergleichliche Resourcen-Sparsamkeit (Tinte, Papier).

:cool:
 

André Uhres

Top Contributor
Als ich die vielen Posts in diesem Thread sah, da dachte ich schon ihr seid recht fleissig gewesen, während ich mich mit meiner Familie im Bitburger Schwimmbad vergnügte.
Aber beim näheren Hinsehen verschlugs mit fast die Sprache, hab grad noch diese paar Zeilen zusammengekriegt..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards HTML Editor AWT, Swing, JavaFX & SWT 3
C HTML Editor Eingabemaske kafenio Ersatz AWT, Swing, JavaFX & SWT 7
L JavaFX JavaFX Diagram Editor AWT, Swing, JavaFX & SWT 3
L Editor does not contain a main type AWT, Swing, JavaFX & SWT 1
K Java FX: Mathematik Editor AWT, Swing, JavaFX & SWT 14
K Html Editor AWT, Swing, JavaFX & SWT 3
B Java FX FXML Textarea SceneBuilder als XML Editor AWT, Swing, JavaFX & SWT 1
R Editor Wörter zählen AWT, Swing, JavaFX & SWT 2
S JavaFX FXML-Editor mit Java 7? AWT, Swing, JavaFX & SWT 2
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
I LookAndFeel HTML Auflösung - Online Editor programmieren AWT, Swing, JavaFX & SWT 2
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
F JAVA-EDITOR: Panel in Frame aufnehmen AWT, Swing, JavaFX & SWT 3
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
T SelectAll bei JXTreeTable Editor AWT, Swing, JavaFX & SWT 2
B Swing Filter für JTable mit Netbeans Editor AWT, Swing, JavaFX & SWT 2
A Swing Imagemap-Editor -> XML AWT, Swing, JavaFX & SWT 8
S SWT HTML-WYSIWUG-Editor AWT, Swing, JavaFX & SWT 3
B GUI Editor nachträglich anschalten? AWT, Swing, JavaFX & SWT 4
B Netbeans Swing/AWT Editor editierbar? AWT, Swing, JavaFX & SWT 5
X Frei nutzbarer HTML Editor AWT, Swing, JavaFX & SWT 13
B WYSIWYG-HTML-Editor / Validator für JAVA AWT, Swing, JavaFX & SWT 2
S Strecken-Editor AWT, Swing, JavaFX & SWT 19
S Visual Editor mit main Methode AWT, Swing, JavaFX & SWT 3
alderwaran Swing XML editor plugin für eigene anwendung AWT, Swing, JavaFX & SWT 2
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
B Editor programmieren AWT, Swing, JavaFX & SWT 26
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
J eclipse/Visual Editor: Auf Felder/Methoden vom Hauptframe zugreifen AWT, Swing, JavaFX & SWT 4
G Swing Hex-Editor AWT, Swing, JavaFX & SWT 19
R Swing Editor für jTable AWT, Swing, JavaFX & SWT 6
N Swing Dynamische JRadioButtons und Visual Editor AWT, Swing, JavaFX & SWT 4
data89 Kleiner UML Editor AWT, Swing, JavaFX & SWT 4
F Visual Editor Installationsprobleme AWT, Swing, JavaFX & SWT 12
C Suche fertigen HTML editor AWT, Swing, JavaFX & SWT 2
K Eclipse Visual Editor rendert die Komponenten nicht richtig AWT, Swing, JavaFX & SWT 2
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
V Visual Editor und nerviges FreeFormComponentsHostDialog AWT, Swing, JavaFX & SWT 3
K Tabelle -> Editor -> b-estimmte Tasten AWT, Swing, JavaFX & SWT 17
N Kennt jemand einen WYSIWYG Editor für AWT? AWT, Swing, JavaFX & SWT 4
C Spielfeld Editor AWT, Swing, JavaFX & SWT 4
M Editor-Komponente AWT, Swing, JavaFX & SWT 3
M Einfachen UI Editor basteln AWT, Swing, JavaFX & SWT 2
D Brauche einfachen HTML Editor AWT, Swing, JavaFX & SWT 2
O Editor in JTable mit mouseMoved aufrufen? AWT, Swing, JavaFX & SWT 2
K Keine SWT-Komponenten-Gruppe in Palette des Visual Editor AWT, Swing, JavaFX & SWT 2
R Editor mit "Gehe zu"-Funktion AWT, Swing, JavaFX & SWT 4
T Editor auf Basis JFrame in ein JPanel wandeln - Problem! AWT, Swing, JavaFX & SWT 5
G JTable Editor AWT, Swing, JavaFX & SWT 7
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
N JTable mit Editor? AWT, Swing, JavaFX & SWT 3
M Hilfe bei vers. Fonts und Zeilenlänge in eigenem Editor. AWT, Swing, JavaFX & SWT 3
J GUI-Editor AWT, Swing, JavaFX & SWT 18
G Editor wie MS Word AWT, Swing, JavaFX & SWT 3
H eigener Editor und JList als PopMenu AWT, Swing, JavaFX & SWT 6
G JTable: Zellenhöhe mit neuem CellRenderer & Editor AWT, Swing, JavaFX & SWT 17
P Wie richte ich den Visual Editor ein ? AWT, Swing, JavaFX & SWT 2
C wysiwyg Editor zum Einbinden in meinem Code AWT, Swing, JavaFX & SWT 14
S [JTable] Editor erst nach Doppelklick AWT, Swing, JavaFX & SWT 5
m@nu JTable: Editor stoppen AWT, Swing, JavaFX & SWT 8
A irgendwo ein fertiger WYSIWYG HTML-Editor da? AWT, Swing, JavaFX & SWT 7
K editor fuer swing und awt AWT, Swing, JavaFX & SWT 7
W Editor Syntax Farben AWT, Swing, JavaFX & SWT 2
P ImageIcon lade schlägt fehl AWT, Swing, JavaFX & SWT 5
F Wie lade ich eine CategoryDataset aus XML ins JFreeChart? AWT, Swing, JavaFX & SWT 9
Juelin Problem mit TextField.requestFocus(); AWT, Swing, JavaFX & SWT 17
Juelin Problem beim Laden Controller AWT, Swing, JavaFX & SWT 2
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14

Ähnliche Java Themen

Neue Themen


Oben