Event aus anderer Klasse als Auslöser

savage

Mitglied
Hi, :)

für einen Client wollte ich eine eigene Klasse für die Verbindung zum Server schreiben. Die Klasse soll sowohl das senden, als auch das empfangen übernehmen. Jetzt versteh ich nur nicht, wie ich, wenn meine "Connection" - Klasse etwas empfangen hat, das Empfangene Päckchen an den Client zurückgebe.
Mach ich das mit einem Event? Oder hat das was mit Delegates zu tun (Die hab ich nicht richtig verstanden)?

Ich geb das mal kurz als Code an, weil ich sonst denke keiner versteht es.

Java:
public class Client
{
    
    public static void main(String[] args)
    {
        Connection connection = new Connection();
        connection.connect();

    }
 
 
    public void objectEmpfangen()
    {
        // Hier soll man dann behandeln können, was mit dem Empfangenen passiert.
        // Das wirkliche lauschen soll aber die connection übernehmen.
    }

Hab den Thread hier gefunden, verstehe aber nicht wie die das machen: klick
 

Antoras

Top Contributor
Informationen kann man gut zwischen den Klassen hin und her tauschen wenn man Getter oder Setter benutzt.

Hast du die Connection-Klasse selbst geschrieben? Wenn ja, dann füge eben genau einen solchen Getter ein, der dir die gewünschte Information zurück liefert.
Für Client-Server-Verbindungen stellt das JDK aber bereits so allumfassende Klassen bereit, dass nicht mehr viele Wünsche offen bleiben sollten. Google liefert dazu genug Beispiele wie du diese Klassen benutzt.
 

savage

Mitglied
Problem ist ja, dass die Client "Hauptklasse" gar nicht weiß, wann sie die Informationen holen soll. Das passiert ja in unregelmäßigen Abständen, je nach dem was der Server eben abschickt. :( Deshalb dachte ich sei ein Event vllt das richtige.

Die Connection Klasse hab ich selbst geschrieben, ja :) geht ja auch um's selbst machen und lernen.
 

fastjack

Top Contributor
Client/Server, das läuft dann bestimmt nicht in der selben Java-Maschine... Der Client lauscht normalerweise am Server, bis der was schickt. Es gibt aber noch verschiedene andere Arten. Zeig doch mal deine Connection-Klasse.
 

Volvagia

Top Contributor
Schau mal das an: (Wehe, jemand sagt was über mein Englisch. :autsch:)

Client (Max. eine Serververbindung gleichzeitig):
Java:
package at.kai.logic;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.regex.Pattern;

/**
 * Object to communicate with server.
 * @author Kai
 */
public class Command implements CommandConstants
{
	/**
	 * The pattern to split a string on semicolon.
	 */
	private static final Pattern PATTERN = Pattern.compile(";");

	/**
	 * Contain all commands the read from inputstream and until they are popped from the queue.
	 */
	private static final LinkedBlockingQueue<Command> NEXT_COMMANDS_QUEUE = new LinkedBlockingQueue<Command>();

	/**
	 * The thread, they read from InputStream and push it on the queue.
	 */
	private static IOOperationsThread operationsThread;
	
	/**
	 * Lock for the parameter list.
	 */
	private final Lock PARAMETER_LIST_LOCK = new ReentrantLock();
	
	/**
	 * The string to set the command to object. e. g. "Update something", "Send me something" et cetera. 
	 */
	private Order order;
	/**
	 * A list of all parameters in command. 
	 */
	private List<String> parameterList;

	/**
	 * Construct a new command with the specific command and location.
	 * @param command The command of this object.
	 * @param location The location of this object.
	 * @throws IllegalArgumentException If command or location is null.
	 */
	public Command(Order order) throws IllegalArgumentException
	{
		super();

		if(order == null)
			throw new IllegalArgumentException();
		
		this.order = order;
	}
	/**
	 * Construct a new command from a string.
	 * @param readedData The string, as a rule receive about socket
	 */
	private Command(String readedData)
	{
		super();

		String[] split = PATTERN.split(readedData, 0);
		order = new Order(split[0]);
		
		if(split.length > 1)
		{
			parameterList = new ArrayList<String>(split.length - 2);
			for(int i = 1; i < split.length; i++)
				parameterList.add(split[i].replace(":", ";"));
		}
	}

	/**
	 * Add a new parameter to command. If the parameter
	 * is either null or empty, then he will add as " ".
	 * ':' is a registred keyword. If the parameter containing ':',
	 * a IllegalArgumentException is throwing.
	 * @param parameter The parameter to add.
	 */
	public void addParameter(String parameter)
	{
		if(parameter.contains(":"))
			throw new IllegalArgumentException("Illegal character: ':'");
		parameter = parameter.replaceAll(";", ":");
		parameter = (parameter == null || parameter.equals("") ? " " : parameter);		
		
		PARAMETER_LIST_LOCK.lock();
		try
		{
			parameterList = (parameterList == null ? new ArrayList<String>() : parameterList);
			parameterList.add(parameter);			
		}
		finally
		{
			PARAMETER_LIST_LOCK.unlock();
		}
	}
	/**
	 * Add a new boolean as parameter to command.
	 * @param parameter The parameter to add.
	 * @see #addParameter(String)
	 */
	public void addParameter(boolean parameter)
	{
		addParameter(parameter ? "true" : "false");
	}
	/**
	 * Add a new int as parameter to command.
	 * @param parameter The parameter to add.
	 * @see #addParameter(String)
	 */
	public void addParameter(char parameter)
	{
		addParameter(String.valueOf((int)parameter));
	}
	/**
	 * Add a new int as parameter to command.
	 * @param parameter The parameter to add.
	 * @see #addParameter(String)
	 */
	public void addParameter(int parameter)
	{
		addParameter(String.valueOf(parameter));
	}
	/**
	 * Add a new long parameter to command.
	 * @param parameter The parameter to add.
	 * @see #addParameter(String)
	 */
	public void addParameter(long parameter)
	{
		addParameter(String.valueOf(parameter));
	}
	/**
	 * Send the command as a string about socket. Start() must be call befor.
	 */
	public void send()
	{
		if(operationsThread == null)
			throw new RuntimeException("Not started yet.");
		operationsThread.send(toString());
	}
	/**
	 * Push this command back on end of queue. 
	 */
	public void pushBack()
	{
		try
		{
			NEXT_COMMANDS_QUEUE.put(this);
		}
		catch (InterruptedException e) {}
	}
	/**
	 * Push this command back on end of queue and wait the specific time.<br>
	 * (For braking thread, if only pushing commands are in queue.)
	 */
	public void pushBack(TimeUnit timeUnit, long timeFactor)
	{
		pushBack();
		try
		{
			if(timeUnit != null && timeFactor > 0)
				timeUnit.sleep(timeFactor);
		}
		catch (InterruptedException e) {}
	}

	/**
	 * See getParameter(int).
	 * @param i The field to return.
	 * @return The parameter as byte.
	 */
	public byte getParameterAsByte(int i)
	{
		return(Byte.parseByte(getParameter(i)));
	}
	/**
	 * See getParameter(int).
	 * @param i The field to return.
	 * @return The parameter as double.
	 */
	public double getParameterAsDouble(int i)
	{
		return(Double.parseDouble(getParameter(i)));
	}
	
	/**
	 * @see #hasOrder(Order)
	 */
	public boolean hasCommand(Order o)
	{
		return(hasOrder(o));
	}
	/**
	 * Check, wheter the parameter is equal the command of this object.
	 * @param s The string to check.
	 * @return true if the parameter is equal the command, false otherwise.
	 */
	public boolean hasOrder(Order o)
	{
		return(order.toString().equals(o.toString()));
	}
		
	/**
	 * 
	 */
	public boolean getParameterAsBoolean(int i)
	{
		return(getParameter(i).equals("true"));
	}
	
	/**
	 * Return the count of parameters.
	 * @return The count of parameters.
	 */
	public int getParameterSize()
	{
		int size = 0;
		PARAMETER_LIST_LOCK.lock();		
		try
		{
			size = (parameterList != null ? parameterList.size() : 0);
		}
		finally
		{
			PARAMETER_LIST_LOCK.unlock();
		}
		return(size);
	}
	/**
	 * @See {@link #getParameter(int)}
	 */
	public int getParameterAsInt(int i)
	{
		return(Integer.parseInt(getParameter(i)));
	}
	
	public long getParameterAsLong(int i)
	{
		return(Long.parseLong(getParameter(i)));
	}
	
