Button belegen

  • Themenstarter Themenstarter DankbarerStudent ;)
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

DankbarerStudent ;)

Gast
hallo,
sorry schon mal vorweg für die dumme frage, ich raffs grad gar nich ???:L
also ich häng grad völlig an den zauberworten meinem actionPerformed button zu sagen das er das ausführen soll was in einer anderen klasse steht, bzw. die klasse "auszuführen".
bitte helft mir geistigen tiefflieger :bahnhof:
 
Und wo haperts genau?

Code:
public class FirstClass implements ActionListener {
...
    private JButton butt = null;
    private SecondClass sec = null;
...
    public FirstClass() {

        sec = new SecondClass("Blup");
        butt = new JButton("Klick mich");
        butt.addActionListener(this);
...
    }
...
    public void actionPerformed(ActionEvent evt) {

        Object source = evt.getSource();
        if (source == butt) {
            sec.showText();
        }
    }
}

Code:
public class SecondClass {

    private String text = null;

    public SecondClass(String text) {

        this.text = text;
    }

    public void showText() {

        System.out.println(text);
    }
}


sowas?
 
Code:
jButton1.addActionListener(new ActionListener() {
    public void actionPerformed( ActionEvent evt ) {
        new MeineKlasse(parameter1, parameter2); // Hier halt die Klasse hinschreiben und die Parameter des Konstruktors eintragen wenn er welche hat
    }
}
 
Wie stelle ich Fragen

Sei genau und informativ bei der Beschreibung deines Problems

* Beschreibe die Symptome deines Fehlers oder Problems sorgfältig und klar.
* Beschreibe die Umgebung, in der es auftaucht (Maschine, Betriebssystem, Applikation, was auch immer). Nenne auch die verwendete Distribution mit Versionsnummer (z.B. "Fedora Core 1", "Slackware 9.1", etc.).
* Beschreibe, welche Versuche du unternommen hast, um das Problem zu verstehen, bevor du gefragt hast.
* Beschreibe, welche Versuche du unternommen hast, um das Problem zu lösen, bevor du gefragt hast.
* Beschreibe die letzten Änderungen an deinem Computer oder deinen Softwareeinstellungen, die dir relevant erscheinen.

Versuche, den Fragen eines Hackers zuvor zu kommen und beantworte sie schon in deiner Mail, zusammen mit der Bitte um Hilfe.

Simon Tatham hat ein ausgezeichnetes Essay mit dem Titel How to Report Bugs Effectively (in englischer Sprache, Anm. d. Übers.) geschrieben. (Eine deutsche Übersetzung gibt es auf http://www.chiark.greenend.org.uk/~sgtatham/bugs-de.html, Anm.d.Ü.) Ich empfehle dir wärmstens, es zu lesen.

Masse ist nicht Genauigkeit

Du musst präzise und informativ sein. Uns ist nicht mit großen Mengen an Code oder Daten gedient. Wenn du einen großen, komplizierten Testfall hast, der einem Programm Probleme bereitet, versuche ihn zu optimieren und so klein wie möglich zu machen.

Das ist aus mindestens drei Gründen nützlich. Erstens: Wenn du zeigst, dass du dir Mühe und Gedanken machst, das Problem zu vereinfachen, erhöhst du die Chance auf eine Antwort. Zweitens: Die Frage zu vereinfachen macht es wahrscheinlicher, eine hilfreiche Antwort zu bekommen. Drittens: Beim Prozess der Umformung des Problems könntest du selbst einen Fix oder ein Workaround schreiben.
 
DankbarerStudent ;) hat gesagt.:
hallo,
sorry schon mal vorweg für die dumme frage, ich raffs grad gar nich ???:L
also ich häng grad völlig an den zauberworten meinem actionPerformed button zu sagen das er das ausführen soll was in einer anderen klasse steht, bzw. die klasse "auszuführen".
bitte helft mir geistigen tiefflieger :bahnhof:

Wenn du bereits eine Klasse geschrieben hast:
Code:
 public class andereKlasse
 {
  public static void sagHallo()
  {
    System.out.println("hallo ;)");
  }
 }

Dann kannst du die darin enthaltene Methode auf diese Weise aufrufen:
Code:
  andereKlasse.sagHallo();

Beim Klick auf einen Button:
Code:
 ...

 public class ... extends Frame/Applet
 {
  Button b;

  ...

  ...
  {
    // ActionListener beim Button anmelden
    b.addActionListener(
     new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         // Methode sagHallo aus andereKlasse aufrufen
         andereKlasse.sagHallo();
       }
     }
    );
  }
 }

Ist doch eigentlich simpel? 😉

PS: rückt der code-Tag im BB-Forum immer so komisch ein? Ich musste vor jeden Befehl min. 2 Leerzeichen setzen, damit er die Befehle vom linken Rand wegbekommt.
 
Oh mein Gott so viele Antworten auf einmal, Wahnsinn. Erstmal tausend Dank, ihr seid echt das geilste Javaforum im Netz [schild=1 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]java-forum.org rockt!!!![/schild]
Ich werd das jetzt gleich mal testen und dann nochmal Erfolg oder Misserfolg posten..

erstmal thx at all :toll:
 
der tiefflieger is wieder da :bahnhof:
so, ergebniss der tests irgendwie noch nich ganz ausgereift 🙁
also ich poste mal meinen code und ´n screenshot von der umgebung:

sshot:

http://www.directupload.net/show/d/714/Dse35jQ2.jpg

klasse frame (der aufruf) :
Code:
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.event.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.ImageIcon;

public abstract class frame extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton butt = null;


	public frame() {
		super();
		initialize();
	}

	private void initialize() {
		this.setSize(300, 200);
		this.setContentPane(getJContentPane());
		this.setTitle("test");
	}

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(new BorderLayout());
			jContentPane.add(getButt(), BorderLayout.CENTER);
		}
		return jContentPane;
	}


	private JButton getButt() {
		if (butt == null) {
			Action action = new AbstractAction(){
			  public void actionPerformed(  ActionEvent e){
				  key.class.getMethods();
			  }
			}
			;
			action.setEnabled(true);
			butt = new JButton();
			butt.setIcon(new ImageIcon("G:/htwm/carPC/pics/play.JPG"));
			butt.setAction(action);
		}
		return butt;
	}

}

klasse key ( die Funktion die auch funktioniert 🙂)

Code:
import java.awt.*;
import java.awt.event.*;

public class key {
   private Robot robot;
   
   public key() {
      try {
          robot = new Robot();
      }
      catch(AWTException e) {
      }
         robot.keyPress(KeyEvent.VK_B);
         robot.keyRelease(KeyEvent.VK_B);
   }
   public static void main(String[] args) {
      new key();
   }
}

so zum problem nochmal, so wie´s jetzt hier steht bringt er mir beim testen:

IWAV0052E Ausnahmebedingung für Aufrufziel beim Erstellen von frame
java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

what the fuck mach ich falsch? ich will doch nur ganz salopp gesagt den button mit der funktion belegen. ???:L
was sagen die profies dazu???
 
Einfaches Beispiel:
Code:
import java.awt.event.*;
import javax.swing.*;
import java.net.*;

public class Player extends JFrame {
   private JButton button;
   private ImageIcon play, stop;
   public Player(String title) {
      super(title);
      setSize(400, 300);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      
      try {
         play = new ImageIcon(new URL("http://www.famfamfam.com/lab/icons/silk/icons/control_play_blue.png"));
         stop = new ImageIcon(new URL("http://www.famfamfam.com/lab/icons/silk/icons/control_stop_blue.png"));
      }
      catch(MalformedURLException e) {
         System.out.println("Fehlerhafter URL!");
      }

      button = new JButton(play);
      button.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            System.out.println(button.getIcon());
            if(button.getIcon() == play) {
               button.setIcon(stop);
               Player.this.setTitle("Player is playing...");
            }

            else if (button.getIcon() == stop) {
               button.setIcon(play);
               Player.this.setTitle("Player is stopped");
            }
         }
      });
      
      add(button);
   }

   public static void main(String[] args) {
      new Player("Player").setVisible(true);
   }
}
 
hey @L-ectron-X den quelltext hab ich sogar verstanden und könnt ihn erklären, find ich gut. ich glaub ich mach fortschritte :###
das problem is nur nicht ganz getroffen, ich will so in etwa wie im code von Hobbit_Im_Blutrausch *krasserNaMe* zwei klassen verbinden, also dein hilfreiches codegeschnipsel und ne visuelle klasse. quasi ichdrück den button und der ruft die klasse einmal auf(wegen winampsteuerung). hast du da ne idee?

@moormaster hat leider nicht funktioniert. da kam bei "addActionListener" und bei "actionPerformed(ActionEvent e)" ein fehler, frag nicht warum, da hängts an meinen wissenskapazitäten :bahnhof:

@Hackl bringt den selben fehler wir von moormaster´s code ???:L

@Hobbit_Im_Blutrausch ich hab die "FirstClass" mal bischen umrahmt:

Code:
import java.awt.event.*;
import javax.swing.*;



public class FirstClass extends JFrame implements ActionListener {

    private JButton butt = null;
    private SecondClass sec = null;

    public FirstClass() {
    	super();
        setSize(640, 480);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        sec = new SecondClass("Blup");
        butt = new JButton("Klick mich");
        butt.addActionListener(this);


    
    }
    public void actionPerformed(ActionEvent evt) {

        Object source = evt.getSource();
        if (source == butt) {
            sec.showText();
        }
    }
}

funzt aber nicht, der bringt mir keinen button, also soweit ich das durch Versuch und Irrtum mitgekriegt hab :?:

bin anscheinend zu doof zum coden oder es fehlt nur noch ´n klick und dann hab ich´s, nur der kam noch nich :shock:
habt ihr noch ´n tip für mich?
 
^ oh sorry, name vergessen..
I
I
I
Der Post is von mir 😉
 
Anonymous hat gesagt.:
@Hobbit_Im_Blutrausch ich hab die "FirstClass" mal bischen umrahmt:

Code:
import java.awt.event.*;
import javax.swing.*;



public class FirstClass extends JFrame implements ActionListener {

    private JButton butt = null;
    private SecondClass sec = null;

    public FirstClass() {
    	super();
        setSize(640, 480);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        sec = new SecondClass("Blup");
        butt = new JButton("Klick mich");
        butt.addActionListener(this);


    
    }
    public void actionPerformed(ActionEvent evt) {

        Object source = evt.getSource();
        if (source == butt) {
            sec.showText();
        }
    }
}

funzt aber nicht, der bringt mir keinen button, also soweit ich das durch Versuch und Irrtum mitgekriegt hab :?:

bin anscheinend zu doof zum coden oder es fehlt nur noch ´n klick und dann hab ich´s, nur der kam noch nich :shock:
habt ihr noch ´n tip für mich?

Du brauchst noch ein

Code:
add(butt);

in deinem Konstruktor 😉
 
Anonymous hat gesagt.:
@moormaster hat leider nicht funktioniert. da kam bei "addActionListener" und bei "actionPerformed(ActionEvent e)" ein fehler, frag nicht warum, da hängts an meinen wissenskapazitäten :bahnhof:

Wenn du die Fehlermeldung posten würdest, könnte man dir auch sagen. was dabei falsch gelaufen ist 😉
 
@Hobbit_Im_Blutrausch hey jetzt läufts, mal sehen ob ich das auf mein problem ummünzen kann. thx erstmel :wink: :applaus:

@moormaster hab den fehler jetz leider nicht mehr da, aber da kam sowas wie "nicht erreichbar" oder so, muss wohl nur noch´n packet implementieren, das probier ich dann nochmal aus. trotzdem erstmal danke :toll:

hoffe ich krieg das jetzt bald hin nächste woche donnerstag ist abgabe und mittwoch hab ich englisch vorprüfung :shock:

sees
 
hallo leutz, also mein problem hat wirklich nur noch ´n "klick" gebraucht, auch wenns keinen mehr interessiert poste ich trotzdem mal den vorlagencode:
aufrufklasse:
Code:
import java.awt.event.*;
import javax.swing.*;



public class frame extends JFrame implements ActionListener {

    private JButton butt = null;
    private key sec = null;

    public frame() {
       super();
        setSize(640, 480);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
        butt = new JButton("Klick mich");
        butt.addActionListener(this);
        add(butt);

   
    }
    public void actionPerformed(ActionEvent evt) {
    	sec = new key();
        Object source = evt.getSource();
        if (source == butt) {
            sec.getClass(); 
        }
    }
}

funktion:
Code:
import java.awt.*;
import java.awt.event.*;

public class key {
   private Robot robot;
   
   public key() {
      try {
          robot = new Robot();
      }
      catch(AWTException e) {
      }
         robot.keyPress(KeyEvent.VK_B);
         robot.keyRelease(KeyEvent.VK_B);
   }
   public static void main(String[] args) {
      new key();
   }
}

tausend dank erstmal für eire hilfe [schild=6 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Ihr seid die Guten!!!!!!!![/schild]

hab die sache jetz mit allen buttons versehen und alle funktionsklassen geschrieben und krieg jetz nen fehler der mir mal wieder so garnichts sagt :bahnhof:


IWAV0052E Ausnahmebedingung für Aufrufziel beim Erstellen von player
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.awt.IllegalComponentStateException: contentPane cannot be set to null.
at javax.swing.JRootPane.setContentPane(Unknown Source)
at javax.swing.JFrame.setContentPane(Unknown Source)
at player.<init>(player.java:54)
... 12 more

kann jemand was damit anfangen?

sollte ich da ein neues thema eröffnen?
 
Caused by: java.awt.IllegalComponentStateException: contentPane cannot be set to null.
at javax.swing.JRootPane.setContentPane(Unknown Source)
at javax.swing.JFrame.setContentPane(Unknown Source)
at player.<init>(player.java:54)

Hast du den contenPane irgendwie auf null gesetzt?
Zeig mal den Code von "player"

Wo wir gerade dabei sind: Klassennamen groß, Methoden- und Variablennamen klein und Konstanten komplett groß schreiben.
 
thx da kuck ich doch gleich mal..
danke für den tip mal sehn ob ich das dann auch richtig umsetzen kann ???:L
der code:
Code:
import java.awt.event.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.lang.*;
import java.awt.*;


public class player extends JFrame implements ActionListener {

    
    private JButton play = null;
    private JButton stop = null;
    private JButton ff = null;
    private JButton rr = null;
    private JButton next = null;
    private JButton back = null;
    private JButton pl1 = null;
    private JButton pl2 = null;
    private JButton pl3 = null;
    private JButton pl4 = null;
    private JButton visual = null;
	private JLabel bg = null;
	
    private play sec = null;
    private stop stp = null;
    private ff ffo = null;  //  @jve:decl-index=0:
    private rr rro = null;
    private next nex = null;
    private back bac = null;
    private pl1 pla = null;
    private pl2 plb = null;
    private pl3 plc = null;
    private pl4 pld = null;  //  @jve:decl-index=0:
    private visual vis = null;

	
    
    
    
    


public player() {
          
     super();
        this.setSize(640, 480);
        this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/pics/audi80cabrio.gif")));
        this.setTitle("°°ooOO^AUDI^OOoo°°");
        this.setContentPane(bg);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
		bg.setText("");
		bg = new JLabel();
        
        play = new JButton("");
        play.setIcon(new ImageIcon(getClass().getResource("/pics/play.jpg")));
        play.addActionListener(this);
        add(play);

        stop = new JButton("");
        stop.setIcon(new ImageIcon(getClass().getResource("/pics/stop.jpg")));
        stop.addActionListener(this);
        add(stop);
        
        ff = new JButton("");
        ff.setIcon(new ImageIcon(getClass().getResource("/pics/forward.jpg")));
        ff.addActionListener(this);
        add(ff);
        
        rr = new JButton("");
        rr.setIcon(new ImageIcon(getClass().getResource("/pics/backward.jpg")));
        rr.addActionListener(this);
        add(rr);
        
        next = new JButton("");
        next.setIcon(new ImageIcon(getClass().getResource("/pics/next.jpg")));
        next.addActionListener(this);
        add(next);
        
        back = new JButton("");
        back.setIcon(new ImageIcon(getClass().getResource("/pics/back.jpg")));
        back.addActionListener(this);
        add(back);
        
        pl1 = new JButton("");
        pl1.setIcon(new ImageIcon(getClass().getResource("/pics/PL1.jpg")));
        pl1.addActionListener(this);
        add(pl1);
        
        pl2 = new JButton("");
        pl2.setIcon(new ImageIcon(getClass().getResource("/pics/PL2.jpg")));
        pl2.addActionListener(this);
        add(pl2);
        
        pl3 = new JButton("");
        pl3.setIcon(new ImageIcon(getClass().getResource("/pics/PL3.jpg")));
        pl3.addActionListener(this);
        add(pl3);
        
        pl4 = new JButton("");
        pl4.setIcon(new ImageIcon(getClass().getResource("/pics/PL4.jpg")));
        pl4.addActionListener(this);
        add(pl4);
        
        visual = new JButton("");
        visual.setIcon(new ImageIcon(getClass().getResource("/pics/visual.jpg")));
        visual.addActionListener(this);
        add(visual);
        

        
        
        
    }

		


	public void actionPerformed(ActionEvent evt) {
    	{
    	sec = new play();
        Object source = evt.getSource();
        if (source == play) {
            sec.getClass(); }
        }
    	{
	   stp = new stop();
	   Object source0 = evt.getSource();
	   if (source0 == stop) {
	       stp.getClass(); 
        }   
	   ffo = new ff();
	   Object source1 = evt.getSource();
	   if (source1 == ff) {
		   ffo.getClass(); 
        } 
	   rro = new rr();
	   Object source2 = evt.getSource();
	   if (source2 == rr) {
		   rro.getClass(); 
        } 
	   nex = new next();
	   Object source3 = evt.getSource();
	   if (source3 == next) {
		   nex.getClass(); 
        } 
	   bac = new back();
	   Object source4 = evt.getSource();
	   if (source4 == back) {
		   bac.getClass(); 
        } 
	   pla = new pl1();
	   Object source5 = evt.getSource();
	   if (source5 == pl1) {
		   pla.getClass(); 
        } 
	   plb = new pl2();
	   Object source6 = evt.getSource();
	   if (source6 == pl2) {
		   plb.getClass(); 
        } 
	   plc = new pl3();
	   Object source7 = evt.getSource();
	   if (source7 == pl3) {
		   plc.getClass(); 
        } 
	   pld = new pl4();
	   Object source8 = evt.getSource();
	   if (source8 == pl4) {
		   pld.getClass(); 
        } 
	   vis = new visual();
	   Object source9 = evt.getSource();
	   if (source9 == visual) {
	       vis.getClass(); 
        } 
    }
}
}

und wat sachse??
 
meinst du das mit auf null setzen?
Code:
        this.setLocationRelativeTo(null);
dachte das bezieht sich auf den ausrichtungspunkt in der ebene???
*confused*
 
Nein das meine ich nicht. Diese Zeile ist in Ordnung.
Aber diese Zeile ist Mist.
Code:
this.setContentPane(bg);
bg ist doch noch null.

Du musst diese Zeile unter die Instanziierung des JLabels bg setzen.
 
ähhhm tja ok danke, aber wie änder ich das jetzt? tip?
 
ohh sorry nicht weit genug gelesen 😀

so besser?
Code:
public player() {
          
     super();
        this.setSize(640, 480);
        this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/pics/audi80cabrio.gif")));
        this.setTitle("°°ooOO^AUDI^OOoo°°");
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
		bg.setText("");
		bg = new JLabel();
        this.setContentPane(bg);

funzt aber immer noch nich..
 
Liest du auch ab und zu mal meine Postings? :wink:

Weil bg zum Zeitpunkt des Zugriffs immer noch null ist.
Code:
     bg = new JLabel(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
      this.setContentPane(bg);

Du kannst Methoden eines Objektes erst benutzen, wenn es existiert. Klar?
 
@L-ectron-X natürlich mach ich das, nur ob meine interpretation dann auch die richtige ist, ist ne andere frage 😳

naja ähh also ich hab jetz einfach mal copy ´n paste durchgeführt wenn ich dich jetz richtig verstanden hab?
Code:
public player() {
          
     super();
        this.setSize(640, 480);
        this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/pics/audi80cabrio.gif")));
        this.setTitle("°°ooOO^AUDI^OOoo°°");
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
		bg.setText("");
	    bg = new JLabel(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
	    this.setContentPane(bg);

aber könnt ich da nich die zeile:
Code:
bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
weglassen?
naja egal, funzt auf jeden fall trotzdem nich. bin halt ´n blutiger anfänger *schäm*
 
Aber lesen kann man auch als blutiger Anfänger...
..du scheinst da wohl ne Ausnahme zu sein... :wink:

Code:
public player() { 
          
     super("°°ooOO^AUDI^OOoo°°"); 
     this.setSize(640, 480); 
     this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/pics/audi80cabrio.gif"))); 
     this.setLocationRelativeTo(null); 
     this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 

     bg = new JLabel(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg"))); 
     this.setContentPane(bg);

So sollte das aussehen.
In deinem Code ist bg noch nicht instanziiert, aber du ruftst z.B. schon die setIcon()-Methode darauf auf.
Ergebnis: NullPointerException. Zugriff auf ein nicht existierendes Objekt. Jetzt klar?
 
:idea: *klirrrrrrr* hast den groschen auch fallen hören 😀
iche nixe kanne lesen, no komprende *fg*

ach L-ectron-X was würd ich nur machen wenns dich nicht gäbe...
aus welcher gegend kommst du? vielleicht kann ich dich ja mal auf´n bier einladen?

wenn ich das proggie jetz noch dazu bewegen kann das es meine buttons auch anzeigt is alles cool...
 
sag mal L-ectron-X will dich ja nicht nerven mit meinem scheiß aber hast du ne idee warum der mir nicht einen button anzeigt? in der entwicklerperspektive ist mein frame auf fast null minimiert und buttons seh ich auch da keine...
???:L
 
Wird überhaupt kein Button angezeigt?
Ein JFrame ordnet seine Komponenten standardmäßig mit dem BorderLayout an.
In deinem JFrame ist sonst nichts weiter definiert, woher soll er wissen, wie du deine Komponenten anordnen möchtest? Hast du ne Zeichnung o.ä. wie es am Ende aussehen soll?
 
nee du, der zeigt keinen an, mit dem boarderlayout das dacht ich mir fast, aber da muss ich doch irgendwie die genaue startposition von den buttons wissen, wie krieg ich die am besten raus?
hab ich, hab mal´n layout bild gemacht look:

www.directupload.net/show/d/717/iaPI4jPd.jpg

hilft dir das weiter?
 
Mit dem BorderLayout kommst du hier nicht weiter.
Aber mit dem GridLayout, dem TableLayout, dem GridBagLayout oder dem NullLayout.
Kommt darauf an, wie sich die Komponenten verhalten sollen, wenn (falls) du das Fenster in seiner Größe änderst.
 
aha, ok das sagt mir zwar erstmal nicht viel aber mal sehen was sich dazu finden lässt.
das fenster darf nicht geändert werden und muss constant auf 640x480 pixeln bleiben..
hast da vielleicht schon paar schnipsel dazu?
 
Wenn sich das Fenster nicht ändern darf, kannst du auch die Auswahl an möglichen LayoutManagern einengen.
Mit dem NullLayout kannst du absolut positionieren (pixelgenau). Da könntest du alle Labels einem Container hinzufügen.
Ebenso beim GridbagLayout. Aber wenn dir schon TableLayout nicht zusagte, wird dir GridbagLayout erst recht "böhmisch" vorkommen.
Bliebe dann auch noch die Schachtelung von Layouts.
 
Hey L-ectron-X mir kam letzte nacht noch´n spitzeneinfall *g* ich benutz einfach mein eclipse 3.2 für mein layout 😎
hatte dann natürlich keine ruhe und hab auch direkt schon angefangen, mit dem ergebniss das es zwar auch schon tut was ich will aber die buttons erscheinen erst wenn man mit der maus drüberhoverd. Warum?
hier der code:
Code:
import java.awt.Frame;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.lang.*;
import java.awt.*;
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;
import java.awt.Point;
import javax.swing.SwingConstants;

public class player extends Frame implements ActionListener {

	private static final long serialVersionUID = 1L;

	private JLabel bg = null;
	
	private JButton play = null;
	private play sec = null;
	
	private JButton stop = null;
	private stop stp = null;
    
    
    
	/**
	 * This is the default constructor
	 */
	public player() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		bg = new JLabel();
		bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
		bg.setEnabled(true);
		bg.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
		bg.setLocation(new Point(4, 28));
		bg.setSize(new Dimension(635, 480));
		bg.setVerticalAlignment(SwingConstants.CENTER);
		bg.setVerticalTextPosition(SwingConstants.CENTER);
		bg.setText("");
		bg.setVisible(true);
		this.setLayout(null);
		this.setSize(640, 480);
		this.setResizable(false);
		this.setTitle("°°ooOO^AUDI^OOoo°°");

		this.setVisible(true);
		this.add(bg, null);
		this.add(getPlay(), null);
		this.add(getStop(), null);
	}

	/**
	 * This method initializes play	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPlay() {
		if (play == null) {
			play = new JButton();
	        play.setIcon(new ImageIcon(getClass().getResource("/pics/play.jpg")));
	        play.setBounds(new Rectangle(281, 355, 92, 60));
	        play.addActionListener(this);
	        add(play);

		}
		return play;
	}
	public void actionPerformed(ActionEvent evt) {
    	{
    	sec = new play();
        Object source = evt.getSource();
        if (source == play) {
            sec.getClass(); }
        }
    	{
 		   stp = new stop();
 		   Object source0 = evt.getSource();
 		   if (source0 == stop) {
 		       stp.getClass(); 
 	        }   
 		   
}}  //  @jve:decl-index=0:visual-constraint="10,10"

	/**
	 * This method initializes stop	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getStop() {
		if (stop == null) {
			stop = new JButton();
			stop.setBounds(new Rectangle(394, 359, 79, 52));
	        stop.setIcon(new ImageIcon(getClass().getResource("/pics/stop.jpg")));
	        stop.addActionListener(this);
	        add(stop);
		}
		return stop;
	}

}
 
Lass mal deine Klasse von JFrame erben statt von Frame.
Und die Hälfte der Anweisungen für dein JLabel bg kannste weghauen. Einige davon haben überhaupt keine Wirkung aufs Label, andere können in einer Anweisung zusammengefasst werden.
 
hey ich schon wieder 😳
also ich sag mal mit dem drüberhoovern kann ich leben, aber das problem ist jetzt, dass meine buttons alles mögliche machen aber nicht was sie sollen (also die angegebene tastenkombie weitergeben).
mein "aufrufcode":
Code:
import java.awt.Frame;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.lang.*;
import java.awt.*;
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;
import java.awt.Point;
import javax.swing.SwingConstants;

public class player extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;

	private JLabel bg = null;
	
	private JButton play = null;
	private play sec = null;
	
	private JButton stop = null;
	private stop stp = null;  //  @jve:decl-index=0:

	private JButton ff = null;
	private ff ffo = null;

	private JButton rr = null;
	private rr rro = null;

	private JButton next = null;
	private next nex = null;

	private JButton back = null;
	private back bac = null;

	private JButton pl1 = null;
	private pl1 pla = null;
	
	private JButton pl2 = null;
	private pl2 plb = null;

	private JButton pl3 = null;
	private pl3 plc = null;

	private JButton pl4 = null;
	private pl4 pld = null;

	private JButton visual = null;
	private visual vis = null;
    
    
    
	/**
	 * This is the default constructor
	 */
	public player() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		bg = new JLabel();
		bg.setIcon(new ImageIcon(getClass().getResource("/pics/Layout_1.jpg")));
		bg.setEnabled(true);
		bg.setLocation(new Point(4, 28));
		bg.setSize(new Dimension(635, 480));
		bg.setText("");
		bg.setVisible(false);
		this.setLayout(null);
		this.setSize(640, 480);
		this.setResizable(false);
		this.setTitle("°°ooOO^AUDI^OOoo°°");

		this.setVisible(true);
		this.add(bg, null);
		this.add(getPlay(), null);
		this.add(getStop(), null);
		this.add(getFf(), null);
		this.add(getRr(), null);
		this.add(getNext(), null);
		this.add(getBack(), null);
		this.add(getPl1(), null);
		this.add(getPl2(), null);
		this.add(getPl3(), null);
		this.add(getPl4(), null);
		this.add(getVisual(), null);
	}

	/**
	 * This method initializes play	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPlay() {
		if (play == null) {
			play = new JButton();
	        play.setIcon(new ImageIcon(getClass().getResource("/pics/play.jpg")));
	        play.setSize(new Dimension(58, 50));
	        play.setRolloverEnabled(true);
	        play.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/play.JPG")));
	        play.setLocation(new Point(322, 408));
	        play.addActionListener(this);
	        add(play);

		}
		return play;
	}
    
  	    
	private JButton getStop() {
		if (stop == null) {
			stop = new JButton();
			stop.setRolloverEnabled(true);
			stop.setLocation(new Point(254, 408));
			stop.setSize(new Dimension(58, 50));
			stop.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/stop.JPG")));
	        stop.setIcon(new ImageIcon(getClass().getResource("/pics/stop.jpg")));
	        stop.addActionListener(this);
	        add(stop);
		}
		return stop;
	}

	/**
	 * This method initializes ff	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getFf() {
		if (ff == null) {
			ff = new JButton();
			ff.setLocation(new Point(390, 408));
			ff.setRolloverEnabled(true);
			ff.setIcon(new ImageIcon(getClass().getResource("/pics/forward.JPG")));
			ff.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/forward.JPG")));
			ff.setSize(new Dimension(58, 50));
	        ff.addActionListener(this);
	        add(ff);
		}
		return ff;
	}

	/**
	 * This method initializes rr	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getRr() {
		if (rr == null) {
			rr = new JButton();
			rr.setPreferredSize(new Dimension(58, 50));
			rr.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/backward.JPG")));
			rr.setLocation(new Point(186, 408));
			rr.setSize(new Dimension(58, 50));
			rr.setIcon(new ImageIcon(getClass().getResource("/pics/backward.JPG")));
	        rr.addActionListener(this);
	        add(rr);
		}
		return rr;
	}

	/**
	 * This method initializes next	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getNext() {
		if (next == null) {
			next = new JButton();
			next.setLocation(new Point(458, 408));
			next.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/next.JPG")));
			next.setIcon(new ImageIcon(getClass().getResource("/pics/next.JPG")));
			next.setSize(new Dimension(58, 50));
	        next.addActionListener(this);
	        add(next);
		}
		return next;
	}

	/**
	 * This method initializes back	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBack() {
		if (back == null) {
			back = new JButton();
			back.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/back.JPG")));
			back.setLocation(new Point(119, 408));
			back.setSize(new Dimension(58, 50));
			back.setIcon(new ImageIcon(getClass().getResource("/pics/back.JPG")));
	        back.addActionListener(this);
	        add(back);
		}
		return back;
	}

	/**
	 * This method initializes pl1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPl1() {
		if (pl1 == null) {
			pl1 = new JButton();
			pl1.setLocation(new Point(33, 321));
			pl1.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/PL1.JPG")));
			pl1.setIcon(new ImageIcon(getClass().getResource("/pics/PL1.JPG")));
			pl1.setSize(new Dimension(58, 50));
	        pl1.addActionListener(this);
	        add(pl1);
		}
		return pl1;
	}

	/**
	 * This method initializes pl2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPl2() {
		if (pl2 == null) {
			pl2 = new JButton();
			pl2.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/PL2.JPG")));
			pl2.setLocation(new Point(33, 408));
			pl2.setSize(new Dimension(58, 50));
			pl2.setIcon(new ImageIcon(getClass().getResource("/pics/PL2.JPG")));
	        pl2.addActionListener(this);
	        add(pl2);
		}
		return pl2;
	}

	/**
	 * This method initializes pl3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPl3() {
		if (pl3 == null) {
			pl3 = new JButton();
			pl3.setLocation(new Point(549, 321));
			pl3.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/PL3.JPG")));
			pl3.setIcon(new ImageIcon(getClass().getResource("/pics/PL3.JPG")));
			pl3.setSize(new Dimension(58, 50));
	        pl3.addActionListener(this);
	        add(pl3);
		}
		return pl3;
	}

	/**
	 * This method initializes pl4	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getPl4() {
		if (pl4 == null) {
			pl4 = new JButton();
			pl4.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/PL4.JPG")));
			pl4.setLocation(new Point(549, 408));
			pl4.setSize(new Dimension(58, 50));
			pl4.setIcon(new ImageIcon(getClass().getResource("/pics/PL4.JPG")));
	        pl4.addActionListener(this);
	        add(pl4);
		}
		return pl4;
	}

	/**
	 * This method initializes visual	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getVisual() {
		if (visual == null) {
			visual = new JButton();
			visual.setLocation(new Point(212, 321));
			visual.setRolloverIcon(new ImageIcon(getClass().getResource("/pics/visual.JPG")));
			visual.setIcon(new ImageIcon(getClass().getResource("/pics/visual.JPG")));
			visual.setSize(new Dimension(206, 50));
	        visual.addActionListener(this);
	        add(visual);
		}
		return visual;
	}
	public void actionPerformed(ActionEvent evt) {
    	{
    	sec = new play();
        Object source = evt.getSource();
        if (source == play) {
            sec.getClass(); }
        }
    	{
 		   stp = new stop();
 		   Object source0 = evt.getSource();
 		   if (source0 == stop) {
 		       stp.getClass(); 
 	    }   
 	    {
 	 	   ffo = new ff();
 	 	   Object source1 = evt.getSource();
 	 	   if (source1 == ff) {
 	 	       ffo.getClass(); 
 	    }   
 	   	{
  		   rro = new rr();
  		   Object source2 = evt.getSource();
  		   if (source2 == rr) {
  		       rro.getClass(); 
  	    }   
  	   	{
  	   		nex = new next();
  	        Object source3 = evt.getSource();
  	        if (source3 == next) {
  	            nex.getClass(); }
        }
      	{
   		   bac = new back();
   		   Object source4 = evt.getSource();
   		   if (source4 == back) {
   		       bac.getClass(); 
   	    }   
  	    {
  	 	   pla = new pl1();
  	 	   Object source5 = evt.getSource();
  	 	   if (source5 == pl1) {

  	 	       pla.getClass(); 
  	    }   
  	   	{
  		   plb = new pl2();
  		   Object source6 = evt.getSource();
  		   if (source6 == pl2) {
  		       plb.getClass(); 
  	    }	
   	    {
  	 	   plc = new pl3();
  	 	   Object source7 = evt.getSource();
  	 	   if (source7 == pl3) {
  	 	       plc.getClass(); 
  	    }   
  	   	{
  		   pld = new pl4();
  		   Object source8 = evt.getSource();
  		   if (source8 == pl4) {
  		       pld.getClass(); 
  	    }
  	    {
  	 	   vis = new visual();
  	 	   Object source9 = evt.getSource();
  	 	   if (source9 == visual) {
  	 	       vis.getClass(); 
  	    }   
  	    }
  	   	}
   	    }
  	   	}
  	    }
      	}
 	   	}
 	    }
    	}
    	
	}

  
}

eine funktion(alle nach dem selben schema):
Code:
import java.awt.*;
import java.awt.event.*;

public class visual {
   private Robot robot;
   
   public visual() {
      try {
          robot = new Robot();
      }
      catch(AWTException e) {
      }
      robot.keyPress(KeyEvent.VK_SHIFT);
      robot.keyPress(KeyEvent.VK_V);
      robot.keyRelease(KeyEvent.VK_V);
      robot.keyRelease(KeyEvent.VK_SHIFT);
   }
   public static void main(String[] args) {
      new visual();
   }
}

ich denk mir mal das problem liegt bei
Code:
	public void actionPerformed(ActionEvent evt) {
aber wo?
 
Hey L-ectron-X
ich hab mal nen neuen Thread aufgemacht, weil sich ja das problem geklärt hat.
und hab mich gleich mal hier registriert 😉

schöne pfingsten noch und vielen Dank 😎
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben