Mit java Programme/Dateien starten!

Aehm,

du benötigst einen ActionListener, bei welchem du die function actionPerformed(ActionEvent e) implementieren musst (sprich dein programm starten).

diesen ActionListener musst du beim button mit

Button neu=new Button("Führe Programm aus");
neu.addActionCommand("execute");
neu.addActionListener(<deinimplementierteractionlistener>);

und den Button natürlich im fenster hinzufügen.

Dann klappts ;)

Hier ein Tutorial:
http://java.sun.com/docs/books/tutorial/uiswing/components/button.html

Gruss,

Torsten
 
Zuletzt bearbeitet:
So wie du das da gemacht hast, hab ich das noch nie gesehen.

So würde ich es machen:

Code:
public class Fenster extends Frame implements ActionListener
{
     public Fenster()
     {
       anlegen der buttons

        one.addActionListener(this);
        two.addActionListener(this);
        .....
     }


      public void actionPerformed(ActionEvent e)
      {
             if(e.getSource()==one){
              mach was du willst :)
              }


               ...................
      } 

}


Dann würde ich das ganze mit den buttons aus der anderen methode raus lassen. Wenn du alles an funktionalität in der anderen klasse machen willst, machst du halt das implements bei der anderen Klasse und übergibst dann den ActionListener der anderen klasse im kontruktor.


MFG
 
Ja sorry jungs, ich bin da noch ziemlich frisch in dem Gebiet und dies ist mein erstes Projekt.Schuldigung wenn ich euch da jetzt mit so blöden Fehlern von mir genervt habe.
Danke für eure hilfe ich werd ma schaun wie ich das hinbekommen.

Big THX , fatmc
 
Is nicht schlimm, Fehler macht jeder und dafür gibt es ja Foren, damit man sich helfen lassen kann. :)
 
ja nun...ich weiss immer noch nich genau wie ich das wo genau einsetzen muss!
also zerix isch würde jetzt mal deinen Vorschlag nehmen also :

public class Fenster extends Frame implements ActionListener
{
public Fenster()
{
anlegen der buttons

one.addActionListener(this);
two.addActionListener(this);
.....
}


public void actionPerformed(ActionEvent e)
{
if(e.getSource()==one){
mach was du willst :)
}


...................
}

}

nur wie und wo da genau setze ich nun

try {
Runtime.getRuntime().exec("C:\\Programme\\QickTime\\QuickTimePlayer.exe Sample.mov");
} catch( IOException ex) {
// ...
}


ein!

Ich bin verwirrt. :confused:
 
z. b. wenn du möchtest, dass der button one geklickt werden muss, damit das video gestartet wird, sieht das so aus:


Code:
public void actionPerformed(ActionEvent e)
{

   if(e.getSource()==one)
   {
      try {
         Runtime.getRuntime().exec("C:\\Programme\\QickTime\\QuickTimePlayer.exe        Sample.mov");
      } catch( IOException ex) {
         // ...
      } 
   }

}
 
Die Variable one wird nicht gefunden? was ist das für eine variable?
"cannot resolve symbol - variable one"
als was soll ich die deklarieren/initialisieren?

Also mein inzwischen neues Programm zum testen sieht jetzt so aus:

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

public class Fenster extends Frame implements ActionListener
{
public Fenster()
{
//anlegen der buttons

one.addActionListener(this);
two.addActionListener(this);

}
public void actionPerformed(ActionEvent e)
{

if(e.getSource()==one)
{
try {
Runtime.getRuntime().exec("C:\\Programme\\QickTime\\QuickTimePlayer.exe Sample.mov");
} catch( IOException ex) {
// ...
}
}

}
}
 
Zuletzt bearbeitet:
Hey,

du kannst auch einen MouseListener verwenden und must dann nur
den MouseListener bei den Buttons registrieren, also:

1.)
Code:
public class Fenster extends Frame implements MouseListener {...}

2.) Die Listener bei den Buttons registrien:
Code:
    public Fenster ()
    {  //...
       one.addMouseListener(this);
       two.addMouseListener(this);
       three.addMouseListener(this);
       //...
    }

3.) Die Methoden aus dem Interface implementieren (Methoden, die du nicht brauchst einfach leer lassen):

Code:
    public void mouseClicked(MouseEvent event) 
    {
        if(e.getName().equals("one")
        {
            try {
                Runtime.getRuntime().exec("C:\\Programme\\QickTime\\QuickTimePlayer.exe Sample.mov");
            } 
            catch( IOException ex) {
               // ...
            } 
       }
    }

    public void mouseEntered(MouseEvent arg0) {}

    public void mouseExited(MouseEvent arg0) {}

    public void mousePressed(MouseEvent arg0) {}

    public void mouseReleased(MouseEvent arg0) {}


Die Abfrage if(e.getName().equals("one") funktioniert nur, wenn du den Buttons noch einen Namen gibst. Also, z.B.:

Code:
one.setName("one");


Hoffe du kommst damit klar, kannst aber natürlich auch wie oben schon erwähnt anstelle von MouseListener auch ActionListener verwenden!

Grüssle und noch viel Spass beim proggen :)
 
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class Fenster extends Frame implements ActionListener
{



public Fenster ()
{

super (" Lernpaket ");
Button one = new Button (" Test");
Button two = new Button (" Video");
Button three = new Button (" Test");
FlowLayout Buttons = new FlowLayout (FlowLayout.CENTER);
Panel pane = new Panel (Buttons);
pane.setLayout(Buttons);
Label L = new Label ("PROJEKT FA ST EM ");
add(pane);

one.addActionListener(this);
two.addActionListener(this);
three.addActionListener(this);

pane.add(L);
pane.add(one);
pane.add(two);
pane.add(three);
one.setBackground(Color.pink);
two.setBackground(Color.pink);
three.setBackground(Color.pink);
L.setFont (new Font ("Monospaced", Font.BOLD,30));
setSize (500, 200);
setBackground(Color.white);
setVisible (true);
addWindowListener (new FensterLauscher());
}

public void actionPerformed(ActionEvent e)
{
  if(e.getSource()==one)
 {
     try {
Runtime.getRuntime().exec("C:\\Programme\\QickTime\\QuickTimePlayer.exe Sample.mov");
} catch( IOException ex) {
// ...
} 
 }

}



Das ist jetzt die eine Klasse. Aus der anderen kannste jetzt das mit den Buttons löschen
 

Neue Beiträge

Zurück