	/**
	 * Return the command of this object.
	 * @return The command.
	 */
	public Order getCommand()
	{
		return(order);
	}

	/**
	 * Make this command to a single string to send about socket, debug, et cetra.
	 * @return The command as string.
	 */
	public String toString()
	{
		StringBuilder builder = new StringBuilder();
		builder.append(order);
		builder.append(";");
	
		if(parameterList != null)
			for(int i = 0; i < parameterList.size(); i++)
			{
				builder.append(parameterList.get(i));
				builder.append(";");
			}
		builder.append("$");
		return(builder.toString());
	}
	/**
	 * Return the parameter from command on the specific field.
	 * @param field The field whence the parameter is get.
	 * @return The parameter from the field, or null, if no parameters exists<br>
	 * or the field is out of range.
	 */
	public String getParameter(int field)
	{
		String parameter = null;
		PARAMETER_LIST_LOCK.lock();
		try
		{
			if(parameterList != null && field >= 0 && field <= (parameterList.size() - 1))
				parameter = parameterList.get(field);
		}
		finally
		{
			PARAMETER_LIST_LOCK.unlock();
		}
		return(parameter);
	}
	
	/**
	 * Start the thread.<br>
	 * Start the thread, they read from the socket. Needfull for Full-Duplez communicate.<br>
	 * @param socket The socket to read from.
	 */
	public synchronized static void start(Socket socket)
	{
		operationsThread = new IOOperationsThread(socket);
		operationsThread.setName("IO Operations Thread");
		operationsThread.start();
	}
	/**
	 * Start the thread.<br>
	 * Start the thread, they read from the socket. Needfull for Full-Duplez communicate.<br>
	 * @param socket The socket to read from.
	 */
	public synchronized static void start(String ip, int port) throws UnknownHostException, IOException
	{
		if(ip == null)
			throw new NullPointerException("IP cannot be 'null'");
		else if(port < 1 || port > 65535)
			throw new IllegalArgumentException("Port out of range.");
				
		operationsThread = new IOOperationsThread(new Socket(ip, port));
		operationsThread.setName("IO Operations Thread");
		operationsThread.start();
	}
	
	/**
	 * Check, wheter the thread to read from InputStream is started now.
	 * @return true, if the thread to read from InputStream is started now, false otherwise.
	 */
	public static boolean isStarted()
	{
		return(operationsThread != null);
	}
	
	/**
	 * Read the first Command from queue. Is the Queue is empty, this method will block the current Thread.
	 * @return The new command.
	 */
	public static Command read()
	{		
		Command cmd = null;
		
		do
		{
			try
			{
				cmd = NEXT_COMMANDS_QUEUE.take();
			}
			catch (NoSuchElementException e) {}
			catch (InterruptedException e) {}

			if(cmd == null)
			{
				try
				{
					TimeUnit.MILLISECONDS.sleep(10L);
				}
				catch (InterruptedException e) {}
			}
		}
		while(cmd == null);
		return(cmd);
	}
	/**
	 * Read the first Command from queue. Is the Queue is empty, this method will block the current Thread.
	 * If interrupt() from the current thread is called, this method will exit.
	 * @return The new command or null, if the current thread was interrupted.
	 */
	public static Command readInterruptable()
	{
		Command cmd = null;
		
		try
		{
			do
			{
				cmd = NEXT_COMMANDS_QUEUE.take();

				if(cmd == null)
				{
					TimeUnit.MILLISECONDS.sleep(10L);
				}
			}
			while(cmd == null);
		}
		catch (InterruptedException e) {}
		return(cmd);
	}

	public static Command read(Order... order)
	{
		return(read(null, 0L, order));
	}
	public static Command read(TimeUnit timeUnit, long timeFactor, Order... order)
	{
		Command cmd = null;
		try
		{
			cmd = read(timeUnit, timeFactor, false, order);
		}
		catch (InterruptedException e) {}
		return(cmd);
	}
	public static Command read(TimeUnit timeUnit, long timeFactor, boolean interruptable, Order... order)
	throws InterruptedException
	{
		Command cmd = null;
		boolean found;
		do
		{
			boolean interrupted = Thread.interrupted();
			if(interruptable && interrupted)
				throw new InterruptedException();
			
			cmd = read();
			String commandText = cmd.getCommand().toString();
			found = false;

			for(Order o:order)
				if(commandText.equals(o.toString()))
				{
					found = true;
					break;
				}
			
			if(!found)
				cmd.pushBack(timeUnit, timeFactor);
		}
		while(!found);
		return(cmd);
	}
	
	
	
	
	/**
	 * Close the socket and terminate the thread, they read from them. All previously readet data are still
	 * available.
	 */
	public static synchronized void stop()
	{
		if(operationsThread != null)
		{
			operationsThread.terminate();
			operationsThread = null;			
		}
	}
		
	/** */
	private static class IOOperationsThread extends Thread
	{
		/**
		 * Object to lock the sendprogress.
		 */
		private static final Lock SEND_OBJECT_LOCK = new ReentrantLock();
		
		/**
		 * Socket to read from or send to.
		 */
		private Socket socket;
		/**
		 * The writer for output communicate.
		 */
		private PrintWriter writer;

		/**
		 * Construct a new instance of thread.
		 * @param socket to communicate.
		 */
		private IOOperationsThread(Socket socket)
		{
			super();
			this.socket = socket;
		}
		public void run()
		{
			int incoming = 0;
			StringBuilder builder = new StringBuilder();
			
			BufferedReader reader = null;
			try
			{
				reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			}
			catch (IOException e1)
			{
				e1.printStackTrace();
			}
			
			do
			{
				builder.setLength(0);
				
				try
				{
					//TODO Build in buffer.
					while((incoming = reader.read()) != -1 && incoming != '$')
						builder.append((char)incoming);
				}
				catch (IOException e)
				{
					Command.stop();
				}
					
				Command command = new Command(builder.toString());
				
				try
				{
					NEXT_COMMANDS_QUEUE.put(command);
				}
				catch (InterruptedException e) {}
			}
			while(!socket.isClosed());
		}
		/**
		 * Send the string about socket.
		 * @param s String to send about socket.
		 */
		public void send(String s)
		{
			SEND_OBJECT_LOCK.lock();
			try
			{
				writer = (writer == null ? new PrintWriter(socket.getOutputStream()) : writer);
				writer.write(s);
				writer.flush();
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
			finally
			{
				SEND_OBJECT_LOCK.unlock();
			}
		}
		/**
		 * Close the socket and terminate the thread.
		 */
		public void terminate()
		{
			try
			{
				socket.close();
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
		}
	}

	public char getParameterAsChar(int i)
	{
		return((char)getParameterAsInt(i));
	}

}

Server: (Verbindung wie gehabt per ServerSocket aufbauen, und den Socket beim Verwenden übergeben)

Java:
package at.kai;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;

/**
 * Object to communicate with server.
 * @author Kai
 */
public class Command
{
	/**
	 * A map contain all writer link with his used socket.
	 */
	private static final Map<Socket, PrintWriter> WRITER_MAP = new HashMap<Socket, PrintWriter>();
	/**
	 * A map contain all reader link with his used socket.
	 */
	private static final Map<Socket, BufferedReader> READER_MAP = new HashMap<Socket, BufferedReader>();
	
	/**
	 * The pattern to split a string on semicolon.
	 */
	private static final Pattern PATTERN = Pattern.compile(";");
	
	/**
	 * The string to set the command to object. e. g. "Update something", "Send me something" et cetera. 
	 */
	private Order order;
	/**
	 * A list of all parameters in command. 
	 */
	private List<String> parameterList;
	
	/**
	 * Construct a new command with the specific command and location.
	 * @param order The order of this command.
	 * @throws IllegalArgumentException If command or location is null.
	 */
	public Command(Order order) throws IllegalArgumentException
	{
		super();
		
		if(order == null)
			throw new IllegalArgumentException();
		
		this.order = order;
	}
	/**
	 * Construct a new command from a string.
	 * @param readedData The string, as a rule receive about socket
	 */
	private Command(String readedData) throws ArrayIndexOutOfBoundsException
	{
		super();

		String[] split = PATTERN.split(readedData, 0);
		order = new Order(split[0]);
		
		if(split.length > 1)
		{
			parameterList = new ArrayList<String>(split.length - 2);
			for(int i = 1; i < split.length; i++)
				parameterList.add(split[i].replaceAll(":", ";"));
		}
	}

	/**
	 * Send the command as a string about socket.
	 * @param socket The socket to send command about this.
	 */
	public void send(Socket socket)
	{
		synchronized (socket)
		{
			PrintWriter printWriter = getWriter(socket);
			printWriter.write(toString());
			printWriter.flush();			
		}
	}
	/**
	 * Check, wheter the parameter is equal the command of this object.
	 * @param o The string to check.
	 * @return true if the parameter is equal the command, false otherwise.
	 */
	public boolean hasCommand(Order o)
	{
		return(order.toString().equals(o.toString()));
	}
	/**
	 * Return the count of parameters.
	 * @return The count of parameters.
	 */
	public int getParameterSize()
	{
		return(parameterList.size());
	}
	/**
	 * Return the command of this object.
	 * @return The command.
	 */
	public Order getCommand()
	{
		return(order);
	}
	/**
	 * Make this command to a single string to send about socket, debug, et cetra.
	 * @return The command as string.
	 */
	public String toString()
	{
		StringBuilder builder = new StringBuilder();
		builder.append(order.toString());
		builder.append(";");

		if(parameterList != null)
			for(int i = 0; i < parameterList.size(); i++)
			{
				builder.append(parameterList.get(i));
				builder.append(";");
			}
		builder.append("$");
		return(builder.toString());
	}
	/**
	 * Return the parameter from command on the specific field.
	 * @param field The field whence the parameter is get.
	 * @return The parameter from the field, or null, if no parameters exists<br>
	 * or the field is out of bounce.
	 */
	public String getParameter(int field)
	{
		String parameter = null;
		if(parameterList != null)
			if(field >= 0 && field <= (parameterList.size() - 1))
				parameter = parameterList.get(field);
		return(parameter);
	}
	/**
	 * Read a string from socket an generate from this a new command instance.
	 * @param socket The socket to read from.
	 * @return The new command.
	 */
	public static Command read(Socket socket)
	{
		Command command = null;
		try
		{
			BufferedReader reader = getReader(socket);
			StringBuilder builder = new StringBuilder();
			
			for(int incoming = 0; (incoming = reader.read()) != -1 && incoming != '$';)
				builder.append((char)incoming);
			
			String read = builder.toString();
			if(read.trim().length() > 0)
				command = new Command(builder.toString());
		}
		catch (SocketException e) {}
		catch (ArrayIndexOutOfBoundsException e) {}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		return(command);
	}
	/**
	 * @throws IOException 
	 */
	public static BufferedReader getReader(Socket socket) throws IOException
	{
		BufferedReader bufferedReader = READER_MAP.get(socket);
		if(bufferedReader == null)
		{
			bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			READER_MAP.put(socket, bufferedReader);
		}
		return(bufferedReader);
	}
	/**
	 * @throws IOException 
	 */
	public static PrintWriter getWriter(Socket socket)
	{
		PrintWriter writer = WRITER_MAP.get(socket);
		if(writer == null)
		{
			try
			{
				writer = new PrintWriter(socket.getOutputStream());				
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
			WRITER_MAP.put(socket, writer);
		}
		return(writer);
	}
	/**
	 * Add a new parameter to command. If the parameter<br>
	 * is either null or empty, then he will add " ".
	 * @param parameter The parameter to add.
	 */
	public synchronized void addParameter(String parameter)
	{
		parameterList = (parameterList == null ? new ArrayList<String>() : parameterList);
		parameter = (parameter == null || parameter.equals("") ? " " : parameter);
		
		if(parameter.contains(":"))
			throw new RuntimeException("Illegal Symbol: ':'");
		
		parameterList.add(parameter.replaceAll(";", ":"));
	}
	/**
	 * Add a new parameter to command.
	 * @param parameter The parameter to add.
	 */
	public synchronized void addParameter(int parameter)
	{
		addParameter(String.valueOf(parameter));
	}
	/**
	 * Add a new parameter to command.
	 * @param parameter The parameter to add.
	 */
	public synchronized void addParameter(boolean parameter)
	{
		addParameter(parameter ? "true" : "false");
	}
	/**
	 * Add a new parameter to command.
	 * @param parameter The parameter to add.
	 */
	public synchronized void addParameter(long parameter)
	{
		addParameter(String.valueOf(parameter));
	}
	public synchronized void addParameter(double parameter)
	{
		addParameter(String.valueOf(parameter));
	}
	/**
	 * Return the parameter from command on the specific field parsed to int. 
	 * @param field The field whence the parameter is get.
	 * @return The parameter from the field.
	 */
	public int getParameterAsInt(int field)
	{
		return(Integer.parseInt(getParameter(field)));
	}
	public Byte getParameterAsByte(int i)
	{
		return(Byte.parseByte(getParameter(i)));
	}
	public char getParameterAsChar(int i)
	{
		return((char)(getParameterAsInt(i)));
	}
	public boolean getParameterAsBoolean(int i)
	{
		return(Boolean.parseBoolean(getParameter(i)));
	}
}

Beide:

Java:
package at.kai;

public class Order
{
	private String cmd;
	
	public Order(String c)
	{
		super();
		cmd = c;
	}
	public String toString()
	{
		return(cmd);
	}
}
 

savage

Mitglied
EDIT: Hab das oben noch nicht durchgelesen!!! Moment, ich passe meines gleich an.


Ich glaube ich hab die Namen der Klassen ungeschickt vergeben, das verwirrt.

Die Connection klasse wird NUR von dem Client benutzt. Der Client ist bisher nur ein einziges Fenster mit zwei Knöpfen, die zwei Click-Events aufrufen, in denen steht:

Java:
public class DesktopApplication1View extends FrameView {
Connection connection;

[...]

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
        connection.start();
    }

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
        connection.send("Test",1234);
    }

public void empfangen(Object empfangenesObject) {
        // Hier würde ich gerne das empfangene Object behandeln
    }

}

So und die Connection Klasse macht nur das:

Java:
public class Connection extends Thread {

[...]

    public void run()
    {
        try
        {
            verbindung = new Socket(ip,4444);
            outputStream = verbindung.getOutputStream();
            objectOutputStream = new ObjectOutputStream(outputStream);
            inputStream = verbindung.getInputStream();
            objectInputStream = new ObjectInputStream(inputStream);
            
            while (true)
            {
               empfangenesObject = objectInputStream.readObject();
               // Und um das hier geht es. Hier schaut er ja, ob der Server was schickt
               // dann würde ich gerne das abrufen:
               DesktopApplication1View.empfangen(empfangenesObject);
               // Ich weiß so geht es nicht, aber wie? Und genau das ist meine Frage
            }
        }
        catch(Throwable throwable)
        {
            System.out.println(throwable);
        }
    }

public void send(...)
[...]

}

[...]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
P ActionListener Action Event Java Basics - Anfänger-Themen 5
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
M Event erstellen Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Button Action Event starten Java Basics - Anfänger-Themen 4
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G Button event problem Java Basics - Anfänger-Themen 24
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6
G GUI Event Handling Java Basics - Anfänger-Themen 5
M Event auslösen (unsinnig gestellt - ignorieren) Java Basics - Anfänger-Themen 4
M [SOLVED]Swing Event Management Java Basics - Anfänger-Themen 7
N Runtime.exec und Key event Java Basics - Anfänger-Themen 2
C Klasse muss auf Event in einer anderen Klasse reagieren Java Basics - Anfänger-Themen 7
G JTable - Event - MVC Java Basics - Anfänger-Themen 10
J Event-Hilfe Java Basics - Anfänger-Themen 4
T Event zu bestimmter Uhrzeit auslösen ? Java Basics - Anfänger-Themen 5
S MausKlickZähler - Event Problem Java Basics - Anfänger-Themen 2
M Kommunikation zwischen GUI und Event -Klasse Java Basics - Anfänger-Themen 3
C mouseDown (Event e, int x, int y) rechts oder linksklick ? Java Basics - Anfänger-Themen 10
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
KogoroMori21 Objektvariable anderer Klasse übernehmen, Getter/Setter Java Basics - Anfänger-Themen 11
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
pkm Eclipse wie mit anderer JAVA-Version starten? Java Basics - Anfänger-Themen 1
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
M Klassen Methode in anderer Klasse aufrufen? Java Basics - Anfänger-Themen 3
M Methode in anderer Klasse aufrufen Java Basics - Anfänger-Themen 5
B Mit methode Objekt aus anderer Klasse erstellen Java Basics - Anfänger-Themen 6
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
M Klassen Klasse aus anderer Klasse "aufrufen" Java Basics - Anfänger-Themen 2
S Java Array Länge aus anderer Klasse lesen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben