GUI-Steuerung

Status
Nicht offen für weitere Antworten.

momentum

Neues Mitglied
Hallo,

ich hätte eine allgemeine Frage zur Maskensteuerung in JAVA:

Und zwar habe ich hierfür mit Hilfe des Visual Editors eine Klasse erstellt, die mir eine Swing-GUI generiert:

Java:
package test;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import javax.swing.JToolBar;
import javax.swing.JList;
import java.awt.GridBagConstraints;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTable;
import javax.swing.JTextPane;
import javax.swing.JTree;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

import java.awt.GridLayout;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JScrollBar;
import java.awt.Font;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.sql.ResultSet;
import java.awt.Point;


public class Test {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="192,45"
	private JPanel jContentPane = null;
	private JButton jButton = null;
	private JList jList = null;
	private JLabel jLabel1 = null;
	private JScrollPane jScrollPane = null;
	private JButton jButton1 = null;
	private JButton jButton11 = null;
	private JPanel jPanel = null;
	/**
	 * This method initializes jFrame	
	 * 	
	 * @return javax.swing.JFrame	
	 */
	public JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setSize(new Dimension(829, 485));
			jFrame.setTitle("Test");
			jFrame.setVisible(true);
			jFrame.setContentPane(getJContentPane());
		}
		return jFrame;
	}

	/**
	 * This method initializes jContentPane	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	public JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(165, 30, 466, 31));
			jLabel1.setFont(new Font("Tahoma", Font.BOLD, 11));
			jLabel1.setText("         Bitte auswählen:");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.setBackground(Color.lightGray);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJList(), null);
			jContentPane.add(jLabel1, null);
			jContentPane.add(getJScrollPane(), null);
			jContentPane.add(getJPanel(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	public JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("Bearbeiten");
			jButton.setEnabled(false);
			jButton.setBounds(new Rectangle(662, 145, 107, 23));
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
		
					
				}
			});
		}
		return jButton;
	}

	/**
	 * This method initializes jList	
	 * 	
	 * @return javax.swing.JList	
	 */
	public JList getJList() {
		if (jList == null) {
		
			jList = new JList();
			
			jList.addMouseListener(new java.awt.event.MouseListener() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
					jButton.setEnabled(true);
					
				}
				public void mousePressed(java.awt.event.MouseEvent e) {
				}
				public void mouseReleased(java.awt.event.MouseEvent e) {
				}
				public void mouseEntered(java.awt.event.MouseEvent e) {
				}
				public void mouseExited(java.awt.event.MouseEvent e) {
				}
			});
			//jList.setVisibleRowCount(-1);

		}
		return jList;
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane(jList);
			
			jScrollPane.setBounds(new Rectangle(163, 72, 473, 161));
			
		}
		return jScrollPane;
	}
	
	

	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setText("Suchfunktion");
			jButton1.setPreferredSize(new Dimension(135, 23));
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformedSuchfunktionAufrufen()"); // TODO Auto-generated Event stub actionPerformed()
					jFrame.dispose();
					
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jButton11	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton11() {
		if (jButton11 == null) {
			jButton11 = new JButton();
			jButton11.setText("Bearbeitunsübersicht");
		}
		return jButton11;
	}

	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
			gridBagConstraints1.gridx = 1;
			gridBagConstraints1.gridy = 0;
			GridBagConstraints gridBagConstraints = new GridBagConstraints();
			gridBagConstraints.gridx = 0;
			gridBagConstraints.gridy = 0;
			jPanel = new JPanel();
			jPanel.setLayout(new GridBagLayout());
			jPanel.setBounds(new Rectangle(204, 383, 394, 44));
			jPanel.add(getJButton1(), gridBagConstraints);
			jPanel.add(getJButton11(), gridBagConstraints1);
		}
		return jPanel;
	}

}  //  @jve:decl-index=0:visual-constraint="14,253"


Die main-methode sieht so aus:

Java:
package test;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import javax.swing.JFrame;


public class JMain  {
	
	public static void main(String[] args) throws FileNotFoundException, IOException, SQLException{
			
		Auswahlmaske ausw = new Auswahlmaske();	
	        JFrame frameAuswahl = ausw.getJFrame();
	}
}


In der Methode getJButton1() der Klasse Test befindet sich ein Listener. Wenn der Button "jButton1" gedrückt wird, soll die Maske geschlossen werden.

Beim debuggen läuft dann zuerst die main-Methode durch und die Maske läuft dann im Nebenthread.
Wie komme ich dann aber wieder zur main-Methode zurück, damit ich die nächste Maske aufrufen kann oder muss ich diese immer aus der Maske aufrufen, in der ich mich zuletzt befunden habe?
 

KrokoDiehl

Top Contributor
Welche nächste Maske denn? Du hast einen JFrame, das ist dein Hauptfenster. Was dein
Code:
getButton1()
macht ist diesen Frame zu löschen (via
Code:
dispose()
).
Schließen würde man eher via
Code:
setVisible(false)
machen, oder wenn du dein Programm damit beenden willst,
Code:
System.exit(0)
.
Aber mal was anderes dazu:
[JAVA=56]
jFrame.setVisible(true);
jFrame.setContentPane(getJContentPane());
[/code]
...das wurde dir auch generiert?
 

momentum

Neues Mitglied
Ja stimmt, hab ich ganz vergessen,

Java:
jFrame.setVisible(true);

habe ich nachträglich noch eingefügt, bei

Java:
jFrame.setContentPane(getJContentPane());

bin ich mir ehrlich gesagt nicht mehr sicher, ob ich dies selber erstellt habe.

Ja, ich wollte den JFrame der Klasse "Test" löschen, und dann einen neuen JFrame der Klasse "Suche" erstellen (noch nicht im Quellcode enthalten). Und hier wollte ich eben allgemein wissen, an welcher Stelle (main-Methode oder in Klasse "Test") ich den neuen JFrame erstellen soll?
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben