import von Klassen (zwei Panels eine Form)

Status
Nicht offen für weitere Antworten.

sohell

Mitglied
Hallo ich möchte ein Fenster erstellen, und zwei panels. das Fenster hat keine Komponenten, die zwei Panels haben zwei verschiedene Komponenten wie buttons und Textboxe. den Inhalt des Fensters möchte ich zur Laufzeit ändern. ich krieg das irgendwie nicht hin.

hier der code:

Code:
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;


public class jFramev4 extends JFrame {
	public jFramev4() {
		initComponents();
	}

	private void initComponents() {
		
		CellConstraints cc = new CellConstraints();


		Container contentPane = getContentPane();
		contentPane.setLayout(new FormLayout(
			"default, $lcgap, default",
			"2*(default, $lgap), default"));
		setSize(400, 300);
		setLocationRelativeTo(null);

	}


	static jFramev4 frame1 = new jFramev4(); 
	public static void main (String [] args){
		 

		frame1.setVisible(true);

		jPanelv4 panelv4 = new jPanelv4(); 
		
		
	}
	
[COLOR="#ff0000"]	// jPanelv4 sollte hier die Komponenten wie textbox und buttons von jPanelv3 erhalten.[/COLOR]
		static class jPanelv4 extends jPanelv3{
		   public jPanelv4(){
		      
		      JOptionPane.showMessageDialog(null,"Endlich","mouseClicked", JOptionPane.INFORMATION_MESSAGE);
[COLOR="Red"]//hier sollte in frame1 die componenten mithilfe addComponents(panelv4) hinkommen[/COLOR]
// dazu dachte müsste man mit frame1.removeAll() alle komponenten löschen
// dann frame1.addComponents(jPanelv3) hinzufügen. aber geht nicht! 
			     }
		      };
	
}

der code verursacht nach frame1.removeAll() ein freeze. Fenster reagiert nicht mehr.
Wohl weil noch zeiger auf einige Komponenten sind oder. Ich suche schon sehr lange
aber irgendwie komm ich mit allem nicht zurecht. stehe auch unter zeitdruck :autsch:
 

sohell

Mitglied
ja richtig wie cordlayout. aber ich möchte das layout von meinem Designer übernehmen.

wie importiere ich denn die klassen meines java projektes?
dann müssten doch alle elemente (buttons, textbox usw) sowie ihre einstellungen von der klasse übernommen werden?
 
Zuletzt bearbeitet:

sohell

Mitglied
und sobald ich eine instanz von der klasse anlege und diese der form hinzufüge, müssten die eigentlich genauso angezeigt werden, wie sie in der klasse definiert sind.

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.awt.CardLayout;

import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
 

public class jFramev4 extends JFrame {
	public jFramev4() {
		initComponents();
	}

	private void initComponents() {
		// JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
		textField1 = new JTextField();
		panel1 = new JPanel();
		button1 = new JButton();
		CellConstraints cc = new CellConstraints();

		//======== this ========
		Container contentPane = getContentPane();
		contentPane.setLayout(new FormLayout(
			"default, $lcgap, default:grow",
			"4*(default, $lgap), default"));
		contentPane.add(textField1, cc.xy(3, 3));

		//======== panel1 ========
		{
			panel1.setLayout(new FormLayout(
				"default, $lcgap, default",
				"2*(default, $lgap), default"));
		}
		contentPane.add(panel1, cc.xy(3, 5));

		//---- button1 ----
		button1.setText("text");
		button1.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				button1MouseClicked(e);
			}
		});
		contentPane.add(button1, cc.xy(3, 9));
		setSize(400, 300);
		setLocationRelativeTo(null);
		// JFormDesigner - End of component initialization  //GEN-END:initComponents
	}

	// JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
	private JTextField textField1;
	private JPanel panel1;
	private JButton button1;
	// JFormDesigner - End of variables declaration  //GEN-END:variables
	static jFramev4 frame1 = new jFramev4(); 
	 
	public static void main (String [] args){
		JOptionPane.showMessageDialog(null,"Endlich","mouseClicked", JOptionPane.INFORMATION_MESSAGE); // das hier wird auch angezeigt
		
        frame1.setVisible(true); 
	}

	private void button1MouseClicked(MouseEvent e) {
// das hier aber erzeugt ein fehler!         
frame1.add(new JButton("Button 2"));
        frame1.add(new JButton("Button 3"));
         validate(); 
        frame1.pack();
	}
}
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
zur laufzeit mit komponenten und layout rumspielen ist nich grad meine stärke, vielleicht weiss da jemand anderes was, ich löse das immer per cardLayout, warum genau willst du das nicht damit umsetzen, das habe ich nich verstanden ^^
 

sohell

Mitglied
bei cardlayout kann man nur bestimmen ob die textbox mittig, links, rechts usw. angeordnet werden kann. außerdem ist die gestaltung mit GUI designern einfacher.
 

diggaa1984

Top Contributor
hm ne das cardLayout ist dazu gedacht .. eine Menge von Cards zu erstellen welche dann einfach aktiviert werden. Die Cards selber sind wieder Komponenten wie zB. JPanels welche dann alles benötigte beinhalten. Die JPanels können ja dann bekanntermaßen andere Layouts beherbergen

hab grad mein source net da, sonst hätt ich dir schnell mal n bsp geben können
grob sollte das wie folgt gehen:
Java:
JFrame f = new JFrame();
CardLayout l = new CardLayout();
f.setLayoutr(l);

MyFirstView first = new MyFirstView(); //extends Component oder noch spezieller
l.addLayoutComponent(first,"first");

MySecondView second = new MySecondView(); //extends Component oder noch spezieller
l.addLayoutComponent(second,"second");
und dann kannst per
Code:
l.show(f,"first");
die Karte anzeigen lassen .. GUI somit komplett ausgetauscht

und in den View-Klasse kannst alles an Layouts nutzen und anordnen wie du das möchtest
 
Zuletzt bearbeitet:

sohell

Mitglied
hey digga,

ich hab die funktionsweise von cordlayout verstanden. aber es ist folgendermaßen.
ich hab einen designer den jframe designer um meine gui mir zurecht zu klicken.
ich hab ein projekt mit mehreren jPanel klassen (jPane1 und jPanel2) und ein fenster (jFrame)
wieso kann ich in der klasse jFrame z.B. jPanel1 nicht anlegen. und diese zeigen lassen. dann wenn ich auf ein button klicke mittels eventhandler (mouseClick event) den anderen Panel (jPanel2) anzeigen lassen?

was mich an cordlayout stört ist das man im code dann nochmal angeben muss wo sich das Element (z.b. button, textbox usw) links, rechts oder so befinden soll.

ich werde mal den cordlayout code von dir mal ausprobieren. sofort!
 

diggaa1984

Top Contributor
wieso kann ich in der klasse jFrame z.B. jPanel1 nicht anlegen. und diese zeigen lassen. dann wenn ich auf ein button klicke mittels eventhandler (mouseClick event) den anderen Panel (jPanel2) anzeigen lassen?

da würde ich jetzt mal behaupten, dass es gehen müsste .. du addest beim erstellen des frames einfach diese instanzen der 2 panel-klassen dem cardlayout dazu. und was willst du da "links" "rechts" festlegen müssen, kann mich nicht dran erinnern, denn das JPanel wäre die einzige Komponente in dem Frame, welche sichtbar ist. Der Rest wird ja in der JPanel-Klasse geregelt.

zeig mal code wenn du soweit bist :D
 

eRaaaa

Top Contributor
hä? du musst doch immer sagen wo er das jpanel hinzufügen soll?!

Java:
JPanel cardPanel;
	public CardLayoutDemo() {
		setPreferredSize(new Dimension(200, 200));

		// main
		JPanel panel = new JPanel(new BorderLayout());

		// header
		JPanel header = new JPanel();
		JRadioButton a = new JRadioButton("Eins");
		a.addActionListener(this);
		JRadioButton b = new JRadioButton("Zwei");
		b.addActionListener(this);
		ButtonGroup group = new ButtonGroup();
		group.add(a);
		group.add(b);
		header.add(a);
		header.add(b);

		// Card
		cardPanel = new JPanel();
		cardPanel.setLayout(new CardLayout());

		JPanel eins = new JPanel();
		eins.add(new JLabel("Erstes Panel"));

		JPanel zwei = new JPanel();
		zwei.add(new JLabel("Zweites Panel"));
		
		
		cardPanel.add(eins, "Eins");
		cardPanel.add(zwei, "Zwei");

		panel.add(header, BorderLayout.NORTH);
		panel.add(cardPanel, BorderLayout.CENTER);
		add(panel);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		pack();
		setVisible(true);
	}

@Override
	public void actionPerformed(ActionEvent e) {
		CardLayout cl = (CardLayout)(cardPanel.getLayout());
		cl.show(cardPanel, e.getActionCommand());
	}

anstatt radiobuttons, kannst du ja auch benutzen was du willst...
 

sohell

Mitglied
Code:
	private void button2MouseClicked(MouseEvent e) {
		JFrame f = new JFrame();
		CardLayout cL = new CardLayout();
		f.setLayout(cL);
		 
//		MyFirstView first = new MyFirstView(); //extends Component oder noch spezieller
//		l.addLayoutComponent(first,"first");
		JPanel jF = new JPanel(new CardLayout());
		cL.addLayoutComponent(jF, "first"); 
//		MySecondView second = new MySecondView(); //extends Component oder noch spezieller
//		l.addLayoutComponent(second,"second");
		JPanel jF2 = new JPanel(new CardLayout());
		cL.addLayoutComponent(jF2, "second");
		cL.show(f, "first");
	}

Fehlermeldung: wrong parent for CardLayout

eigentlich würde ich ja lieber meine eigenen panels nehmen, welche components / elements haben.
aber da gibt er mir die selbe fehlermeldung
 

sohell

Mitglied
kann man nicht die panels nehmen die in meinem projekt sind? wenn doch die klasse global ist dann müsste ich doch in einer anderen klasse eine instanz anlegen können. kurz: ich will meine eigenen panels welche ich mit GUI designer vordefiniert hab. und nicht zur laufzeit noch irgendwie sagen das der button rechts, der andere links und so liegt. das kommt mir wie im mittelalter vor. :D
 

diggaa1984

