actionlistener

Status
Nicht offen für weitere Antworten.

stetabar

Bekanntes Mitglied
wie bekomme ich es hin, dass ich, wenn ich einen button drücke eine andere klasse aufgerufen wird und die erzeugten daten bekomme?

beispiel:

in "a.class " ist ein button mit dem die "b.class" geöffnet werden soll.
"b.class" erzeugt einen string "variable", der an "a.class" übergeben wird.
und in "a.class" kann ich diesen jetzt ausgeben.

direkt noch die frage, ob es bei applets besonderheiten hierzu gibt?

danke
 

Sky

Top Contributor
Ich hoffe, ich habe es richtig verstanden:

Code von a:
Code:
class A {

private void meineMethode() {
  B theB = new B();
  String s = theB.doItNow();
}

}

Code von b:
Code:
class B {
// ...
public String doItNow() {
  return "Das_ist_mein_String";
}
// ...
}

Zu Applets gibt es in dem Kontext keine Besonderheiten. Was Du wissen mußt, dass Applets von Applet bzw. JApplet abgeleitet sein müssen und gewissen Sicherheits-Restriktionen.
 

stetabar

Bekanntes Mitglied
ja ich denke das kommt der sache schon sehr nah...

das problem ist, dass ich eine klasse aufrufen möchte, die daten aus einer mysql tabelle holt...
bekomme, wenn ich die methode initDB() aufrufe, aber die fehlermeldung, dass das keine statische methode ist...

verzweifel gerade an den wahrscheinlich einfachsten sachen... ;)
 

stetabar

Bekanntes Mitglied
ach so, als ergänzung.

denke wohl, dass ich die ganze classe durchlaufen lassen muss...
also nich nur auf eine einzelne methode zugreifen...

es müssen ja auch die ganzen variablen initialisiert werden...
oder?
 

Campino

Top Contributor
Von applets kann man nur auf DB's des eigenen Servers zugreifen, außerdem geht nur die JDBC, nicht die JDBC->ODBC Bridge.

Die Fehlermeldung das etwas nicht statisch ist, kommt daher, dass du probierst eine nicht-statische Methode aufzurufen OHNE vorher eine Instanz der Kölasse erzeugt zu haben. Guck dazu mal in die FAQ.
 

stetabar

Bekanntes Mitglied
ich würd hier nich fragen, wenn ich nich in der FAQ schon geguckt habt...

leider bereitet mir das gerade etwas probleme...

also ich hab ne klasse "mysql.class" die super funktioniert.
damit kann ich meine daten auslesen!
aber wie kann ich diese klasse aus meinem applet ausführen und die daten übergeben?
entweder hab ich die falsche methode aufgerufen, oder kann man auch die ganze klasse ausführen lassen?
 

stetabar

Bekanntes Mitglied
also machen wird das noch etwas deutlicher...

meine GUI (Applet):
Code:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class Hintergrund extends JApplet implements ActionListener
{
	//Farben definieren
	Color dunkelblauCOLOR= new Color(16, 0, 127);
	Color mittelblauCOLOR= new Color(205, 217, 239);
	Color hellblauCOLOR= new Color(240, 244, 247);
	Color grauCOLOR= new Color(230, 230, 230);
	Color backCOLOR= new Color(255, 255, 255);
	//Variablem für Anzeige definieren
	String tempAktVar="",preAktVar="",windAktVar="",airAktVar="",lightAktVar="";
	String tempProgVar="",preProgVar="",windProgVar="",airProgVar="",lightProgVar="";
	//Grafiken laden
	Icon prognosis = new ImageIcon("prognosisButton.jpg");
	ImageIcon back = new ImageIcon("BACKGROUND.jpg");
	ImageIcon windroseAkt = new ImageIcon("Nord.gif");
	ImageIcon windroseProg = new ImageIcon("Nord.gif");
	//Button definieren
	JButton prognosisButton = new JButton(prognosis);
	//Textfelder anlegen
	JTextField tempAkt;
	JTextField preAkt;
	JTextField windAkt;
	JTextField airAkt;
	JTextField lightAkt;
	JTextField tempProg;
	JTextField preProg;
	JTextField windProg;
	JTextField airProg;
	JTextField lightProg;
		
	public void paint(Graphics g){
		
		//Eingebundene Grafiken
		super.paintComponents(g);
		back.paintIcon(this,g,0,0);
		prognosis.paintIcon(this,g,600,534);
		windroseAkt.paintIcon(this,g,277,426);
		windroseProg.paintIcon(this,g,682,426);
	
	}
	
	public void init(){
    	
		
		Container hintergrundContainer = getContentPane();
		hintergrundContainer.setBackground(backCOLOR);
		hintergrundContainer.setLayout(null);
		prognosisButton.setBorderPainted(false);
		prognosisButton.addActionListener(this);
		prognosisButton.setBounds(600,534,184,50);
		
		tempAkt = new JTextField(tempAktVar);
		tempAkt.setEditable(false);
		tempAkt.setBackground(backCOLOR);
		tempAkt.setForeground(dunkelblauCOLOR);
		tempAkt.setHorizontalAlignment(JTextField.RIGHT);
		tempAkt.setFont(new Font("Arial",Font.BOLD, 14));
		tempAkt.setBorder(null);
		tempAkt.setBounds(118,337,68,25);
		
		preAkt = new JTextField(preAktVar);
		preAkt.setEditable(false);
		preAkt.setBackground(backCOLOR);
		preAkt.setForeground(dunkelblauCOLOR);
		preAkt.setHorizontalAlignment(JTextField.RIGHT);
		preAkt.setFont(new Font("Arial",Font.BOLD, 14));
		preAkt.setBorder(null);
		preAkt.setBounds(118,392,68,25);
		
		windAkt = new JTextField(windAktVar);
		windAkt.setEditable(false);
		windAkt.setBackground(backCOLOR);
		windAkt.setForeground(dunkelblauCOLOR);
		windAkt.setHorizontalAlignment(JTextField.RIGHT);
		windAkt.setFont(new Font("Arial",Font.BOLD, 14));
		windAkt.setBorder(null);
		windAkt.setBounds(118,447,68,25);
		
		airAkt = new JTextField(airAktVar);
		airAkt.setEditable(false);
		airAkt.setBackground(backCOLOR);
		airAkt.setForeground(dunkelblauCOLOR);
		airAkt.setHorizontalAlignment(JTextField.RIGHT);
		airAkt.setFont(new Font("Arial",Font.BOLD, 14));
		airAkt.setBorder(null);
		airAkt.setBounds(291,337,68,25);
		
		lightAkt = new JTextField(lightAktVar);
		lightAkt.setEditable(false);
		lightAkt.setBackground(backCOLOR);
		lightAkt.setForeground(dunkelblauCOLOR);
		lightAkt.setHorizontalAlignment(JTextField.RIGHT);
		lightAkt.setFont(new Font("Arial",Font.BOLD, 14));
		lightAkt.setBorder(null);
		lightAkt.setBounds(291,392,68,25);
		
		tempProg = new JTextField(tempProgVar);
		tempProg.setEditable(false);
		tempProg.setBackground(backCOLOR);
		tempProg.setForeground(dunkelblauCOLOR);
		tempProg.setHorizontalAlignment(JTextField.RIGHT);
		tempProg.setFont(new Font("Arial",Font.BOLD, 14));
		tempProg.setBorder(null);
		tempProg.setBounds(525,337,68,25);
		
		preProg = new JTextField(preProgVar);
		preProg.setEditable(false);
		preProg.setBackground(backCOLOR);
		preProg.setForeground(dunkelblauCOLOR);
		preProg.setHorizontalAlignment(JTextField.RIGHT);
		preProg.setFont(new Font("Arial",Font.BOLD, 14));
		preProg.setBorder(null);
		preProg.setBounds(525,392,68,25);
		
		windProg = new JTextField(windProgVar);
		windProg.setEditable(false);
		windProg.setBackground(backCOLOR);
		windProg.setForeground(dunkelblauCOLOR);
		windProg.setHorizontalAlignment(JTextField.RIGHT);
		windProg.setFont(new Font("Arial",Font.BOLD, 14));
		windProg.setBorder(null);
		windProg.setBounds(525,447,68,25);
		
		airProg = new JTextField(airProgVar);
		airProg.setEditable(false);
		airProg.setBackground(backCOLOR);
		airProg.setForeground(dunkelblauCOLOR);
		airProg.setHorizontalAlignment(JTextField.RIGHT);
		airProg.setFont(new Font("Arial",Font.BOLD, 14));
		airProg.setBorder(null);
		airProg.setBounds(699,337,68,25);
		
		lightProg = new JTextField(lightProgVar);
		lightProg.setEditable(false);
		lightProg.setBackground(backCOLOR);
		lightProg.setForeground(dunkelblauCOLOR);
		lightProg.setHorizontalAlignment(JTextField.RIGHT);
		lightProg.setFont(new Font("Arial",Font.BOLD, 14));
		lightProg.setBorder(null);
		lightProg.setBounds(699,392,68,25);
		
		hintergrundContainer.add(prognosisButton);
		hintergrundContainer.add(tempAkt);
		hintergrundContainer.add(preAkt);
		hintergrundContainer.add(windAkt);
		hintergrundContainer.add(airAkt);
		hintergrundContainer.add(lightAkt);
		hintergrundContainer.add(tempProg);
		hintergrundContainer.add(preProg);
		hintergrundContainer.add(windProg);
		hintergrundContainer.add(airProg);
		hintergrundContainer.add(lightProg);
    	
    }

	public void actionPerformed(ActionEvent e) {
		
	}
	
}


abei soll ein Timer laufen (zur aktualisierung)
hab dazu ein beispiel gefunden, das alle 10sek die systemzeit ausgibt...
kann es aber nicht mit integrieren

Code:
public class Zeitanzeige implements Runnable {
	public void run() {
		while (true) {
			System.out.println(new java.util.Date());
			try {
				Thread.sleep(10000);
			}
			catch (InterruptedException e) {
				break;
			}
		}
	}
	
	public static void main(String[] args) throws java.io.IOException {
		Zeitanzeige zeit = new Zeitanzeige();
		Thread t = new Thread(zeit);
		t.start();

		System.in.read();	// blockiert bis RETURN
		t.interrupt();
		System.out.println("ENDE");
	}
}

und in einem abstand von 1 min, also '60000', soll die klasse mysql aufgerufen werden.
(wollte das zwar eigentlich erst über den actionlistener machen, aber in einem zeitlichen intervall
gefällt es besser ;))

die klasse mysql sieht so aus:
Code:
import java.sql.*;
import java.net.*;

public class mysql{
  
  private String conn_Output;
  private String dbHost = "XXX"; //nicht das jetzt kommt, damit kann keine verbindung aufgebaut werden...
  private String dbPort = "3306"; //hab nur die zugangsdaten entfernt :D 
  private String dbName = "XXX"; 
  private String user = "XXX"; 
  private String passwd = "XXX"; 
  private Connection conn = null; 
  private Statement statement;
  private String dateFullVar, tempAktVar ,preAktVar, windAktVar, airAktVar, lightAktVar;
  private int directAktVar;
    
public mysql() { 
    //System.out.println("Rufe initDB auf"); 
    initDB();
    datenEinlesen();
    closeDB(); 
}

public void initDB(){

 //treiber laden

 String driver = "com.mysql.jdbc.Driver";

 try 
 	  { 
    	Class.forName(driver).newInstance(); 
    	//System.out.println("Class Loaded.");
 	  } 
 catch (Exception e) 
      { 
         //System.out.println("Class not found."); 
         e.printStackTrace(); 
      }

 //verbindung herstellen

 try 
 { 
    conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName, user, passwd);
    //System.out.println("Connection done.");
 } 
 catch(SQLException sqle) 
 {     
 	conn_Output = "jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName + " " + user + " " + passwd;
    //System.out.println(conn_Output);
 	//System.err.println("Error message: " + sqle.getMessage()); 
 }
}


public void closeDB(){
 
 //verbindung trennen

 if (conn != null) 
 { 
    try 
    { 
        conn.close();
        //System.out.println("Connection closed."); 
    } 
    catch(SQLException sqle) 
    { 
        //System.out.print(sqle.getMessage()); 
    } 
 }

}


public void datenEinlesen(){
	
	
	try{ 
      //System.out.println("Daten einlesen.");
      statement = conn.createStatement(); 
            
      ResultSet rs = statement.executeQuery("SELECT * FROM 4cast ORDER BY ID DESC LIMIT 1");
      while (rs.next()){
      	int idVar = rs.getInt("ID");
      	//System.out.println("ID " + idVar);
      	Date dateVar = rs.getDate("date");
      	//System.out.println("DATE "+dateVar);
        Time timeVar = rs.getTime("time");
      	//System.out.println("TIME "+timeVar);
      	int tempVar = rs.getInt("temp");
      	//System.out.println("TEMP "+tempVar);
      	int preVar = rs.getInt("pre");
      	//System.out.println("PRE "+preVar);
        int windVar = rs.getInt("wind");
      	//System.out.println("WIND "+windVar);
      	int airVar = rs.getInt("air");
      	//System.out.println("AIR "+airVar);
      	int lightVar = rs.getInt("light");
      	//System.out.println("LIGHT "+lightVar);
        int directVar = rs.getInt("direct");
      	//System.out.println("DIRECT "+directVar);
      	         dateFullVar = dateVar + " " + timeVar;
      	         tempAktVar = tempVar + " °C";
		preAktVar = preVar + " ml/m²";
		windAktVar = windVar + " km/h";
		airAktVar = airVar + " %";
		lightAktVar = lightVar + " LUX";
		directAktVar = directVar;
      }
    
    
    } 
    catch(Exception add){ 
      System.out.println("Fehlermeldung:" + add.getMessage());
    }
	
}

/*
public static void main(String[] args) { 
    mysql sql = new mysql(); 
}*/

}
diese variablen
dateFullVar
tempAktVarpreAktVar
windAktVar
airAktVar
lightAktVar
directAktVar
sollen an die GUI aus der mysql übergeben werden und dort dann in textfelder gestellt werden.

zB this.tempAkt.setText(tempAktVar);
 

stetabar

Bekanntes Mitglied
das mit dem timer hab ich jetzt gelöst bekommen...

Code:
public Hintergrund(){
		Timer tenSecondTimer = new Timer(10000, this);
		tenSecondTimer.start();
	}

allerdings bekomme ich den aufruf der mysql() nicht hin...
und damit auch die datenübergabe nicht... :(
 

Campino

Top Contributor
Also: über

Code:
new mysql();

Ein neues mysql-Objekt erstellen. Dieses braucht noch get**()-Methoden (für ** die variablennamen einsetzen). In diesen methoden wird über return...jeweils ein variablenwert ausgegeben und die andere Klasse kann sich dann um die darstellung kümmern.
 

stetabar

Bekanntes Mitglied
wenn ich das richtig verstehe, dann packe ich in die "Hintergrund.class" die Befehlszeile:
Code:
new Mysql();
und damit wird die klasse Mysql gestartet, oder wie?
aber die macht ja nur mukken, selbst ohne datenübergabe...
http://www.java-forum.org/de/viewtopic.php?t=14364
also irgendwie is da noch der wurm drin...
würd mir ja erst mal reichen, wenn ich die Mysql.class erstmal ausführen würde, auch ohne datenübergabe, aber selbst daran scheitert es ja schon...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
P Erste Schritte ActionListener Java Basics - Anfänger-Themen 2
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb ActionListener Java Basics - Anfänger-Themen 1
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
CptK Auf ActionListener von anderer Klass aus zugreifen Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
JavaNewbie2.0 ActionListener Java Basics - Anfänger-Themen 11
Voreck Actionlistener problem Java Basics - Anfänger-Themen 1
G Im ActionListener eine "äußere" Variable verändern Java Basics - Anfänger-Themen 13
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
M public static int in ActionListener Java Basics - Anfänger-Themen 6
S actionlistener timer Java Basics - Anfänger-Themen 9
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
P aus ActionListener auf HauptFrame zugreifen Java Basics - Anfänger-Themen 4
A Klassen Bool Actionlistener Java Basics - Anfänger-Themen 2
K Methoden ActionListener wird übersprungen Java Basics - Anfänger-Themen 3
S actionlistener Java Basics - Anfänger-Themen 29
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
J ActionListener Java Basics - Anfänger-Themen 5
A ActionListener Java Basics - Anfänger-Themen 9
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
Z ActionListener wird nicht erkannt? Java Basics - Anfänger-Themen 5
T ActionListener Source vergleichen Java Basics - Anfänger-Themen 8
T Frage zum ActionListener Java Basics - Anfänger-Themen 5
R ActionListener mit for Schleife füllen. Java Basics - Anfänger-Themen 4
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
N Probleme mit ActionListener und Logischer Abfrage Java Basics - Anfänger-Themen 4
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
G ActionListener implementieren Java Basics - Anfänger-Themen 12
T Erste Schritte Berechnete Variable im ActionListener zurückführen Java Basics - Anfänger-Themen 6
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
M Button , actionlistener Java Basics - Anfänger-Themen 11
P Erste Schritte JTable mit Daten aus Acces DB füllen und Actionlistener einsetzen Java Basics - Anfänger-Themen 29
M Actionlistener Java Basics - Anfänger-Themen 9
D Problem mit ausgelagertem Actionlistener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
T NullPointerException im ActionListener Java Basics - Anfänger-Themen 3
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
V ActionListener in einer for-Schleife Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
P ActionListener Action Event Java Basics - Anfänger-Themen 5
L ActionListener zerschießt AnchorLayout Java Basics - Anfänger-Themen 8
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
F actionListener Java Basics - Anfänger-Themen 3
T ActionListener auslagern Java Basics - Anfänger-Themen 14
S Actionlistener funktionieren nicht in der .jar Java Basics - Anfänger-Themen 9
E ActionListener abwarten lassen? Java Basics - Anfänger-Themen 11
E ActionListener in anderer Klasse erkennen Java Basics - Anfänger-Themen 13
H ActionListener Verbesserung möglich? (This) Java Basics - Anfänger-Themen 3
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
V ActionListener bei vielen Modulen Java Basics - Anfänger-Themen 3
J ActionListener Java Basics - Anfänger-Themen 2
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
S ActionListener Java Basics - Anfänger-Themen 4
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
K Actionlistener Java Basics - Anfänger-Themen 7
M ActionListener außerhalb des EDT ausführen Java Basics - Anfänger-Themen 2
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4
N ActionListener + GUI Java Basics - Anfänger-Themen 8
H Bewegtes Bild im ActionListener [Problem] Java Basics - Anfänger-Themen 12
D Liste+ActionListener Java Basics - Anfänger-Themen 6
L wie Jframe an ActionListener übergeben Java Basics - Anfänger-Themen 4
U ActionListener und KeyListener - KeyListener funktioniert nicht Java Basics - Anfänger-Themen 2
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
Luk10 Problem mit ActionListener Java Basics - Anfänger-Themen 6
R Viereck zeichnen über TextField-Eingabe /ActionListener Java Basics - Anfänger-Themen 9
C ActionListener problem beim starten von programmen Java Basics - Anfänger-Themen 3
C ActionListener problem Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben