# "Java Bean" ausführen (Ohne Eclipse)? Als .jav ? -



## Guppi (25. Jan 2008)

Hi, ich habe letztens gelernt, dass man die .java Dateien in .jav exportieren kann (mit Eclipse). Jetzt habe ich mal was mit dem Visual-Editor von Eclipse gemacht und wollte dass dann auch als .jav exportieren, bis ich dann gemerkt habe, dass das nicht geht   
Gibt es da eine Möglichkeit "Java Beans" auch irgendwie zu exportieren, dass ich das dann auch ohne Eclipse starten zu müssen ausführen kann? (Wie .java und .jav). Und wenn, wie geht das?
Wäre toll, wenn ihr mir helfen könntet! Schonmal vielen Dank! Mfg, Guppi.


----------



## Wildcard (26. Jan 2008)

Du meinst sicher jar...
Eine Bean alleine ist keine Applikation die man ausführen kann. Dafür benötigst du eine Klasse die eine main Methode implementiert. Ein Grundlagenbuch scheint angebracht.


----------



## Guppi (26. Jan 2008)

D.h. dass es nicht so einfach ist, das zu machen, was ich möchte?


----------



## André Uhres (26. Jan 2008)

Guppi hat gesagt.:
			
		

> D.h. dass es nicht so einfach ist, das zu machen, was ich möchte?


Sollte die Jugend- und Auszubildendenvertretung (*JAV*) nicht wissen, welche Ausbildung man dafür braucht? (scnr)


----------



## Guppi (26. Jan 2008)

Was meinst du damit?  :bahnhof:


----------



## André Uhres (26. Jan 2008)

Guppi hat gesagt.:
			
		

> Was meinst du damit?  :bahnhof:


Sollte ein Witz gewesen sein. Beispiel: ButtonDemo.jar (im Manifest darf die Main-Class nicht fehlen)


----------



## Guppi (26. Jan 2008)

geht dass denn jetzt, was ich machen möchte?


----------



## André Uhres (26. Jan 2008)

Guppi hat gesagt.:
			
		

> geht dass denn jetzt, was ich machen möchte?


Wie meinst du das? Geht mein Beispiel nicht?


----------



## Guppi (26. Jan 2008)

Also, dein Beispiel geht 
Aber meine Frage: Ich möchte ja eine Java-Bean-Anwendung, wie eine .jav Datei ausführen können. Ist das möglich?


----------



## Leroy42 (26. Jan 2008)

Um Guppi nicht länger zu verunsichern:

Es gibt keine *.jav*-Dateien die ausgeführt werden können!

Du meinst sicher *.jar*-Dateien


----------



## Guppi (26. Jan 2008)

ach, mist, sorry, ja, *.jar* meine ich xD
Ich möchte eine Java-Bean-Datei, wie eine .jar datei ausführen können  :lol:


----------



## Leroy42 (26. Jan 2008)

Eine Java-Bean-Datei (Java-Bean-Klasse) ist eine ganz gewöhnliche
Java-Klasse, die nur einige zusätzliche Eigenschaften erfüllen muß.

Daher kannst du diese Klassen auch wie normale Java-Klassen
ausführen, sofern sie ein _static void main_-Methode beinhalten.

Und dann selbstverständlich auch eine .jar-Datei daraus erzeugen.


----------



## Guppi (26. Jan 2008)

ohh, da ist keine static void main-Methode drin  :lol: 
Wo müsste die denn hier rein? Könntet ihr mir die da rein basteln? :bahnhof:  Ich versteh auch nicht richtig, wofür die da ist... Könnt ihr mir das auch erklären? Hier mein Quelltext:

```
package visual;

import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.TextField;
import javax.swing.JCheckBox;
import java.awt.Dimension;
import java.awt.Color;
import javax.swing.SwingConstants;
import java.awt.Toolkit;
import javax.swing.JRadioButton;
import javax.swing.JComboBox;
import java.awt.GridBagLayout;
import java.awt.Choice;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JMenuBar;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JProgressBar;
import javax.swing.JPasswordField;
import java.awt.GridBagConstraints;
import javax.swing.JButton;
import javax.swing.JSplitPane;
import javax.swing.JToggleButton;
import java.awt.ComponentOrientation;
import java.io.File;

import javax.swing.JWindow;
import javax.swing.JList;

public class Visual1 extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton jButton = null;

	private JButton jButton1 = null;

	private JButton jButton2 = null;

	private JButton jButton3 = null;

	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="299,60"

	private JPanel jContentPane1 = null;

	private JButton jButton4 = null;

	private JToggleButton jToggleButton = null;

	private JButton jButton41 = null;

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("Shutdown Timer");
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					int Ergebnis = 0;
					 String Eingabe = JOptionPane.showInputDialog("Stunden?");
					 int Zahl = Integer.parseInt(Eingabe);
					 Ergebnis = 3600 * Zahl;
					 int Ergebnis1 = 0;
					 String Eingabe1 = JOptionPane.showInputDialog("Minuten?");
					 int Zahl1 = Integer.parseInt(Eingabe1);
					 Ergebnis1 = 60 * Zahl1;
					 int Ergebnis2 = 0;
					 String Eingabe2 = JOptionPane.showInputDialog("Sekunden?");
					 int Zahl2 = Integer.parseInt(Eingabe2);
					 Ergebnis2 = Zahl2;
					 final int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2;
						try	{
							Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t " + ErgebnisF + " -c " + "Tschüss!=]");
							}
						catch (Exception x)	{
							JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
						}
				}
			});
		}
		return jButton;
	}
	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setText("Jetzt Shutdown");
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						 Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t 0");
					 }
					 catch(Exception x)	{
						 JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);			 
					 }
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jButton2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton2() {
		if (jButton2 == null) {
			jButton2 = new JButton();
			jButton2.setText("Restart Timer");
			jButton2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					int Ergebnis = 0;
					 String Eingabe = JOptionPane.showInputDialog("Stunden?");
					 int Zahl = Integer.parseInt(Eingabe);
					 Ergebnis = 3600 * Zahl;
					 int Ergebnis1 = 0;
					 String Eingabe1 = JOptionPane.showInputDialog("Minuten?");
					 int Zahl1 = Integer.parseInt(Eingabe1);
					 Ergebnis1 = 60 * Zahl1;
					 int Ergebnis2 = 0;
					 String Eingabe2 = JOptionPane.showInputDialog("Sekunden?");
					 int Zahl2 = Integer.parseInt(Eingabe2);
					 Ergebnis2 = Zahl2;
					 int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2;
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t " + ErgebnisF + " -c " + "Tschüss!=]");
					}
					catch (Exception x)	{
						JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jButton2;
	}

	/**
	 * This method initializes jButton3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton3() {
		if (jButton3 == null) {
			jButton3 = new JButton();
			jButton3.setText("Jetzt Restart");
			jButton3.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t 0");
					}
					catch (Exception x)	{
						JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jButton3;
	}

	/**
	 * This is the default constructor
	 */
	public Visual1() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(402, 160);
		this.setResizable(false);
		this.setIconImage(Toolkit.getDefaultToolkit().getImage("D:/Programmieren/Java/MeineJava-                                Files/VisualEd/visual/Bild2.png"));
		this.setBackground(new Color(204, 51, 0));
		this.setContentPane(getJContentPane());
		this.setTitle("Shutdown");
		this.setVisible(true);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new GridLayout(2,2));
			jContentPane.setForeground(Color.red);
			jContentPane.add(getJButton1(), null);
			jContentPane.add(getJButton3(), null);
			jContentPane.add(getJToggleButton(), null);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJButton2(), null);
			jContentPane.add(getJButton41(), null);
		}
		return jContentPane;
	}
	/**
	 * This method initializes jToggleButton	
	 * 	
	 * @return javax.swing.JToggleButton	
	 */
	private JToggleButton getJToggleButton() {
		if (jToggleButton == null) {
			jToggleButton = new JToggleButton();
			jToggleButton.setHorizontalTextPosition(SwingConstants.CENTER);
			jToggleButton.setForeground(new Color(153, 0, 0));
			jToggleButton.setBackground(new Color(238, 238, 238));
			jToggleButton.setText("Abbrechen!");
			jToggleButton.setRolloverEnabled(true);
			jToggleButton.setComponentOrientation(ComponentOrientation.UNKNOWN);
			jToggleButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -a");
					}
					catch(Exception c)	{
						JOptionPane.showMessageDialog(null, "Fehler!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jToggleButton;
	}
	/**
	 * This method initializes jButton41	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton41() {
		if (jButton41 == null) {
			jButton41 = new JButton();
			jButton41.setText("EXIT");
			jButton41.setForeground(new Color(204, 51, 0));
			jButton41.setBackground(new Color(238, 238, 238));
			jButton41.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					System.exit(0);
					}
			});
		}
		return jButton41;
	}

}  //  @jve:decl-index=0:visual-constraint="207,96"
```


----------



## Leroy42 (26. Jan 2008)

Guppi hat gesagt.:
			
		

> ohh, da ist keine static void main-Methode drin  :lol:
> Wo müsste die denn hier rein?



Ach du ahnst es nicht! Dir fehlen ja vollständig die Grundlagen  :shock: 

Solches Basiswissen kann dir nur ein Grundlagentutorial vermitteln


----------



## André Uhres (26. Jan 2008)

Swingkomponenten sind Javabeans. Da ButtonDemo.jar ein JFrame mit main-Methode ist, 
ist es eine ausführbare Javabean! Der Quellcode mit allem, was du brauchst, ist im jar: ButtonDemo.jar


----------



## Guppi (26. Jan 2008)

:-D ich bin Anfänger und habe das Buch "Java mit Eclipse für kids" gekauft. Das habe ich jetzt zur Helfte durch und habe jetzt dieses Programm programmiert, also, _main_ ist der Hauptprogrammteil, oder "Hauptfunktion". Kann es sein, dass public void main ganz an den Anfang muss? Weil erst kommt ja das Projekt, dann package, dann class, dann main und jetzt erst der Quelltext. Also muss main an den Anfang, oder?


----------



## André Uhres (26. Jan 2008)

Guppi hat gesagt.:
			
		

> ..Also muss main an den Anfang, oder?


Der Quellcode mit allem, was du brauchst, ist in diesem jar: ButtonDemo.jar


----------



## Guppi (26. Jan 2008)

Was meinst du damit? Da sehe ich nur ein Fenster mit einem Knopf. Und was meinst du jetzt damit?


----------



## Guppi (26. Jan 2008)

ich möchte gerne wissen, wo bei mir public void main hin muss...


----------



## Leroy42 (26. Jan 2008)

Irgendwo in die Klasse:


```
public class MeinTollesErstesProgrammn {
    ...
    public static void main(String[] args) {
        ...
    }
    ...
}
```

Aber wenn dein Buch _Java mit Eclipse für kids_ dir das noch
nicht mal beigebracht hat, würde ich es in die Tonne treten!


----------



## Guppi (26. Jan 2008)

ich kann public void main doch nicht einfach irgendwo in das Programm reinklatschen... oder?  :bahnhof: 
Also bei mir geht das so nicht, wenn ich das einfach irgendwo reinmache.


----------



## Leroy42 (26. Jan 2008)

Guppi hat gesagt.:
			
		

> Also bei mir geht das so nicht, wenn ich das einfach irgendwo reinmache.



Was heißt: _Es geht nicht_?

- Compilerfehler? Welcher?
- Laufzeitfehler? Welche Exception?
- Editor stürzt ab? 

Was steht denn drin in deiner main-Methode?


----------



## Leroy42 (26. Jan 2008)

Na gut, weil du es bist: 

Dann fange wir mal janz von vorne an:


```
public class DieAntwortAufAlles {
    public static void main(String[] args) {
        System.out.println(6*7);
    }
}
```


```
javac DieAntwortAufAlles.java
java DieAntwortAufAlles
```



			
				mani.txt hat gesagt.:
			
		

> Main-Class: DieAntwortAufAlles.class




```
jar cvfm Antwort.jar mani.txt *.class
java -jar Antwort.jar
```

Klappt das denn?


----------



## Guppi (26. Jan 2008)

Das ganze sieht dann bei mir ca. so aus...
	

	
	
		
		

		
			




Fehlermeldung: "Error exist in required project: VisualED. Continue launch?" und dann: "	Cannot refer to a non-final variable jButton41 inside an inner class defined in a different method
	Syntax error, insert "}" to complete ClassBody
	Syntax error, insert ";" to complete Statement

	at visual.Visual1.main(Visual1.java:82)"


----------



## Guppi (26. Jan 2008)

Mein code sieht im Moment so aus (mit public void main... Wie müsste ich den Quelltext jetzt verändern, dass es geht? Könnt ihr mir das vielleicht alles mal einsetzen? Das wäre sehr nett!): 

```
package visual;

import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.TextField;
import javax.swing.JCheckBox;
import java.awt.Dimension;
import java.awt.Color;
import javax.swing.SwingConstants;
import java.awt.Toolkit;
import javax.swing.JRadioButton;
import javax.swing.JComboBox;
import java.awt.GridBagLayout;
import java.awt.Choice;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JMenuBar;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JProgressBar;
import javax.swing.JPasswordField;
import java.awt.GridBagConstraints;
import javax.swing.JButton;
import javax.swing.JSplitPane;
import javax.swing.JToggleButton;
import java.awt.ComponentOrientation;
import java.io.File;

import javax.swing.JWindow;
import javax.swing.JList;

import javax.swing.SwingUtilities; 
import java.awt.BorderLayout; 
import java.awt.Desktop; 
import java.awt.FlowLayout; 
import java.awt.Frame; 
import java.awt.GridLayout; 

import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 
import java.awt.TextField; 
import javax.swing.JCheckBox; 
import java.awt.Dimension; 
import java.awt.Color; 
import javax.swing.SwingConstants; 
import java.awt.Toolkit; 
import javax.swing.JRadioButton; 
import javax.swing.JComboBox; 
import java.awt.GridBagLayout; 
import java.awt.Choice; 
import javax.swing.JLabel; 
import javax.swing.JTextArea; 
import javax.swing.JMenuBar; 
import javax.swing.JRadioButtonMenuItem; 
import javax.swing.JPopupMenu; 
import javax.swing.JProgressBar; 
import javax.swing.JPasswordField; 
import java.awt.GridBagConstraints; 
import javax.swing.JButton; 
import javax.swing.JSplitPane; 
import javax.swing.JToggleButton; 
import java.awt.ComponentOrientation; 
import java.io.File; 

import javax.swing.JWindow; 
import javax.swing.JList; 

public class Visual1 extends JFrame { 
	public static void main(String[] args) {

   private static final long serialVersionUID = 1L; 

   private JPanel jContentPane = null; 

   private JButton jButton = null; 

   private JButton jButton1 = null; 

   private JButton jButton2 = null; 

   private JButton jButton3 = null; 

   private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="299,60" 

   private JPanel jContentPane1 = null; 

   private JButton jButton4 = null; 

   private JToggleButton jToggleButton = null; 

   private JButton jButton41 = null; 


   /** 
    * This method initializes jButton    
    *     
    * @return javax.swing.JButton    
    */ 
   private JButton getJButton() { 
      if (jButton == null) { 
         jButton = new JButton(); 
         jButton.setText("Shutdown Timer"); 
         jButton.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               int Ergebnis = 0; 
                String Eingabe = JOptionPane.showInputDialog("Stunden?"); 
                int Zahl = Integer.parseInt(Eingabe); 
                Ergebnis = 3600 * Zahl; 
                int Ergebnis1 = 0; 
                String Eingabe1 = JOptionPane.showInputDialog("Minuten?"); 
                int Zahl1 = Integer.parseInt(Eingabe1); 
                Ergebnis1 = 60 * Zahl1; 
                int Ergebnis2 = 0; 
                String Eingabe2 = JOptionPane.showInputDialog("Sekunden?"); 
                int Zahl2 = Integer.parseInt(Eingabe2); 
                Ergebnis2 = Zahl2; 
                final int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2; 
                  try   { 
                     Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t " + ErgebnisF + " -c " + "Tschüss!=]"); 
                     } 
                  catch (Exception x)   { 
                     JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE); 
                  } 
            } 
         }); 
      } 
      return jButton; 
   } 
   /** 
    * This method initializes jButton1    
    *     
    * @return javax.swing.JButton    
    */ 
   private JButton getJButton1() { 
      if (jButton1 == null) { 
         jButton1 = new JButton(); 
         jButton1.setText("Jetzt Shutdown"); 
         jButton1.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               try   { 
                   Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t 0"); 
                } 
                catch(Exception x)   { 
                   JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);          
                } 
            } 
         }); 
      } 
      return jButton1; 
   } 

   /** 
    * This method initializes jButton2    
    *     
    * @return javax.swing.JButton    
    */ 
   private JButton getJButton2() { 
      if (jButton2 == null) { 
         jButton2 = new JButton(); 
         jButton2.setText("Restart Timer"); 
         jButton2.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               int Ergebnis = 0; 
                String Eingabe = JOptionPane.showInputDialog("Stunden?"); 
                int Zahl = Integer.parseInt(Eingabe); 
                Ergebnis = 3600 * Zahl; 
                int Ergebnis1 = 0; 
                String Eingabe1 = JOptionPane.showInputDialog("Minuten?"); 
                int Zahl1 = Integer.parseInt(Eingabe1); 
                Ergebnis1 = 60 * Zahl1; 
                int Ergebnis2 = 0; 
                String Eingabe2 = JOptionPane.showInputDialog("Sekunden?"); 
                int Zahl2 = Integer.parseInt(Eingabe2); 
                Ergebnis2 = Zahl2; 
                int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2; 
               try   { 
                  Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t " + ErgebnisF + " -c " + "Tschüss!=]"); 
               } 
               catch (Exception x)   { 
                  JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE); 
               } 
            } 
         }); 
      } 
      return jButton2; 
   } 

   /** 
    * This method initializes jButton3    
    *     
    * @return javax.swing.JButton    
    */ 
   private JButton getJButton3() { 
      if (jButton3 == null) { 
         jButton3 = new JButton(); 
         jButton3.setText("Jetzt Restart"); 
         jButton3.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               try   { 
                  Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t 0"); 
               } 
               catch (Exception x)   { 
                  JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE); 
               } 
            } 
         }); 
      } 
      return jButton3; 
   } 

   /** 
    * This is the default constructor 
    */ 
   public Visual1() { 
      super(); 
      initialize(); 
   } 

   /** 
    * This method initializes this 
    * 
    * @return void 
    */ 
   private void initialize() { 
      this.setSize(402, 160); 
      this.setResizable(false); 
      this.setIconImage(Toolkit.getDefaultToolkit().getImage("D:/Programmieren/Java/MeineJava-                                Files/VisualEd/visual/Bild2.png")); 
      this.setBackground(new Color(204, 51, 0)); 
      this.setContentPane(getJContentPane()); 
      this.setTitle("Shutdown"); 
      this.setVisible(true); 
   } 
   /** 
    * This method initializes jContentPane 
    * 
    * @return javax.swing.JPanel 
    */ 
   private JPanel getJContentPane() { 
      if (jContentPane == null) { 
         jContentPane = new JPanel(); 
         jContentPane.setLayout(new GridLayout(2,2)); 
         jContentPane.setForeground(Color.red); 
         jContentPane.add(getJButton1(), null); 
         jContentPane.add(getJButton3(), null); 
         jContentPane.add(getJToggleButton(), null); 
         jContentPane.add(getJButton(), null); 
         jContentPane.add(getJButton2(), null); 
         jContentPane.add(getJButton41(), null); 
      } 
      return jContentPane; 
   } 
   /** 
    * This method initializes jToggleButton    
    *     
    * @return javax.swing.JToggleButton    
    */ 
   private JToggleButton getJToggleButton() { 
      if (jToggleButton == null) { 
         jToggleButton = new JToggleButton(); 
         jToggleButton.setHorizontalTextPosition(SwingConstants.CENTER); 
         jToggleButton.setForeground(new Color(153, 0, 0)); 
         jToggleButton.setBackground(new Color(238, 238, 238)); 
         jToggleButton.setText("Abbrechen!"); 
         jToggleButton.setRolloverEnabled(true); 
         jToggleButton.setComponentOrientation(ComponentOrientation.UNKNOWN); 
         jToggleButton.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               try   { 
                  Runtime.getRuntime().exec("cmd.exe /c shutdown -a"); 
               } 
               catch(Exception c)   { 
                  JOptionPane.showMessageDialog(null, "Fehler!", "Fehler!", JOptionPane.ERROR_MESSAGE); 
               } 
            } 
         }); 
      } 
      return jToggleButton; 
   } 
   /** 
    * This method initializes jButton41    
    *     
    * @return javax.swing.JButton    
    */ 
   private JButton getJButton41() { 
      if (jButton41 == null) { 
         jButton41 = new JButton(); 
         jButton41.setText("EXIT"); 
         jButton41.setForeground(new Color(204, 51, 0)); 
         jButton41.setBackground(new Color(238, 238, 238)); 
         jButton41.addActionListener(new java.awt.event.ActionListener() { 
            public void actionPerformed(java.awt.event.ActionEvent e) { 
               System.out.println("actionPerformed()"); 
               System.exit(0); 
               } 
         }); 
      } 
      return jButton41; 
   } 

}  //  @jve:decl-index=0:visual-constraint="207,96" 

public class Visual1 extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton jButton = null;

	private JButton jButton1 = null;

	private JButton jButton2 = null;

	private JButton jButton3 = null;

	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="299,60"

	private JPanel jContentPane1 = null;

	private JButton jButton4 = null;

	private JToggleButton jToggleButton = null;

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("Shutdown Timer");
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					int Ergebnis = 0;
					 String Eingabe = JOptionPane.showInputDialog("Stunden?");
					 int Zahl = Integer.parseInt(Eingabe);
					 Ergebnis = 3600 * Zahl;
					 int Ergebnis1 = 0;
					 String Eingabe1 = JOptionPane.showInputDialog("Minuten?");
					 int Zahl1 = Integer.parseInt(Eingabe1);
					 Ergebnis1 = 60 * Zahl1;
					 int Ergebnis2 = 0;
					 String Eingabe2 = JOptionPane.showInputDialog("Sekunden?");
					 int Zahl2 = Integer.parseInt(Eingabe2);
					 Ergebnis2 = Zahl2;
					 final int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2;
						try	{
							Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t " + ErgebnisF + " -c " + "Tschüss!=]");
							}
						catch (Exception x)	{
							JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
						}
				}
			});
		}
		return jButton;
	}
	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setText("Jetzt Shutdown");
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						 Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t 0");
					 }
					 catch(Exception x)	{
						 JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);			 
					 }
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jButton2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton2() {
		if (jButton2 == null) {
			jButton2 = new JButton();
			jButton2.setText("Restart Timer");
			jButton2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					int Ergebnis = 0;
					 String Eingabe = JOptionPane.showInputDialog("Stunden?");
					 int Zahl = Integer.parseInt(Eingabe);
					 Ergebnis = 3600 * Zahl;
					 int Ergebnis1 = 0;
					 String Eingabe1 = JOptionPane.showInputDialog("Minuten?");
					 int Zahl1 = Integer.parseInt(Eingabe1);
					 Ergebnis1 = 60 * Zahl1;
					 int Ergebnis2 = 0;
					 String Eingabe2 = JOptionPane.showInputDialog("Sekunden?");
					 int Zahl2 = Integer.parseInt(Eingabe2);
					 Ergebnis2 = Zahl2;
					 int ErgebnisF = Ergebnis + Ergebnis1 + Ergebnis2;
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t " + ErgebnisF + " -c " + "Tschüss!=]");
					}
					catch (Exception x)	{
						JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jButton2;
	}

	/**
	 * This method initializes jButton3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton3() {
		if (jButton3 == null) {
			jButton3 = new JButton();
			jButton3.setText("Jetzt Restart");
			jButton3.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -r -t 0");
					}
					catch (Exception x)	{
						JOptionPane.showMessageDialog(null, "Ein Fehler ist aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jButton3;
	}

	/**
	 * This is the default constructor
	 */
	public Visual1() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(402, 160);
		this.setResizable(false);
		this.setIconImage(Toolkit.getDefaultToolkit().getImage("D:/Programmieren/Java/MeineJava-Files/VisualEd/visual/Bild2.png"));
		this.setBackground(new Color(204, 51, 0));
		this.setContentPane(getJContentPane());
		this.setTitle("Shutdown");
		this.setVisible(true);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new GridLayout(2,2));
			jContentPane.setForeground(Color.red);
			jContentPane.add(getJButton1(), null);
			jContentPane.add(getJButton3(), null);
			jContentPane.add(getJToggleButton(), null);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJButton2(), null);
			jContentPane.add(getJButton41(), null);
		}
		return jContentPane;
	}
	/**
	 * This method initializes jToggleButton	
	 * 	
	 * @return javax.swing.JToggleButton	
	 */
	private JToggleButton getJToggleButton() {
		if (jToggleButton == null) {
			jToggleButton = new JToggleButton();
			jToggleButton.setHorizontalTextPosition(SwingConstants.CENTER);
			jToggleButton.setForeground(new Color(153, 0, 0));
			jToggleButton.setBackground(new Color(238, 238, 238));
			jToggleButton.setText("Abbrechen!");
			jToggleButton.setRolloverEnabled(true);
			jToggleButton.setComponentOrientation(ComponentOrientation.UNKNOWN);
			jToggleButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					try	{
						Runtime.getRuntime().exec("cmd.exe /c shutdown -a");
					}
					catch(Exception c)	{
						JOptionPane.showMessageDialog(null, "Fehler!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jToggleButton;
	}
	/**
	 * This method initializes jButton41	
	 * 	
	 * @return javax.swing.JButton	
	 */
	
	private JButton getJButton41() {
		if (jButton41 == null) {
			jButton41 = new JButton();
			jButton41.setText("EXIT");
			jButton41.setForeground(new Color(204, 51, 0));
			jButton41.setBackground(new Color(238, 238, 238));
			jButton41.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); 
					System.exit(0);
					}
			});
		}
		return jButton41;
	}
}
}  //  @jve:decl-index=0:visual-constraint="207,96"
```


----------



## Leroy42 (26. Jan 2008)

```
public class Visual1 extends JFrame { 
   public static void main(String[] args) { 

       private static final long serialVersionUID = 1L; 
       private JPanel jContentPane = null; 
       private JButton jButton = null; 
       private JButton jButton1 = null; 
       private JButton jButton2 = null; 
       private JButton jButton3 = null;
       ...
```

Das kann ja auch nicht kompilieren; du packst alles in die main-Methode.


```
public class Visual1 extends JFrame { 
       private static final long serialVersionUID = 1L; 
       private JPanel jContentPane = null; 
       private JButton jButton = null; 
       private JButton jButton1 = null; 
       private JButton jButton2 = null; 
       private JButton jButton3 = null;
       ...
       public static void main(String[] args) {
           // hier muss jetzt irgendwas passieren
       }
}
```

Und was da passieren muß 
- Instanz der Klasse Visual1 instantiieren
- Instanz initialisieren
- JFrame sichtbar machen
...

Mußt du schon selbst wissen oder sagt dir die Seite,
von der du den Java-Bean herbekommen hast.


----------



## Guppi (26. Jan 2008)

Anfang von main, etc... :
	

	
	
		
		

		
		
	


	



Ende von main, etc.... : 
	

	
	
		
		

		
		
	


	



Und ihr seht, es geht immernoch nicht. Warum??  :bahnhof: 
Bitte macht mir den Quelltext doch mal richtig, nicht nur sagen, was wo sein muss und was da passieren muss, ihr könntet mir noch viel mehr helfen, wenn ihr mir dass einfach mal richtig machen könntet. So kann das sonst noch Jahre weitergehen, weil ich es so nicht verstehe...


----------



## André Uhres (26. Jan 2008)

Guppi hat gesagt.:
			
		

> Was meinst du damit? Da sehe ich nur ein Fenster mit einem Knopf. Und was meinst du jetzt damit?


Java-Archives  (*.jar) sind nichts anderes als ZIP-Dateien mit einer anderen Dateiendung.
Du kannst sie mit deinem üblichen Entpackungstool öffnen und entpacken (WinZip, WinRAR, ...).


----------



## Leroy42 (26. Jan 2008)

Ich denke mal, bei dem ist jegliche Unterstützung 
vergebliche Liebesmüh'

Eben ein Original-Tuten- und Blaser  (  )


----------



## André Uhres (26. Jan 2008)

Blaser kommt nicht durch die Rechtschreibprüfung  :shock:


----------



## Leroy42 (26. Jan 2008)

Stimmt! Na, gut! Dann eben Bläser


----------



## André Uhres (26. Jan 2008)

Leroy42 hat gesagt.:
			
		

> Stimmt! Na, gut! Dann eben Bläser


Schon besser :lol:


----------



## Guppi (26. Jan 2008)

Was soll dass??? Meine Frage war klar gestellt! Das ist hier doch kein Forum für Bläser oder so! Ich will nur, dass mir jemand static void main in meinen Quelltext setzt, okay??? Und ich weiß, was public void main ist! Kann doch nicht so schwer sein, dass fortgeschrittene Programmierer einem Anfänger etwas in einen Quelltext einsetzen! Es seidenn, sie können es selber nicht. Entweder ihr könnt mir helfen und setzt mir static void main in meinen Quelltext ein, oder ihr lasst es und postet hier nicht solche total vom Thema abweichenden Bemerkungen! Danke!


----------



## Leroy42 (26. Jan 2008)

Jetzt komm erst mal wieder runter:

Was soll denn in deiner main-Methode stehen?


----------



## Guppi (26. Jan 2008)

Also, ich habe ja jetzt dieses Programm geschrieben und möchte es als .jar haben. Jetzt habt ihr mir gesagt, dass aber (um es als .jar exportieren zu können) eine static void main Methode im Quelltext sein muss. Könntest du mir diese Methode vielleicht so in das Programm einbauen, dass es auch geht? Ich weiß ja eben nicht, wie ich die Methode in diesem Quelltext einbinden soll.... :bahnhof:


----------



## Leroy42 (26. Jan 2008)

Das habe ich dir doch bereits geschrieben:

Allerdings kann ich dir nicht sagen, was deine main-Methode machen soll


----------



## Leroy42 (26. Jan 2008)

Okay, dann versuchs mal mit


```
public class Visual1 extends JFrame {
  ...
  public static void main(String[] args) {
    JFrame nuMachSchon = new Visual1();
    nuMachSchon.setVisible(true);
  }
  ...
}
```

Wir wissen nun mal nicht, was deine Java-Bean-Klasse verlangt,
resp. erwartet!


----------



## Leroy42 (26. Jan 2008)

Guppi hat gesagt.:
			
		

> Also, *ich* habe ja jetzt dieses Programm geschrieben und möchte es als .jar haben.



Das glaube ich jetzt eher weniger...


----------



## Guppi (26. Jan 2008)

dieses Programm habe ich wirklich selber geschrieben! Ich habe mir die Sachen, die ich dafür brauchte in Foren von dieser Seite gelernt und von meinem Buch :### . Dass habe ich 100% selbst gemacht, ich schwöre... Warum sollte ich das nicht selbst gemacht haben?   ???:L


----------



## André Uhres (26. Jan 2008)

Hast du jetzt meine jar-Datei entpackt oder nicht? 
Da steht nämlich alles drin, was du brauchst: Quellcode,  "main"-Methode, Manifest, ...


----------



## Guppi (27. Jan 2008)

Ja habe ich, aber das hilft mir ja so nicht weiter, weil ich ja so nicht weiß, wie static void main in meinen Quellcode muss...
Könnt ihr nicht irgendwie meinen Quellcode kopieren, ihn richtig umschreiben und hier ins Forum setzen? Das wäre viel einfacher für mich das so zu verstehen...


----------



## André Uhres (27. Jan 2008)

Guppi hat gesagt.:
			
		

> Ja habe ich, aber das hilft mir ja so nicht weiter, weil ich ja so nicht weiß, wie static void main in meinen Quellcode muss...


Der Methodenkopf ist in Prinzip immer derselbe. Am Rumpf ändert sich meistens auch nicht viel.
Bei einem Grossteil der Anwendungen wird, wie im Beispiel, einfach nur Frame erzeugt und sichtbar gemacht.
Selbst wer das nicht alles versteht, kann es leicht nachahmen


----------