Top Contributor
KSKB
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test {
	
	public static void main(String[] args) {
		final JFrame frame = new JFrame("CardTest");
		final CardLayout cl = new CardLayout();
		
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
		frame.setLayout(cl);
		
		JButton b = new JButton("switch");
		b.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				cl.next(frame.getContentPane());
			}
		});
		
		JButton c = new JButton("switch");
		c.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				cl.next(frame.getContentPane());
			}
		});
		
		
		JPanel first = new JPanel();
		first.setBackground(Color.BLACK);
		first.setMinimumSize(new Dimension(200,200));
		first.add(b);
		
		JPanel second = new JPanel();
		second.setBackground(Color.YELLOW);
		second.setMinimumSize(new Dimension(200,200));
		second.add(c);

		frame.add(first,"first");
		frame.add(second,"second");
		
		cl.show(frame.getContentPane(),"first");
		
		frame.pack();
		frame.setVisible(true);
	}	
}
den buttonkram mal so hinnehmen, is auf die schnelle hingehackt .. nun brauchst du nur die JPanels first und second durch eigene Klasse ersetzen und voila, sollte gehen!? Man muss die Komponenten doch dem Frame adden, und nicht direkt dem Layout.
 
Zuletzt bearbeitet:

sohell

Mitglied
Code:
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.*;

import com.jgoodies.forms.layout.*;

public class ersterFrame extends JFrame {
	public ersterFrame() {
		initComponents();
	}

	static void bMouseClicked(MouseEvent e) {
		 cl.next(frame.getContentPane());
		 JOptionPane.showMessageDialog(null,"endlich","mouseClicked", JOptionPane.INFORMATION_MESSAGE);  
	}

	private void initComponents() {
		
		button1 = new JButton();
		button2 = new JButton();
		CellConstraints cc = new CellConstraints();

		//======== this ========
		Container contentPane = getContentPane();
		contentPane.setLayout(new FormLayout(
			"5*(default, $lcgap), default",
			"5*(default, $lgap), default"));

		//---- button1 ----
		button1.setText("erster panel");
		contentPane.add(button1, cc.xy(11, 9));

		//---- button2 ----
		button2.setText("zweiter panel");
		contentPane.add(button2, cc.xy(11, 11));
		setSize(400, 300);
		setLocationRelativeTo(getOwner());
	}


	private JButton button1;
	private JButton button2;
	// JFormDesigner - End of variables declaration  //GEN-END:variables
	
	static final CardLayout cl = new CardLayout();
	static final JFrame frame = new JFrame("CardTest");
	static JPanel first = new JPanel();
	static JPanel second = new JPanel();
    public static void main(String[] args) {
       
        
        
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        
        frame.setLayout(cl);
        
        JButton b = new JButton("switch");
        b.addMouseListener(new MouseAdapter() {
            
            @Override
            public void mouseClicked(MouseEvent e) {
            	bMouseClicked(e);
            }
        });
        
        JButton c = new JButton("switch");
        b.addMouseListener(new MouseAdapter() {
            
            @Override
            public void mouseClicked(MouseEvent e) {
            	bMouseClicked(e);
            }
        });
        
        
        
        first.setBackground(Color.BLACK);
        first.setMinimumSize(new Dimension(200,200));
        first.add(b);
        
        
        second.setBackground(Color.YELLOW);
        second.setMinimumSize(new Dimension(200,200));
        second.add(c);
 
        frame.add(first,"first");
        frame.add(second,"second");
        
        cl.show(frame.getContentPane(),"first");
        
        frame.pack();
        frame.setVisible(true);
    }   
}

weis nicht warum aber anscheinend wird der eventhandler zwei mal aufgerufen. ich blick da nicht durch. denn klicken tu ich nur einmal. vielleicht schiesst dieses mouse event zwei mal ein ereignis. denn die messagebox und die farbänderung kommt zwei mal.

wenn ich meine forms und panels nehme gehts immer noch nicht!! also habs mit meinen zwei panels versucht, welche components/elements (buttons usw) haben.
dann erhalte ich die Fehlermeldung: The constraints must not be null.
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Java:
public class ersterFrame extends JFrame {
	public ersterFrame() {
		initComponents();
	}

	static void bMouseClicked(MouseEvent e) {
		 cl.next(frame.getContentPane());
		 JOptionPane.showMessageDialog(null,"endlich","mouseClicked", JOptionPane.INFORMATION_MESSAGE);  
	}

	private void initComponents() {
		
		button1 = new JButton();
		button2 = new JButton();
		CellConstraints cc = new CellConstraints();

		//======== this ========
		Container contentPane = getContentPane();
		contentPane.setLayout(new FormLayout(
			"5*(default, $lcgap), default",
			"5*(default, $lgap), default"));

		//---- button1 ----
		button1.setText("erster panel");
		contentPane.add(button1, cc.xy(11, 9));

		//---- button2 ----
		button2.setText("zweiter panel");
		contentPane.add(button2, cc.xy(11, 11));
		setSize(400, 300);
		setLocationRelativeTo(getOwner());
	}


	private JButton button1;
	private JButton button2;
	// JFormDesigner - End of variables declaration  //GEN-END:variables

das ist im zuge dessen was du von mir kopiert hast ja irgendwie alles doppelt gemoppelt. weiter unten nutzt du genau das was ich geschrieben habe, was hat das da oben noch für ne verwendung, muss das FormLayout mit Annahme eines funktionierenden cardLayouts noch sein!?

edit: da zeigt sich mal wieder, das selber GUI proggen sehr viel besser ist, da du dann alles lernst was da passiert, hab mich auch selbst dazu gezwungen und geschadet hats nich ^^
 
Zuletzt bearbeitet:

sohell

Mitglied
hey ich versuche immernoch meine klassen zu verwenden deswegen füge ich dein code sie in meine eigene Klasse ein. und passe es an.

aber hier jetzt eine version die wieder die farbe nicht ändert! ich wollte ein eventhandler setzen welcher bei klick auf den button aufgerufen wird.

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

import javax.swing.*;
import com.jgoodies.forms.layout.*;
/*
 * Created by JFormDesigner on Fri Sep 04 11:30:54 CEST 2009
 */



/**
 * @author BLASTER STRIKE
 */
public class zweiterFrame2 extends JFrame {
	public zweiterFrame2() {
		initComponents();
	}

	private void initComponents() {
		// JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
		CellConstraints cc = new CellConstraints();

		//======== this ========
		Container contentPane = getContentPane();
		contentPane.setLayout(new FormLayout(
			"default, $lcgap, default",
			"2*(default, $lgap), default"));
		pack();
		setLocationRelativeTo(getOwner());
		// JFormDesigner - End of component initialization  //GEN-END:initComponents
	}

	// JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
	// JFormDesigner - End of variables declaration  //GEN-END:variables
	
    public static void main(String[] args) {
        final JFrame frame = new JFrame("CardTest");
        final CardLayout cl = new CardLayout();
        
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        
        frame.setLayout(cl);
        
        JButton b = new JButton("switch");
        b.addMouseListener(new MouseAdapter() {
            
            @Override
            public void mouseClicked(MouseEvent e) {
                cl.next(frame.getContentPane());
            }
        });
        
        JButton c = new JButton("switch");
        b.addMouseListener(new MouseAdapter() {
            
            @Override
            public void mouseClicked(MouseEvent e) {
                cl.next(frame.getContentPane());
            }
        });
        
        
        JPanel first = new JPanel();
        first.setBackground(Color.BLACK);
        first.setMinimumSize(new Dimension(200,200));
        first.add(b);
        
        JPanel second = new JPanel();
        second.setBackground(Color.YELLOW);
        second.setMinimumSize(new Dimension(200,200));
        second.add(c);
 
        frame.add(first,"first");
        frame.add(second,"second");
        
        cl.show(frame.getContentPane(),"first");
        
        frame.pack();
        frame.setVisible(true);
    }   

}

es wird wohl kein eventhandler aufgerufen.
 

Michael...

Top Contributor
Verwende den richtigen Listener (ActionListener für Buttons) und schon funktioniert's. ;-) Und wenn Du nächstes Mal überflüssigen Code vor dem Posten rausschmeisst, wird's für Leute, die Dir helfen wollen auch einfacher.
Java:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class zweiterFrame2 extends JFrame {
	public static void main(String[] args) {
		final JFrame frame = new JFrame("CardTest");
		final CardLayout cl = new CardLayout();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(cl);

		ActionListener listener = new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				cl.next(frame.getContentPane());
			}
		};

		JButton button = new JButton("switch");
		button.addActionListener(listener);

		JPanel panel = new JPanel();
		panel.setBackground(Color.BLACK);
		panel.add(button);

		frame.add(panel, "first");

		button = new JButton("switch");
		button.addActionListener(listener);
		panel = new JPanel();
		panel.setBackground(Color.YELLOW);
		panel.add(button);

		frame.add(panel, "second");

		cl.show(frame.getContentPane(), "first");

		frame.pack();
		frame.setVisible(true);
	}
}

PS Schieß doch den blöden GUI-Builder in den Wind
 

sohell

Mitglied
OMG :shock: es funktioniert. das beispiel funktioniert. geht aber nicht ganz in meine richtung.

was für möglichkeiten hab ich bezüglich der layout-gestaltung bei codeprogrammierung? ich hab da schon was programmiert. ich habs so gemacht: ein button1, welche ein weiteres button2 der form hinzufügt. button1 soll dabei gehidet (hide()) werden. man soll jedesmal immer dabei pack() aufrufen um die form neu zu zeichnen...komischerweise wird bei pack() das fenster immer auf die optimale größe angepasst. Also welche sie für die existierenden elemente (button) braucht. d.h. fenstergröße = buttongröße.

wieso kann ich denn nicht einfach eine instanz von einem jPanel anlegen und es wird einfach der jFrom hinzugefügt. das ist doch das einfachste auf der welt! typische OO programmierung.

ach keine ahnung ich bin stur und will da nicht diesen scheiss programmieren. ich glaub mir ist nicht zu helfen. sitz schon seit montag an dem scheiss!
 
Zuletzt bearbeitet:

Michael...

Top Contributor
man soll jedesmal immer dabei pack() aufrufen um die form neu zu zeichnen
pack() "optimiert" das Layout anhand der einzelnen Komponenten (deswegen rufe ich sowas prinzipiell nicht auf)
Grundsätzlich gilt: Wenn Änderung am Layout vorgenommen werden (Komponenten entfernt, hinzugefügt, versetzt) wenn es bereits sichtbar ist, muss man validate() aufrufen.
Warum fügst Du in Deinem Fall den zweiten Button nicht von Anfang an ein und machst ihn bei Bedarf sichtbar?
 

diggaa1984

Top Contributor
hm vielleicht könnte man dir layout-mäßig helfen wenn du mal ne Skizze machst und das Verhalten bei Änderung beschreibst.

GUI selbst erstellen lernt man auch eben mal nicht in 1 Woche :D .. dafür ist das alles viel zu verstrickt, und jede Komponente will anders behandelt werden, aber es ist ein ultimativer Lernprozess sich damit auseinanderzusetzen. Nimm dir die Zeit, sofern vorhanden und Code das per Hand, der Code wird für meine Begriffe auch wesentlich lesbarer.

Ich habe mal eine Gruppe von Studenten geholfen aus Netbeans-GUI-Builder-Code alles rauszuschmeissen was nicht benötigt wurde, und das ganze nochma in Klassen aufgeteilt. Nach 6h und einem anfänglich immer kleiner werdendem Fenster (bis gar nix mehr drin war, obwohl ich haufen add-Anweisungen hatte) .. welches später wieder größer wurde und letztendlich dem Layout entsprach was gewünscht war, war ich echt bedient ^^. Rein wartungstechnisch die Hölle für mich :)
 

sohell

Mitglied
Warum fügst Du in Deinem Fall den zweiten Button nicht von Anfang an ein und machst ihn bei Bedarf sichtbar?
ich hab das mal hier in dem unteren code probiert. ich kann jetzt die eigenschaft von anderen existierenden labels ändern. logisch.


Code:
package javaapplication1;


public class NewJFrame extends javax.swing.JFrame {

    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }

    @SuppressWarnings("unchecked")

    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("jButton2");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(124, 124, 124)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jButton2)
                    .addComponent(jButton1))
                .addContainerGap(203, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(93, 93, 93)
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton2)
                .addContainerGap(150, Short.MAX_VALUE))
        );

        pack();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        jButton2.show(); // so rum richtig :)
        jButton1.hide();
        jLabel1.setText("button1");
        validate();
        
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        jButton1.show();
        jButton2.hide();
        jLabel1.setText("button2");
        validate();        
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }


    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;

}
 
Zuletzt bearbeitet:

sohell

Mitglied
ich hab es auch jetzt den letzten code mit netbeans erstellt und wesentlich benutzerfreundlicher. aber ich versteh einfach den sinn nicht. wieso soll man in solch einem gui editor panels erstellen, und diese nicht so einfach einer form hinzufügen können. wozu dann die aufteilung in panels und forms?? sehr untrivial :)
 

diggaa1984

Top Contributor
hm also dieser gui-builder diskussion bleib ich mal fern :D .. zumal ich auch mit eclipse arbeite. Solange du für dein Panel ne eigene Klasse hast, sollte das imho auch möglich sein dieses einfach irgendwo zu adden.
 

Michael...

Top Contributor
- die Aufrufe von validate() brauchst Du hier nicht, da Du nichts am Layout änderst
- ich habe keine Ahnung was eine Form ist????
 

sohell

Mitglied
- die Aufrufe von validate() brauchst Du hier nicht, da Du nichts am Layout änderst
- ich habe keine Ahnung was eine Form ist????

eine Form soll das Fenster sein. das ist eine Klasse welche ein Fenster abbildet. panels hingegen ist eine unterform von container und diese kann man nicht durch setVisible anzeigen lassen.

ich bin dem ziel nahe. und werd nochmal durch ein codebeispiel mein ziel verdeutlichen. es passiert hier bei dem code nicht das gewünschte: nämlich das ein panel zur laufzeit erzeugt wird (welche als Klasse in dem projekt / package importiert ist).
dann soll dieses Panel der angezeigten Form / Fenster hinzugefügt werden.
dieses Panel hat mehere Elemente (buttons/und labels)

Code:
public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
    }


    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("jButton2");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jLabel1.setText("jLabel1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(124, 124, 124)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)))
                .addContainerGap(124, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(93, 93, 93)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton2)
                    .addComponent(jButton1))
                .addContainerGap(159, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        jLabel1.setText("button1");
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        jLabel1.setText("button2");
        // [B]hier kommt der entscheidende augenblick!![/B]
        // [COLOR="Red"](3) ich möchte dem frame / Fenster "JF" die componente Panel "jP" hinzufügen[/COLOR]
        
        JF.add(jP, 0); 
        validate();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                // [COLOR="#ff0000"](2) die form wird zur laufzeit angezeigt mit setVisible [/COLOR]
                JF.setVisible(true);
            }
        });
    }

    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;

    //[COLOR="#ff0000"] (1) die jForm / Fenster und jPanel habe ich global deklariert[/COLOR]
    static NewJFrame JF = new NewJFrame();
    static NewJPanel jP = new NewJPanel();
}
 

Michael...

Top Contributor
Bin mir immer noch nicht sicher, ob ich Dich richtig verstanden habe.
Hier mal ein Bsp zum Ersetzen (Zeile 14-16) von Komponenten:
Java:
import java.awt.*;
import java.awt.event.*;
import java.util.Random;

import javax.swing.*;

public class LayoutChangeDemo extends JPanel {
	private JPanel panel;
	public LayoutChangeDemo() {
		this.setLayout(new BorderLayout());
		JButton button = new JButton("Wenn was passieren soll: Hier drücken!!");
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				remove(panel);
				add(panel = new RandomPanel(), BorderLayout.CENTER);
				validate();
			}
		});
		this.add(panel = new RandomPanel(), BorderLayout.CENTER);
		this.add(button, BorderLayout.SOUTH);
	}

	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(0, 0, 500, 300);
		frame.setLocationRelativeTo(null);
		frame.getContentPane().add(new LayoutChangeDemo(), BorderLayout.CENTER);
		frame.setVisible(true);
	}
}

class RandomPanel extends JPanel {
	private static Random rnd = new Random();
	private JComponent[] comp = new JComponent[] {new JLabel("Hallo", JLabel.CENTER), new JButton("Drück mich und nichts passiert"), new JComboBox(new Object[] {"nix passiert 1", "nix passiert 2", "nix passiert 3"})};
	private String[] text = new String[] {"Blub", "Blob", "?????????"};
	
	public RandomPanel() {
		this.setLayout(new BorderLayout());
		this.setBackground(new Color(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)));
		this.add(comp[rnd.nextInt(3)], BorderLayout.NORTH);
		this.add(new JLabel(text[rnd.nextInt(3)], JLabel.CENTER), BorderLayout.CENTER);
	}
}
 

diggaa1984

Top Contributor
und dann komm ich wieder und sage .. erzeuge einfach von jedem panel was du jemals anzeigen magst eine instanz bereits in "initComponents" und lass sie dann einfach im Listener und poer CardLayout anzeigen. Das erspart dir removes und validates und sowas alles :D
 

Michael...

Top Contributor
und dann würde ich sagen: Hast Recht!:D
War ja nur ein Bsp für nachträgliches rumpfuschen im Layout einer Komponente
 

Michael...

Top Contributor
hab hier eine präsentation erstellt! hoffe es versteht jeder jetzt!
Ich nicht! Mir ist folgendes aufgefallen (Bild 5)
Java:
remove(jP);
add(jP, BorderLayout.CENTER);
wieso entfernst Du die Komponente, um sie dann wieder einzufügen?????

Kannst Du nicht mal ein KSKB posten?
 

diggaa1984

Top Contributor
den link hab ich verstanden und nun der tipp .. das was initial aufm Frame liegt, einfach in eine klasse "startPanel" oder so legen, cardLayout aufs JFrame. dieses startPanel initial anzeigen lassen und fertig der Salat :D das JFrame lässt im designer einfach leer, regelst alles per code
 

sohell

Mitglied
Projekt liegt hier

Main.java:

Code:
package javaapplication1;

public class Main {

    public static void main(String[] args) {


            new NewJFrame().setVisible(true);
                NewJFrame JF = new NewJFrame();
                NewJPanel jp = new NewJPanel();

    }

}

NewJFrame.java:

Code:
package javaapplication1;

import java.awt.BorderLayout;
import javax.swing.JButton;

public class NewJFrame extends javax.swing.JFrame {

    public NewJFrame() {
        initComponents();
    }

    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("jButton2");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jLabel1.setText("jLabel1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(124, 124, 124)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton1)))
                .addContainerGap(124, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(93, 93, 93)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton2)
                    .addComponent(jButton1))
                .addContainerGap(159, Short.MAX_VALUE))
        );

        pack();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        jLabel1.setText("button1");
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        jLabel1.setText("button2");
        JFrame.add(JPanel, BorderLayout.WEST);
        validate();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                JFrame.setVisible(true);
            }
        });
    }

    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;

    static NewJFrame JFrame = new NewJFrame();
    static NewJPanel JPanel = new NewJPanel();
}

NewJPanel.java:

Code:
package javaapplication1;


public class NewJPanel extends javax.swing.JPanel {

    /** Creates new form NewJPanel */
    public NewJPanel() {
        initComponents();
    }


    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        jLabel1.setText("jLabel1");

        jButton1.setText("jButton1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(33, 33, 33)
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jButton1)
                .addContainerGap(242, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(58, 58, 58)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(jButton1))
                .addContainerGap(219, Short.MAX_VALUE))
        );
    }

    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;

}
 

sohell

Mitglied
wieso entfernst Du die Komponente, um sie dann wieder einzufügen?????

weil du selber das hier geschrieben hast ich habs mal angepasst.
Java:
button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				remove(panel);
				add(panel = new RandomPanel(), BorderLayout.CENTER);
				validate();
			} }); }
 

Michael...

Top Contributor
weil du selber das hier geschrieben hast ich habs mal angepasst.
Java:
button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				remove(panel);
				add(panel = new RandomPanel(), BorderLayout.CENTER);
				validate();
			} }); }
Bei mir ist aber panel in Zeile 3 ein ganz anderes Objekt als panel in Zeile 4
Ein bisschen anders geschrieben ist's vielleicht besser erkennbar:
Java:
button.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent evt) {
		remove(panel);
		panel = new RandomPanel();
		add(panel, BorderLayout.CENTER);
		validate();
	}
 });
Auch wenn ich noch nicht ganz weiß, was Du vorhast, bin ich mir ziemlich sicher, dass es in Deinem Fall auch das CardLayout tun würde.
 

diggaa1984

Top Contributor
so, ohne mal das design zu beurteilen (anweisungen für wechsel des contents):
Java:
public class Main {

	public static void main(String[] args) {
		new NewJFrame().setVisible(true);
	}
}
Java:
import java.awt.BorderLayout;
import javax.swing.JButton;

public class NewJFrame extends javax.swing.JFrame {

	private java.awt.CardLayout cl;
	
	public NewJFrame() {
		super();
		cl = new java.awt.CardLayout();
	    
		initComponents();
	}

	private void initComponents() {
		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setLayout(cl);
	    
		add(new StartPanel(this),"start");
		add(new NewJPanel(),"newJPanel");
	    
		switchContent("start");
		pack();
	}
    
	public void switchContent(String ident) {
		cl.show(getContentPane(),ident);
	}
}
Java:
public class NewJPanel extends javax.swing.JPanel {
	
	/** Creates new form NewJPanel */
	public NewJPanel() {
		super();
		initComponents();
	}


	private void initComponents() {
		jLabel1 = new javax.swing.JLabel();
		jButton1 = new javax.swing.JButton();

		jLabel1.setText("jLabel1");
		jButton1.setText("jButton1");

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
		this.setLayout(layout);
		layout.setHorizontalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup()
				.addGap(33, 33, 33)
				.addComponent(jLabel1)
				.addGap(18, 18, 18)
				.addComponent(jButton1)
				.addContainerGap(242, Short.MAX_VALUE))
	);
        
		layout.setVerticalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup()
				.addGap(58, 58, 58)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jLabel1)
				.addComponent(jButton1))
				.addContainerGap(219, Short.MAX_VALUE))
		);
	}

	private javax.swing.JButton jButton1;
	private javax.swing.JLabel jLabel1;
}
Java:
public class StartPanel extends javax.swing.JPanel {
	
	private javax.swing.JButton jButton1;
	private javax.swing.JButton jButton2;
	private javax.swing.JLabel jLabel1;
	
	private NewJFrame parent;
	
	public StartPanel(NewJFrame parent) {
		super();
		this.parent = parent;
		initComponents();
	}
	
	
	private void initComponents() {
		jButton1 = new javax.swing.JButton();
		jButton2 = new javax.swing.JButton();
		jLabel1 = new javax.swing.JLabel();
		
		jButton1.setText("jButton1");
		jButton1.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jButton1ActionPerformed(evt);
			}
		});

		jButton2.setText("jButton2");
		jButton2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jButton2ActionPerformed(evt);
			}
		});

		jLabel1.setText("jLabel1");
		
	        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
		setLayout(layout);
		layout.setHorizontalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup()
				.addGap(124, 124, 124)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup()
				.addGap(114, 114, 114)
				.addComponent(jLabel1))
				.addGroup(layout.createSequentialGroup()
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
				.addComponent(jButton2)
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
				.addComponent(jButton1)))
				.addContainerGap(124, Short.MAX_VALUE))
		);
        
		layout.setVerticalGroup(
			layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			.addGroup(layout.createSequentialGroup()
				.addGap(93, 93, 93)
				.addComponent(jLabel1)
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jButton2)
				.addComponent(jButton1))
				.addContainerGap(159, Short.MAX_VALUE))
		);
	}
	
	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
		jLabel1.setText("button1");
	}

	private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
		jLabel1.setText("button2");
		parent.switchContent("newJPanel");
	}
}
 
Zuletzt bearbeitet:

sohell

Mitglied
gold digger du bist echt ein goldgräber! :D
danke dir vielmals mit deinen zeigern und dem cordLayout hat es wunderbar geklappt.

Ein Lob an dich. Und eine ganz ganz große kritik an all die GUI devoloper von Eclipse. Nein ich suche hier keinen Sündenbock obwohl ich mich hätte besser mit der programmierung beschäftigen müssen. Aber ich hab in einem Projekt schon mal C# programmiert. Hab ein großes Warenwirtschaftssystem erstellt und hab dabei Visual Studio .Net 2005 als IDE benutzt. und da war es nicht so ein problem mit diesen Panels. :noe:

Heutzutage sollte man sich mehr um die Logik kümmern als um diese Designer geschichten und so. Schließlich muss jede (mittelgroße) Anwendung aus Platzgründen solche Aufteilung mit Panels vornehmen. Man kann ja schließlich nicht alle Components in ein Fenster knallen!

Ich bleib bei Netbeans IDE und werde später einfach den code importieren, um leider mit einem (nur in Eclipse zur Verfügung stehenden Plugin) weiterzuarbeiten..... da kommt noch was auf mich zu. Also Prozessmodellierung und so. Kennt sich einer damit aus bzw kann einer ein gutes Forum empfehlen? Wäre ja zufall wenn!

Datei liegt hier falls es in Netbeans importiert wird, kann man die panels dort auch bearbeiten! Dank an Golddigger der mich zum Ziel geführt hat!
 
Zuletzt bearbeitet:

sohell

Mitglied
ja seit heute morgen bin ich auf netbeans umgestiegen. hab seit montag bis gestern mit eclipse herumprobiert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX JavaFX Import Fehler AWT, Swing, JavaFX & SWT 4
Z Swing JOptionPane import AWT, Swing, JavaFX & SWT 5
M error: package javafx.scene.web is not visible import javafx.scene.web.*; AWT, Swing, JavaFX & SWT 16
J import javafx.fxml* bei JavaFX 13 geht nicht mehr AWT, Swing, JavaFX & SWT 7
H import javafx. Anweisungen funktioniert nicht AWT, Swing, JavaFX & SWT 2
K Eclipse-Java Export/Import mit Oberfläche AWT, Swing, JavaFX & SWT 2
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
T The import javax.vecmath cannot be resolved AWT, Swing, JavaFX & SWT 2
B SWT Hello World-Anwendung mit GUI in Eclipse -Problem mit Import von SWT AWT, Swing, JavaFX & SWT 9
A Problem beim Import! AWT, Swing, JavaFX & SWT 2
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
L Kommunikation zwischen Klassen / Konstruktoren bei Swing AWT, Swing, JavaFX & SWT 9
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Ø Swing Button in anderer Klassen ausführen AWT, Swing, JavaFX & SWT 6
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
R JavaFX Java FXML Vererbung in Klassen AWT, Swing, JavaFX & SWT 9
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
D Zwei getrennte Java Klassen verbinden. Wie ? AWT, Swing, JavaFX & SWT 2
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
Soloeco Swing JTextField auslesen Klassen übergreifend AWT, Swing, JavaFX & SWT 16
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7
B Pong Projekt mit LWJGL Klassen exportieren AWT, Swing, JavaFX & SWT 14
M Swing Vorgehen beim Aufruf der Klassen/Methoden AWT, Swing, JavaFX & SWT 7
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0
D JavaFX @FXML Annotation mit Klassen und Instanzen verbinden? AWT, Swing, JavaFX & SWT 5
S Grafik in einer Klassen einfügen/hinzufügen AWT, Swing, JavaFX & SWT 1
M Swing MVC mit mehreren Klassen AWT, Swing, JavaFX & SWT 2
C Thread in Klassen starten AWT, Swing, JavaFX & SWT 4
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
M Innere Klassen, ZugriffsProbleme AWT, Swing, JavaFX & SWT 4
V kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ? AWT, Swing, JavaFX & SWT 5
A Swing Zwei Klassen mit Textfeld Eingaben vergleichen und Ausgabe erzeugen AWT, Swing, JavaFX & SWT 10
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
Z Swing Von vielen Klassen auf ein GUI-Element zugreifen AWT, Swing, JavaFX & SWT 10
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
C In Hauptfenster Programm-Klassen implementieren AWT, Swing, JavaFX & SWT 9
P Actionlistener - 3 klassen - kompliziert - auf methoden zugreifen AWT, Swing, JavaFX & SWT 3
B 2 Klassen Kommunikation AWT, Swing, JavaFX & SWT 4
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
E Swing auf klassen zugreifen AWT, Swing, JavaFX & SWT 2
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
H Verschiedene JPanels aus eigenen Klassen in JFrame einfügen, nur ein Panel sichtbar AWT, Swing, JavaFX & SWT 4
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
3 JFrame in Klassen aufrufen AWT, Swing, JavaFX & SWT 2
P Swing Beziehungen zwischen 3 Klassen AWT, Swing, JavaFX & SWT 4
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6
L innere klassen AWT, Swing, JavaFX & SWT 3
lumo SWT Table und Klassen AWT, Swing, JavaFX & SWT 14
B abstrakte klassen / anonyme klassen AWT, Swing, JavaFX & SWT 4
B Swing Passendes Layout finden: Welche Klassen muss ich wie anwenden? AWT, Swing, JavaFX & SWT 8
H Swing Prog in mehrere Klassen zerlegen AWT, Swing, JavaFX & SWT 13
G Variblenwert zwischen zwei Klassen übergeben AWT, Swing, JavaFX & SWT 3
G Prinzipelles zum Umgang von Klassen untereinander AWT, Swing, JavaFX & SWT 4
M JTree und TreeModel mit 2 Klassen AWT, Swing, JavaFX & SWT 3
T Kommunikation zwischen Zwei GUI-Klassen AWT, Swing, JavaFX & SWT 2
J Unterschied zwischen nicht-statischen und statischen Klassen AWT, Swing, JavaFX & SWT 5
H jar-archive mit mehreren Klassen erstellen AWT, Swing, JavaFX & SWT 3
G Grafik auf mehrere Methoden/Klassen zerlegen AWT, Swing, JavaFX & SWT 2
D Event Klassen AWT, Swing, JavaFX & SWT 2
A JTextArea-Problem in Inneren Klassen und Packages AWT, Swing, JavaFX & SWT 3
G Klassen übergreifen AWT, Swing, JavaFX & SWT 4
G ActionListener und Methoden-Aufruf aus anderen Klassen AWT, Swing, JavaFX & SWT 3
G Prob mit 2 Klassen und set Methode AWT, Swing, JavaFX & SWT 6
G externe klassen auf gui objekte zugreifen lassen AWT, Swing, JavaFX & SWT 11
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
raeuchertofu Input bei zwei jTextfields AWT, Swing, JavaFX & SWT 5
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
U Zwei Fragen zu eienr Swing Aufgabe AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
P Zwei JTables auf eine A4-Seite mit einstellbaren Rändern AWT, Swing, JavaFX & SWT 9
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
M Kommunikation zwischen zwei Stages AWT, Swing, JavaFX & SWT 0
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
T Java: Zwei abhängige JSlider machen nicht das, was sie sollen AWT, Swing, JavaFX & SWT 4
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Kombination von zwei Frames AWT, Swing, JavaFX & SWT 16
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
D Swing Kommunikation zwischen zwei GUI's AWT, Swing, JavaFX & SWT 2
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
T CSS Rechtsbüdniges Label mit Zwei Zeilen AWT, Swing, JavaFX & SWT 7
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
V JavaFX Zwei Dinge in einer CellFactory erledigen AWT, Swing, JavaFX & SWT 8
B Vertikale Größenänderung zwischen zwei Widgets AWT, Swing, JavaFX & SWT 2
J zwei Paint methoden in einer Klasse AWT, Swing, JavaFX & SWT 3
C Zwei Ebenen in Graphics ? AWT, Swing, JavaFX & SWT 0
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben