Problem mit EventHandler

Shams

Aktives Mitglied
Ich benutze eclipse und habe ein Applet geschrieben. Dieses Applet hat einige Labels und Buttons und einen Eventhandlet. Ziel soll es sschlussendlich sein, dass ich damit einen Nutzer in der Datenbank suchen kann, aber das kommt erst später. Ich habe ein eigenartiges Phänomen bemerkt, das ich nicht so recht erklären kann. Ich werde dies in den Kommentaren zu folgenden beiden Klassen erläutern, das Apllet (Contact.java) und die Test-Klasse:


Java:
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.io.Reader;
import java.sql.*;

public class Contact extends JApplet implements ActionListener{


	
TextField anmelder;
	
	
public void setSname(String name){ //irrelevant

	this.sName = name;    //irrelevant
	
}                                             
	
	public void actionPerformed(ActionEvent e){
		
//irrelevant String zusuchen = "";
			
//irrelevant	if(e.getSource().toString().contains("suchen")){
			
						
//irrelevant	zusuchen = anmelder.getText();
			
//irrelevant		}
		
	
	Test t = new Test();
	t.readit();
	
					
}
		
	 public void init() {
	        
         	 
 	                 	 GridBagConstraints constraints = new GridBagConstraints();
	                	    setLayout(new GridBagLayout());
	                	    
	                	    Component c;	                	

	                	    constraints.gridwidth = GridBagConstraints.REMAINDER;
	                	    constraints.gridheight = 1;
	                	    constraints.fill = GridBagConstraints.HORIZONTAL;
	                	    
	                	    c = new Label("Kontakt suchen geht hier!");
	                	    add(c, constraints);
	                	   
	                	    c = new Label("Nick:");
	                	    add(c, constraints);
	                	  
//Es soll ein Nick in ein Textfeld eingegeben werden, nach dem dann gesucht werden wird, aber
//das ist noch irrelevant.
	                	    anmelder = new TextField(""); 
	                	    add(anmelder, constraints);
	                	    
	                	    
	                	      
	                	    Button login = new Button("suchen");
	                	    add(login, constraints);
	            
	                	    
	                	    login.addActionListener(this);
 
	 }
	 
}


Java:
import java.io.*;

public class Test {

	public Test(){}
	
 //Wenn das Event in der Applet-Klasse Contact.java ausgelöst wird,
//dann soll diese Methode dieser Klasse nichts anderes tun als einfach in eine Datei text.txt den String namens comtent zu schrieben.
	public void readit(){
		
		
		try {
			 
			String content = "s";
			File file = new File("test.txt");
 
			// if file doesnt exists, then create it
			if (!file.exists()) {
				file.createNewFile();
			}
 
			FileWriter fw = new FileWriter(file.getAbsoluteFile());
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write(content);
			bw.close();
 
			
 
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		
	}

Nun aber mein Problem. Ich habe in eclipse diesen ganzen Code compiliert und getestet, die Datei test.txt wurde tatsächlich geschrieben (siehe Kommentare). Aber:

Ich habe alle Dateien des bin-Ordners in mein rootVerzeichnis meines xampp kopiert C:\\xampp\\htdocs\\root, und dann wurde das Applet auch geladen, und alles hat funktioniert - nur als ich das Event durch druck auf den Button auslköste ... wurde die Datei test.txt NICHT geschrieben.

Wie kann das sein? Ich steh irgendwie auf dem Schlauch.
 

Lodoss

Aktives Mitglied
hat dein Applet schreibrechte in dem Ordner?
ggf die TextDatei mal händisch anlegen und (je nach OS) schreibrechte für den apache-nutzer vergeben
 

dzim

Top Contributor
Wahrscheinlich musst du auch noch das Applet signieren... Es kann sein, das sonst die Sandbox verhindert, dass du irgendetwas anderes tun darfst.
 

Shams

Aktives Mitglied
Ich habe auf jeden Fall die Klasse, die ich vom Applet aus vermittels eines Aufrufs der Methode im Applet durch JS ausführen will, mit einer Mainmethode versehen, und die Klasse ließ sich ausführen; zudem habe ich in der JAVAScript-Mwethode mal einen Altert reingecodet, um zu sehen, ob diese Methode überhautpt abgearbeitet wird - aucgh das ist der Fall, der Alert kam.

Es kann also sein dass ich tatsächl. das Applet signieren muss, aber davor will ich noch etwas anderes ausprobieren:
Mein Applet heißt Contact.class - und mit dem Java Applet-Deployment-Kit kann man auch Permissions setzen, siehe hier:

Code:
<script src=
    "https://www.java.com/js/deployJava.js"></script> 
<script>
    var attributes = {code:'Contact.class',
             width:710, height:540};
    var parameters = { fontSize:16, permissions:'sandbox' };
    var version = '1.7';
    deployJava.runApplet(attributes, parameters, version);
</script>

Das Problem ist nun, dass ich einen ClassNotFoundError bekomme, denn normalerweise muss ma je in den Attributen (also als Wert von var attributes) noch angebeben das jar-Archiv angeben; nur ist mein Applet eben jetz nicht in ienem jar, und ich habe zwar nach der Syntax gesucht, wie das ohne jar zu schreiben ist, aber nichts gefunden.

Kann mir da jemand nen Tipp geben? (Ich such jetz freilich auch weiter)
 

Shams

Aktives Mitglied
Okay. Applet ist nun signiert, habe alles auf Linux migriert, und wollte es heute testen.

Jetzt habe ich ein Problem mit eclipse. Wenn ich mein Applet dort compilieren will, kommt:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1129)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:358)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2535)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2320)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:347)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at Suchen.login(Suchen.java:32)
at Contact.actionPerformed(Contact.java:37)
at java.awt.Button.processActionEvent(Button.java:409)
at java.awt.Button.processEvent(Button.java:377)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:308)
... 38 more

Der DB-Path is bei mir nach wie vor "jdbc:mysql://127.0.0.1:3306/";. Meine my.cnf hier in Linux sieht so aus (Anfang):

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /opt/lampp/var/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /opt/lampp/var/mysql/mysql.sock


Es kann also nicht daran liegen, dass host (der ja localhost ist) und port (nach wie vor 3306) falsch gesetzt sind. Ich habe als ich xampp aufgesetzt habe, ein root-Passwort gesetzt, welches ich bei Zugriff auf die DB auch verwende. Ich greife von folgender Klasse des Applets auf die DB zu:

Java:
import java.sql.*;
import java.util.ArrayList;


public class Suchen{
	
	
	Statement stmt = null;
	ResultSet rs = null;		
	Connection conn = null;    	
	DataChooser dc = null;

	
public void terminate(){
try{
	
     if(stmt != null){stmt.close();}	
     if(rs != null){rs.close();}
     if(conn != null){conn.close();}
     
     
}catch(SQLException ex){ ex.printStackTrace();}
}	
		
public ArrayList<String> login(String zusuchen){

	ArrayList<String> res = new ArrayList<String>();

try{    	 		
		dc = new DataChooser();
		Class.forName("com.mysql.jdbc.Driver").newInstance();		
		conn = DriverManager.getConnection(dc.getData(Data.DBPATH)+dc.getData(Data.DATABASE), dc.getData(Data.USER), dc.getData(Data.PASSWORD));

	 } catch (Exception ex) {
	        ex.printStackTrace();
	 }  	

	
try {
	    stmt = conn.createStatement();
	    rs = stmt.executeQuery("SELECT * FROM " + dc.getData(Data.JAVAP1_USERS));	    
	    
	    	    
	    
	} catch (SQLException ex) {
    ex.printStackTrace();
  		
}

try{

	while(rs.next()){
		
	if(! rs.getString(1).equals("ikke"))	
		res.add(rs.getString(1));
		
	}
    
}catch(SQLException ex){ex.printStackTrace();}

terminate();

    return res;
	         
	  }
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
B Swing Problem mit Bildpfad AWT, Swing, JavaFX & SWT 4
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
V Graphics g - drawOval problem mit background AWT, Swing, JavaFX & SWT 1
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
M Swing pack() Problem mit Taskleiste AWT, Swing, JavaFX & SWT 4
N Swing Choice- Problem! AWT, Swing, JavaFX & SWT 8
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
P AWT Problem mit Platzierung (GridBagLayout) AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
A Mini-Menu-Schriften. Ein Problem bei hohen DPI Zahlen AWT, Swing, JavaFX & SWT 2
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
C Thread-/ Simulations- Problem AWT, Swing, JavaFX & SWT 18
G Swing Setvisible problem AWT, Swing, JavaFX & SWT 1
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX -> fxmlLoader -> getResourceAsStream Problem AWT, Swing, JavaFX & SWT 1
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
F Problem mit Implementierung von Kollisionsabfrage AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
L Swing Vier Gewinnt Problem AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
B JavaFX KeyEvent und Canvas draw Problem AWT, Swing, JavaFX & SWT 9
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
Q JList Update Problem AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben