Allgemeine Frage zur Methodik & ein paar spezielle Probl

Status
Nicht offen für weitere Antworten.

major7

Mitglied
Hallo,

Ich habe ein Problemchen mit meinem Programm... Ich möchte gerne dass auf Knopfdruck eine Funktion der Hauptklasse aufgerufen wird (um einen anderen Inhalt anzuzeigen), weiss aber nicht wie ich es anstellen soll. Es gibt keine Instanz der Hauptklasse, die ich im Listener ansprechen könnte.

Anbei alle 3 Klassen...

Code:
import javax.swing.*;
import java.awt.*;
 
/**
 * 
 * @author seb-zero
 *
 * This is the main Program Class
 */
public class CdMan{
/*********************************************************************************/	
	
	private static CustomButton button1;
	private static CustomButton button2;
	private static JLabel buttonHeadLabel;
	
/**
 * this function sets up the button bar, which is constant throughout whole usage
 * of the program.
 */
	private static JPanel showButtonBar()
	{
		button1=new CustomButton("add disc","moo");
		button2=new CustomButton("search", "find discs for editing, viewing, deleting");

		buttonHeadLabel = new JLabel("<HTML>pick action

</HTML>", JLabel.LEFT);
		buttonHeadLabel.setPreferredSize(new Dimension(90,45));
		
		
		// create the button container
		buttonPane=new JPanel();
		buttonPane.setBackground(Color.white);
		buttonPane.setPreferredSize(new Dimension(100,480));
		buttonPane.setLayout(new FlowLayout());

		//add the buttons
		buttonPane.add(buttonHeadLabel);
		buttonPane.add(button1);
		buttonPane.add(button2);
		
		return buttonPane;
	}
	
/*********************************************************************************/	

	private static JFrame mainWindow;
	private static Container mainPane;
	private static JPanel contentPusher;
	private static GridBagConstraints c;
	private static JPanel buttonPane;
	private static JPanel ContentPanel;
/**
 * this function sets up the basic framework of the GUI
 */	
	private static void showGUI()
	{
		mainWindow = new JFrame("SebZero's DiscManager");
		mainPane = mainWindow.getContentPane();
		contentPusher = new JPanel();
		contentPusher.setPreferredSize(new Dimension(750,480));
		contentPusher.setLayout(new GridBagLayout());
		c = new GridBagConstraints();
		
		// Menu area
		c.gridx=0;
		c.gridy=0;
		c.weightx=0;
		contentPusher.add(showButtonBar(),c);
		
		//content Area
		ContentPanel=new JPanel();
		ContentPanel.setBackground(Color.blue);
		c.gridwidth=1;
		c.gridheight=1;
		c.gridx=1;
		c.gridy=0;
		c.weightx=1.0;
		contentPusher.add(ContentPanel,c);
		
		mainPane.add(contentPusher);
		mainWindow.pack();
		mainWindow.setVisible(true);
	}
/*********************************************************************************/
	private static void newDisc()
	{
		 System.out.println("new disc is created");
	
	}
/*********************************************************************************/	
/**
 * Run threadsafe later...
 */
	public static void main(String[] Args)
	{
		showGUI();
	}
/*********************************************************************************/
}

Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @author seb-zero
 *
 * ActionListener
 */
public class MyAL implements ActionListener {

	public void actionPerformed(ActionEvent e) {
		
		System.out.println(e.getSource());
		
		//diese Abfrage funktioniert anscheinend nicht...
		//wie bekomme ich denn den namen des eventverursachenden
		//objekts uebermittelt?
		if (e.getSource()=="button1")
		{
			System.out.println("b1");

			//hier soll eine Methode der Hauptklasse aufgerufen werden.
			//wie soll ich das anstellen, es gibt ja keine instanz
			//von cdman?!?!
			
		}
	}

}

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



public class CustomButton extends JButton {
	
	public CustomButton(String labelValue, String toolTipValue){
	
		this.setPreferredSize(new Dimension(90,25)); 
        this.setFont(new Font("Verdana", Font.PLAIN, 10)); 
        this.createToolTip(); 
        this.setToolTipText(toolTipValue); 
        this.setText(labelValue);
        this.addActionListener(new MyAL());
    }
}

kann jemand mir verraten wie man das Javatechnisch sauber regelt?
 
B

bygones

Gast
einfachste Lösung: keine eigene ActionListener Klasse.... schreibe ihn der cdman für den Button einen Anonyme ActionListener Klasse oder lasse die cdman Klasse ActionListener implementieren.....

oder du übergibst dem ActionListener einfach die Instanz der cdman Klasse beim erstellen
 

major7

Mitglied
das problem ist, dass es keine instanz der cdman-klasse gibt, gibt auch keinen konstruktor...
Folglich kann ich auch keine objekt-methode aufrufen. ich dachte daher daran eine klassenmethode aufzurufen, oder ist sowas eher unsauber? dann würde ich den ganzen schmarrn umschreiben...

der ganze aufbau mit static-funktionen scheint mir etwas unübersichtlich....
 
B

bygones

Gast
major7 hat gesagt.:
der ganze aufbau mit static-funktionen scheint mir etwas unübersichtlich....
jepp - mach da lieber kein static rein....
eine Klasse hat immer einen Default Konstruktor, d.h. man kann immer new Klasse() schreiben, solange man keinen eigenen definiert....

wenn du den ActionListener in einer anderen Klasse haben willst musst du dann beim erzeugen des Listeners in der cdmain Klasse this mitübergeben... dann kennt der listener die mainklasse
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Java - Allgemeine - Frage AWT, Swing, JavaFX & SWT 14
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 10
thor_norsk Allgemeine Frage AWT, Swing, JavaFX & SWT 9
H Allgemeine Frage zu Grafikfähigkeiten von Java AWT, Swing, JavaFX & SWT 24
Kr0e Allgemeine Frage zu Java2D (Eigene Impl.) AWT, Swing, JavaFX & SWT 18
E Swing Allgemeine Frage zur Struktierung und Umsetzung AWT, Swing, JavaFX & SWT 2
S Allgemeine Frage zur Unterbringung von allgemeinen Daten einer Applikation AWT, Swing, JavaFX & SWT 2
F Allgemeine Frage über Fenster in Anwendungen AWT, Swing, JavaFX & SWT 2
B Allgemeine Frage zu Look&Feel AWT, Swing, JavaFX & SWT 2
T Allgemeine Frage - innovatives GUI Design AWT, Swing, JavaFX & SWT 6
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
thor_norsk Allgemeine Fragen AWT, Swing, JavaFX & SWT 6
thor_norsk Allgemeine Fragen AWT, Swing, JavaFX & SWT 4
Lukas2904 LookAndFeel Wie ändere ich das allgemeine Disigne des Fensters? AWT, Swing, JavaFX & SWT 4
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
T JavaFX Allgemeine Fragen zu JavaFX (uA zu Properties) AWT, Swing, JavaFX & SWT 6
K Allgemeine Technik bei Bildverdunklung in Spielen AWT, Swing, JavaFX & SWT 6
J Allgemeine Designfrage ! AWT, Swing, JavaFX & SWT 3
E Frage zum Schieberegler JSlider AWT, Swing, JavaFX & SWT 5
M Frage zu Java Bundesligaverwaltung AWT, Swing, JavaFX & SWT 7
E Frage zum Textfeld AWT, Swing, JavaFX & SWT 8
H Swing JMenu aufgeklappt oder nicht - Wie frage ich das ab? AWT, Swing, JavaFX & SWT 5
pkm Frage wegen java.lang.IllegalStateException bei DocumentListener AWT, Swing, JavaFX & SWT 4
D Frage zu ActionListenern und AvtionEvents AWT, Swing, JavaFX & SWT 2
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
F JavaFX Frage zum Logging AWT, Swing, JavaFX & SWT 6
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
ralfb1105 Swing Frage zu SwingWorker Verhalten bei cancel() AWT, Swing, JavaFX & SWT 2
J Frage zu setuserdata AWT, Swing, JavaFX & SWT 1
N Frage zu ListView AWT, Swing, JavaFX & SWT 11
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
T Frage zu GUI - Button soll Objekt erfassen AWT, Swing, JavaFX & SWT 2
J Event Handling Frage zu der Funktion addActionListener AWT, Swing, JavaFX & SWT 2
J Frage zur objektorentierten Swing Programmierung AWT, Swing, JavaFX & SWT 10
T JavaFX Frage zum FX-Loader AWT, Swing, JavaFX & SWT 3
B drawRect Frage und Aufgabenstellung AWT, Swing, JavaFX & SWT 10
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
S Frage zu java.awt.EventQueue AWT, Swing, JavaFX & SWT 1
J Frage zu Java Projekt [2D Game] AWT, Swing, JavaFX & SWT 3
M Swing Grundlegende Frage zu SWING mit WindowBuilder AWT, Swing, JavaFX & SWT 11
M Frage zum Loggen von Fehlern AWT, Swing, JavaFX & SWT 3
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
M Thread-Frage in SWT AWT, Swing, JavaFX & SWT 1
Q Cursor Frage AWT, Swing, JavaFX & SWT 8
W JavaFX TableView frage AWT, Swing, JavaFX & SWT 5
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
I Grundsätzliche Frage zu ItemListener AWT, Swing, JavaFX & SWT 11
X Kurze Frage zu JPopup AWT, Swing, JavaFX & SWT 3
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
D Frage zu JFrame und Graphics AWT, Swing, JavaFX & SWT 4
J Swing Frage zur Vorgehensweise (JTable?, JLabels?) AWT, Swing, JavaFX & SWT 8
S Frage zu Jtable / CellEditor AWT, Swing, JavaFX & SWT 1
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
N Swing JTable anfänger frage AWT, Swing, JavaFX & SWT 2
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
V 2D-Grafik Frage zum Graphics Objekt AWT, Swing, JavaFX & SWT 2
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
G noch eine Frage zum EventDispachThread AWT, Swing, JavaFX & SWT 4
D MVC Frage AWT, Swing, JavaFX & SWT 6
Z Flackern trotz Offscreen Image / Doublebuffer, (+ Frage zu Pixelvergleich) AWT, Swing, JavaFX & SWT 25
GianaSisters 2D-Grafik BufferedImage.getSubimage - Frage AWT, Swing, JavaFX & SWT 7
M Frage zu KeyListener bzgl. JApplet AWT, Swing, JavaFX & SWT 3
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Frage AWT, Swing, JavaFX & SWT 5
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
Luk10 Frage zu Farb-Komposition AWT, Swing, JavaFX & SWT 9
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
V SWT Import Wizard - frage zur WizardPage AWT, Swing, JavaFX & SWT 5
N Swing Frage JXMapviewer AWT, Swing, JavaFX & SWT 4
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
lumo SWT Zeichnen bescheunigen bzw eine allg. Frage AWT, Swing, JavaFX & SWT 8
H Frage zu übergebenem Vector bzw. Boolean AWT, Swing, JavaFX & SWT 3
C 2D-Grafik BufferedImage laden, Frage zum Code AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
H Frage zu WindowBuilder Pro AWT, Swing, JavaFX & SWT 3
C Frage/Problem mit Jpanel AWT, Swing, JavaFX & SWT 4
S Frage zu TextArea AWT, Swing, JavaFX & SWT 2
GUI-Programmer Zeichnen in Swing - Frage AWT, Swing, JavaFX & SWT 6
Luk10 Frage zu Mouseevents AWT, Swing, JavaFX & SWT 7
J Refreshing Swing Frage AWT, Swing, JavaFX & SWT 10
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
A Frage zu StringBuilder AWT, Swing, JavaFX & SWT 2
S allg. Frage zur GUI-Architektur AWT, Swing, JavaFX & SWT 5
A Frage zu JDialog AWT, Swing, JavaFX & SWT 3
A Frage zur Methode matches() AWT, Swing, JavaFX & SWT 2
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
Jats Frage zu JLabel & JTextField AWT, Swing, JavaFX & SWT 4
Y frage zu BufferedImage AWT, Swing, JavaFX & SWT 7
hdi Swing Frage zu invokeAndWait() Exceptions AWT, Swing, JavaFX & SWT 8
P Swing Frage zu paintComponent/getGraphics AWT, Swing, JavaFX & SWT 4
M Frage nach Swing Element AWT, Swing, JavaFX & SWT 3
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
T AWT Frage zu AWT AWT, Swing, JavaFX & SWT 5
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
F unspezifizierte Frage zu JTable/ Model AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben