Java 3D Grafikprogrammierung mit Eclipse



  • Hallo,

    Ich habe eine Studienarbeit im 6.Semester an der BA für eine Programmierung einer Fördertechnikanlage ausgewählt. Ich soll es mit der Eclipse Entwicklungsumgebung programmieren. Bis jetzt hatte ich nur Grunglagen von Java an der Schule noch gemacht. Dafür im Studium näher auf C++ eingegangen. Ich habe Probleme den JavaEclipse3D PlugIn in das Eclipse einzufügen. Hier das Link Dazu: http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-873.html

    Ich bin dort noch auf dises Link zugestoßen: https://j3d-webstart.dev.java.net/test/ Dort gibt es beispielprogramme. Mein Ziel ist es erstmal diese Beispiele in der Eclipse Umgebung zum Laufen zu bringen.

    Bis Jetzt noch nicht geschafft und wollte fragen wie ich da weiterkommen könnte. Ich Danke im Voraus. Ich wäre echt dankbar, wenn mir jemand helfen könnte.
    Gruß jippii



  • Was hast du bis jetzt gemacht? Was geht nicht? Normal kopiert man plugins einfach ins selbige Verzeichnis in Eclipse und beim nächsten start is es da



  • bis jetzt konnte ich bei Eclipse nur eine Hallo World Applikation laufen lassen. Das 3D PlugIn für Eclipse ist nur 15 KB groß. Ist das überhaupt richtig? Es ist eine feature.xml(19KB) datei und eine METANF nur 1 KB. Kann es sein dass ich bei der Ausführung des Programmes das Plugin bei den Eigenschaften einfüge oder auswähle. So habe ich es in einer Dokumentation gesehen. Was ich jetzt nicht richtig weiß, welches Projekt muss ich als Grundlage nehmen. Bei den Beispielprogrammen gibt es diese als Improt

    import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.GraphicsConfiguration;
    import com.sun.j3d.utils.applet.MainFrame; 
    import com.sun.j3d.utils.universe.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    

    kann ich dies auch bei Eclipse ausführen? Ich werde jetzt weiterhin versuchen diesen PlugIn zu Installieren. Es gibt im Internet keine Information wie man diese PlugIn´s einfügt. Könnt ihr mir wenigstens sagen, ob es so wie ich es oben beschrieben habe richtig ist? Danke



  • Du hast das Plugin gekauft? Also wende doch an den Typen der das Plugin geschrieben hat.

    Für Java3D brauchst du sowieso kein Plugin. Lade dir einfach die Bibliotheken runter und binde sie in dein Projekt ein.

    import com.sun.j3d.utils.applet.MainFrame; 
    import com.sun.j3d.utils.universe.*;
    

    Die musst du denk ich als .jar Bibliothek haben, die du in dein Projekt einfügst.

    Mit Eclipse und vor allem mit der Sprache Java kennst du dich aber schon aus?



  • hallo,

    ich habe jetzt schon manches hinbekommen. Die Beispiel programme laufen jetzt auf dem Eclipse.

    Wie weit ich mit der Anlagensimulation bin: Eigentlich nicht so viel, aber ich habe jetzt lauter Box´s erstellt die die Förderer nachbilden sollen. Ich habe auch eine Karosserie bei den Beispielen gefunden. Was ich jetzt machen möchte ist diese Karosserie auf einer diesen Kästchen drauszustellen. Das Problem liegt aber daran, dass man bei der Erstellung der Karosserie feste Koordinaten eingibt. Ich möchte aber diesen bewegen und dazu gibt es doch die PositionPathInterpolator. Bin ich auf dem Richtigen weg?

    Danke



  • ok auch das habe ich noch hinbekommen.

    Eine Bitte noch: ich habe im main nur eine MainFrame, welches das Applikationsfenster erzeugt und die 3D Grafik dadrin aufzeichnet. Ich möchte aber unter diesem Frame noch einen hinzufügen, wo ich ein Paar Buttons einfügen möchte, damit ich die Grafikanimation steuern kann.

    bei mir steht im main nur:

    new MainFrame(new AnlageSim(args),800,600);
    

    und mehr nicht. Wie kann ich denn diesen Frame noch unterteilen oder einen neuen hinzufügen. ich bin gerade bissle durcheinander durch die 3D Programmierung. Es wäre echt nett wenn mir jemand helfen könnte. Danke



  • Erzeuge einen zweiten Frame. Afaik ist es nicht möglich nur ein Panel für die 3D-Anzeige herzunehmen.

    MfG SideWinder



  • Das Problem bei einem zweiten neuen Frame ist es, das es nicht aus einem Fenster besteht wo oben die 3D Anwendung und unten die Buttonleiste angezeigt wird. Das sind doch 2 verschiedene Fenster die aufgehen. Ich möchte den zweiten aber unterhalb der ersten Frame einfügen. Wie kann ich das realisieren?



  • Versuchs mal mit einem JDialog statt einem JFrame

    MfG SideWinder



  • Hallo

    ich habe selber noch nie was mit Java 3D gemacht...

    Ich weiß nicht ob das geht aber man könnte wenn das 3D Fenster Ein JComponent ist ein JSplitPane verwenden. Oder man könnte auch JInternalFrame benutzen.

    Ich weiß aber nicht ob das geht mit dem 3D Fenster



  • Hallo,

    dass mit dem JInternalFrame hat funktioniert. Danke @JaverCoder für deine Hilfe.

    Jetzt habe ich eine Borderlayout erstellt, wo oben die Anlagensimulation und unten die Buttonleiste stehen. Das Problem ist, dass ich in der Schule mit JBuilder gearbeitet hatte (vor 3 Jahren) und jetzt in Eclipse ohne den Grafikeditor Probleme habe die ActionPerformed Eigenschaften der Buttons so einzufügen dass sie auch Funktionieren. Ich möchte zuerstmal, wenn ich auf einen Button draufklicke, dass sich die Eigenschaften der benachbarten Buttons sich ändern. z.B. setEnabled auf true bzw. false. hier mein Code.

    public static void main(String[] args) {
    //    	 erzeugt Applikationsfenster der Groesse 800x600 
            //new MainFrame(new AnlageSim2(args), 800, 600);
    
        	Panel pPanel = new Panel();
    
        	GridLayout layoutUnten=new GridLayout(3,6);
    
        	pPanel.setLayout(layoutUnten);
    
        	  JInternalFrame iFrame = new JInternalFrame("Anlage");
        	  iFrame.add(new AnlageSim2(args));
        	  iFrame.setSize(1024, 600);
        	  iFrame.setMaximizable(true);
        	  iFrame.setVisible(true);
    
        	  JButton rb1Button;
        	  JButton rb2Button;
        	  JButton rb3Button;
        	  JButton rb4Button;
        	  JButton rb5Button;
        	  JButton rb6Button;
        	  JButton rb7Button;
        	  JButton rb8Button;
        	  JButton rb9Button; 
        	  JButton rb10Button;
        	  JButton rb11Button;
        	  JButton rb12Button;
        	  JButton rb13Button;
        	  JButton rb14Button;
        	  JButton leer1Button;
        	  JButton leer2Button;
        	  JButton leer3Button;
        	  JButton leer4Button;
    
              // Buttons erzeugen und Event-Handler setzen:
    
        	  rb1Button = new JButton("RB 1");
        	  rb2Button = new JButton("RB 2");
        	  rb3Button = new JButton("RB 3");
        	  rb4Button = new JButton("RB 4");
        	  rb5Button = new JButton("RB 5");
        	  rb6Button = new JButton("RB 6");
        	  rb7Button = new JButton("RB 7");
        	  rb8Button = new JButton("RB 8");
        	  rb9Button = new JButton("RB 9");
        	  rb10Button = new JButton("RB 10");
        	  rb11Button = new JButton("RB 11");
        	  rb12Button = new JButton("RB 12");
        	  rb13Button = new JButton("RB 13");
        	  rb14Button = new JButton("RB 14");
    
        	  rb1Button.setEnabled(false);
        	  rb2Button.setEnabled(true);
        	  rb3Button.setEnabled(false);
        	  rb4Button.setEnabled(false);
        	  rb5Button.setEnabled(false);
        	  rb6Button.setEnabled(false);
        	  rb7Button.setEnabled(false);
        	  rb8Button.setEnabled(false);
        	  rb9Button.setEnabled(false);
        	  rb10Button.setEnabled(false);
        	  rb11Button.setEnabled(false);
        	  rb12Button.setEnabled(false);
        	  rb13Button.setEnabled(false);
        	  rb14Button.setEnabled(false);
    
        	  rb1Button.addActionListener(new ActionListener() 
        	    {
        		  public void actionPerformed(ActionEvent e) 
        		  	{
    
        		  	}
        	     });
    
        	  /*rb2Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });*/
    
        	  rb3Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb4Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb5Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb6Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb7Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb8Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb9Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb10Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb11Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb12Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb13Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
    
        	  rb14Button.addActionListener(new ActionListener() 
        	     {
        		  	public void actionPerformed(ActionEvent e) 
        		  		{
    
        		  		}
        	      });
        	  leer1Button = new JButton("");
        	  leer2Button = new JButton("");
        	  leer3Button = new JButton("");
        	  leer4Button = new JButton("");
        	  leer1Button.setEnabled(false);
        	  leer2Button.setEnabled(false);
        	  leer3Button.setEnabled(false);
        	  leer4Button.setEnabled(false);
    
        	  JFrame frame = new JFrame("Simulation"); 
        	  frame.setLayout(new BorderLayout());
    
             pPanel.add(leer1Button); 
             pPanel.add(rb11Button);
             pPanel.add(rb12Button);
             pPanel.add(rb13Button);
             pPanel.add(rb14Button);
             pPanel.add(leer2Button); 
    
             pPanel.add(leer3Button); 
             pPanel.add(rb7Button);
             pPanel.add(rb8Button);
             pPanel.add(rb9Button);
             pPanel.add(rb10Button);
             pPanel.add(leer4Button); 
    
             pPanel.add(rb1Button);
             pPanel.add(rb2Button);
             pPanel.add(rb3Button);
             pPanel.add(rb4Button);
             pPanel.add(rb5Button);
             pPanel.add(rb6Button);
    
            frame.setSize(1024, 700);
            frame.setVisible(true);
            frame.add(pPanel,BorderLayout.SOUTH);
        	frame.add(iFrame,BorderLayout.PAGE_START);
        }// Ende Methode main
    
        public void actionPerformed(ActionEvent event) {
        	String cmd = event.getActionCommand();
    
        		if (cmd.equals("Rb2Button")) {
    
        			this.setEnabled(false);
     		}
    
        }
        	// Ende Klasse AnlageSim
        }
    


  • Du könntest deinem Main Dings sagen dass es ActionListener implementiert.
    Dann musst Du nich jedem Button einzeln immer wieder einen ganzen Listener anfügen.
    Und Du kannst die Auswertung an einem Ort im Code vornehmen.
    Wenn Du die Buttons ändern willst (Enabled und Nme etc) dann sollten sie Klassen Member sein. Wenn Du den Listener implementierst schreibt er dir eine Funktion die, die Buttons nicht sonst nicht kennt.

    Ganz grob vielleicht so:

    public class Main extends JFrame implements ActionListener
    {
      private JButton jb1 = new JButton("Button 1");
    
      public Main()
      {
        JPanel jp = new JPanel();
        jb1.addActionListener(this);
        jb1.setActionCommand("JB1");
        jp.add(jb1);
        this.add(jp);
    ...
    
      public void actionPerformed(ActionEvent e) 
      {
        String action = e.getIrgendwas();
        if(action.equals("JB1")
        {
          jb1.setEnabled(false);
        }
      }
    

    Achja, vielleicht weisst Du das schon, aber sicher ist sicher... wenn Du das setLayout(null) machst, hast Du kein normales Layout mehr, sondern kannst die Buttons etc. pixelgenau platzieren.



  • ich kommen einfach nicht weiter. Das kann doch nicht so schwer sein einen Button zu deaktivieren, wenn man draufklickt. Kann mir jemand sagen was ich falsch mache. Beim Debuggen Springt er in den ActionListener rein aber setzt die Buttons nicht auf disable.

    ICh habe eine Classe Buttons definiert und eine Klasse AnlageSim.

    hier mein code vom Button Class:

    package anlage;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    
    public class Buttons extends Frame{
    
        //****************************************BUTTON*********
      	public JButton rb1Button = new JButton("RB 1");
      	public JButton rb2Button = new JButton("RB 2");
      	public JButton rb3Button = new JButton("RB 3");
      	public JButton rb4Button = new JButton("RB 4");
      	public JButton rb5Button = new JButton("RB 5");
      	public JButton rb6Button = new JButton("RB 6");
      	public JButton rb7Button = new JButton("RB 7");
      	public JButton rb8Button = new JButton("RB 8");
      	public JButton rb9Button = new JButton("RB 9");
      	public JButton rb10Button = new JButton("RB 10");
      	public JButton rb11Button = new JButton("RB 11");
      	public JButton rb12Button = new JButton("RB 12");
      	public JButton rb13Button = new JButton("RB 13");
      	public JButton rb14Button = new JButton("RB 14");
      	public JButton leer1Button = new JButton("");
      	public JButton leer2Button = new JButton("");
      	public JButton leer3Button = new JButton("");
      	public JButton leer4Button = new JButton("");
    
      	public Buttons(){}
    
    }
    

    und hier vom Main, welche sich in der AnlageSim Klasse befindet:

    public static void main(String[] args){
    //    	 erzeugt Applikationsfenster der Groesse 800x600 
            //new MainFrame(new AnlageSim2(args), 800, 600);
    
        	Buttons Buttonlist = new Buttons();
       	  //***************************************FRAME*****************
       	 JFrame frame = new JFrame("Simulation"); 
    
       	 JInternalFrame iFrame = new JInternalFrame("Anlage");
       	 //**************************************PANEL********************
       	 Panel pPanel = new Panel();
       	  //**************************************LAYOUT*******************
       	 GridLayout layoutUnten=new GridLayout(3,6);
        	  frame.setLayout(new BorderLayout());	
        	  pPanel.setLayout(layoutUnten);
        	  iFrame.add(new AnlageSim(args));
        	  iFrame.setSize(1024, 650);
        	  iFrame.setMaximizable(true);
        	  iFrame.setVisible(true);
    
        	  Buttonlist.rb1Button.setEnabled(false);
        	  Buttonlist.rb2Button.setEnabled(true);
        	  Buttonlist.rb3Button.setEnabled(false);
        	  Buttonlist.rb4Button.setEnabled(false);
        	  Buttonlist.rb5Button.setEnabled(false);
        	  Buttonlist.rb6Button.setEnabled(false);
        	  Buttonlist.rb7Button.setEnabled(false);
        	  Buttonlist.rb8Button.setEnabled(false);
        	  Buttonlist.rb9Button.setEnabled(false);
        	  Buttonlist.rb10Button.setEnabled(false);
        	  Buttonlist.rb11Button.setEnabled(false);
        	  Buttonlist.rb12Button.setEnabled(false);
        	  Buttonlist.rb13Button.setEnabled(false);
        	  Buttonlist.rb14Button.setEnabled(false);
        	  Buttonlist.leer1Button.setEnabled(false);
        	  Buttonlist.leer2Button.setEnabled(false);
        	  Buttonlist.leer3Button.setEnabled(false);
        	  Buttonlist.leer4Button.setEnabled(false);
    
             pPanel.add(Buttonlist.leer1Button); 
              pPanel.add(Buttonlist.rb11Button);
              pPanel.add(Buttonlist.rb12Button);
              pPanel.add(Buttonlist.rb13Button);
              pPanel.add(Buttonlist.rb14Button);
              pPanel.add(Buttonlist.leer2Button); 
    
              pPanel.add(Buttonlist.leer3Button); 
              pPanel.add(Buttonlist.rb7Button);
              pPanel.add(Buttonlist.rb8Button);
              pPanel.add(Buttonlist.rb9Button);
              pPanel.add(Buttonlist.rb10Button);
              pPanel.add(Buttonlist.leer4Button); 
    
              pPanel.add(Buttonlist.rb1Button);
              pPanel.add(Buttonlist.rb2Button);
              pPanel.add(Buttonlist.rb3Button);
              pPanel.add(Buttonlist.rb4Button);
              pPanel.add(Buttonlist.rb5Button);
              pPanel.add(Buttonlist.rb6Button);     
    
             frame.setSize(1024, 768);
             frame.setVisible(true);
             frame.add(pPanel,BorderLayout.SOUTH);
         	frame.add(iFrame,BorderLayout.PAGE_START); 
    
         	Buttonlist.rb2Button.addActionListener(new ActionListener() 
        	    {			
        		  public void actionPerformed(ActionEvent e) 
        		  	{Buttons Buttonlist = new Buttons();
        			  Buttonlist.rb3Button.setEnabled(false);
        			  Buttonlist.rb4Button.setEnabled(true);
        		  	}
        	     });
    


  • BTW: Hol dir VE von eclipse.org, dann hast du einen grafischen Editor.

    MfG SideWinder



  • hey SideWinder genau sowas habe ich auch gesucht. Vielen Vielen Dank.

    ICh habe diese Version runtergeladen:http://www.eclipse.org/downloads/download.php?file=/tools/ve/downloads/drops/S-1.2M3-200604071123/VE-runtime-1.2M3.zip

    Wie kann ich die plugins dateien in das Projekt einbinden. DAs sind lauter jar dateien. Kann ich sowas nicht instaliieren?



  • Das läuft unter Eclipse anders, du kannst die Dateien ganz einfach in das Eclipse-Verzeichnis entpacken (also alles aus plugins nach Eclipse\plugins und alles aus features nach Eclipse\features).

    Aber VE alleine läuft nicht, du brauchst noch zwei andere Plugins auf denen VE aufbaut: EMF und GEF

    MfG SideWinder



  • ich habe einen File runtergeladen und die ganzen Plugins eingefügt und es funktioniert bis jetzt einwandfrei.

    Ich habe mir einen JFrame erzeugt mit Borderlayout. Oben habe ich einen JInternalFrame eingefügt und unten einen Panel mit Gridlayout und die Buttons dort hinzugefügt. So dann hatte ich diesen Code:

    package anlageSimulation;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridBagLayout;
    import javax.swing.JInternalFrame;
    import java.awt.CardLayout;
    import javax.swing.JToolBar;
    import javax.swing.JButton;
    import java.awt.GridBagConstraints;
    import java.awt.GridLayout;
    
    public class AnlageSim {
    
    	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="39,36"
    	private JPanel jContentPane = null;
    	private JPanel jPanel = null;
    	private JInternalFrame jInternalFrame = null;
    	private JPanel jContentPane1 = null;
    	private JButton jButtonleer1 = null;
    	private JButton jButtonleer4 = null;
    	private JButton jButton2 = null;
    	private JButton jButton5 = null;
    	private JButton jButton9 = null;
    	private JButton jButton4 = null;
    	private JButton jButton3 = null;
    	private JButton jButton1 = null;
    	private JButton jButton8 = null;
    	private JButton jButton7 = null;
    	private JButton jButton11 = null;
    	private JButton jButton12 = null;
    	private JButton jButton13 = null;
    	private JButton jButton14 = null;
    	private JButton jButton6 = null;
    	private JButton jButtonleer2 = null;
    	private JButton jButtonleer3 = null;
    	private JButton jButton10 = null;
    	/**
    	 * This method initializes jFrame	
    	 * 	
    	 * @return javax.swing.JFrame	
    	 */
    	private JFrame getJFrame() {
    		if (jFrame == null) {
    			jFrame = new JFrame();
    			jFrame.setSize(new Dimension(1024, 768));
    			jFrame.setPreferredSize(new Dimension(1024, 768));
    			jFrame.setTitle("Anlagensimulation");
    			jFrame.setContentPane(getJContentPane());
    		}
    		return jFrame;
    	}
    
    	/**
    	 * This method initializes jContentPane	
    	 * 	
    	 * @return javax.swing.JPanel	
    	 */
    	private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			jContentPane.add(getJPanel(), BorderLayout.SOUTH);
    			jContentPane.add(getJInternalFrame(), BorderLayout.NORTH);
    		}
    		return jContentPane;
    	}
    
    	/**
    	 * This method initializes jPanel	
    	 * 	
    	 * @return javax.swing.JPanel	
    	 */
    	private JPanel getJPanel() {
    		if (jPanel == null) {
    			GridLayout gridLayout = new GridLayout();
    			gridLayout.setRows(3);
    			jPanel = new JPanel();
    			jPanel.setLayout(gridLayout);
    			jPanel.setPreferredSize(new Dimension(1024, 100));
    			jPanel.add(getJButtonleer1(), null);
    			jPanel.add(getJButton11(), null);
    			jPanel.add(getJButton12(), null);
    			jPanel.add(getJButton13(), null);
    			jPanel.add(getJButton14(), null);
    			jPanel.add(getJButtonleer3(), null);
    			jPanel.add(getJButtonleer4(), null);
    			jPanel.add(getJButton7(), null);
    			jPanel.add(getJButton8(), null);
    			jPanel.add(getJButton9(), null);
    			jPanel.add(getJButton10(), null);
    			jPanel.add(getJButtonleer2(), null);
    			jPanel.add(getJButton1(), null);
    			jPanel.add(getJButton2(), null);
    			jPanel.add(getJButton3(), null);
    			jPanel.add(getJButton4(), null);
    			jPanel.add(getJButton5(), null);
    			jPanel.add(getJButton6(), null);
    		}
    		return jPanel;
    	}
    
    	/**
    	 * This method initializes jInternalFrame	
    	 * 	
    	 * @return javax.swing.JInternalFrame	
    	 */
    	private JInternalFrame getJInternalFrame() {
    		if (jInternalFrame == null) {
    			jInternalFrame = new JInternalFrame();
    			jInternalFrame.setPreferredSize(new Dimension(1024, 641));
    			jInternalFrame.setVisible(true);
    			jInternalFrame.setContentPane(getJContentPane1());
    		}
    		return jInternalFrame;
    	}
    
    	/**
    	 * This method initializes jContentPane1	
    	 * 	
    	 * @return javax.swing.JPanel	
    	 */
    	private JPanel getJContentPane1() {
    		if (jContentPane1 == null) {
    			jContentPane1 = new JPanel();
    			jContentPane1.setLayout(new BorderLayout());
    			jContentPane1.setPreferredSize(new Dimension(100, 100));
    		}
    		return jContentPane1;
    	}
    
    	/**
    	 * This method initializes jButtonleer1	
    	 * 	
    	 * @return javax.swing.JButton	
    	 */
    	private JButton getJButtonleer1() {
    		if (jButtonleer1 == null) {
    			jButtonleer1 = new JButton();
    			jButtonleer1.setText("");
    			jButtonleer1.setEnabled(false);
    			jButtonleer1.setActionCommand("RB1");
    		}
    		return jButtonleer1;
              ......
    	}
    

    Mein Problem ist, dass ich in der Klasse einen Main erzeuge, aber dort weder die Buttons noch das Frame verändern kann. so ungefähr:

    public static void main(String[] args){
    
    		jInternalFrame.add(new AnlageSim(args)); // hier wird das jInternalFrame nicht anerkannt!! WIESO
    	}
    

    Liegt das daran, dass ich das main als public static deklariere? Wieso kann ich es nicht als Java Applikation ausführen, wenn ich den static im main weglasse? Kann mir bitte jemand bisschen weiterhelfen, komme echt nicht mehr weiter. DANKEE


Anmelden zum Antworten