webForumDet fria alternativet

Java & MySQL databas

32 svar · 974 visningar · startad av orange · sida 2 av 2

LimeMedlem sedan sep. 2001837 inlägg
#21

Jag postar om koden. Den här funkar för mig både i Eclipse och när jag kompilerar direkt i scr-katalogen. Java-filerna skall ligga direkt under src-katalogen. (Default package)

/*
 * Created on Jun 29, 2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/**
 * @author ovli
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class SevenApplet extends JApplet implements ActionListener  {

	// Dataklassen
	private SevenDAO seven;
	// Timer som håller reda på bytestiden.
	Timer timer;
	// Labeln som håller texten
	JLabel label;

	
	public void init()
	{
		seven = new SevenDAO();
		//Execute a job on the event-dispatching thread:
	    //creating this applet's GUI.
	    try {
	        javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
	            public void run() {
	                createGUI();
	            }
	        });
	    } catch (Exception e) {
	        System.err.println("createGUI didn't successfully complete");
	    }
	    
	    //	  Set up the timer that will perform the animation.	
	    timer = new javax.swing.Timer(7000, this);
	    timer.setInitialDelay(7000);
	    timer.setCoalesce(false);
	    timer.start();

	    
	}
	
//	Called to start the applet's execution.
    public void start() {
            timer.restart();
    }

    //Called to stop (temporarily or permanently) the applet's execution.
    public void stop() {
        timer.stop();
    }

	
	private void createGUI() {
	    label = new JLabel(
	                       seven.getNextText());
	    label.setHorizontalAlignment(JLabel.CENTER);
	    label.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.black));
	    getContentPane().add(label, BorderLayout.CENTER);
	}

	public void actionPerformed(ActionEvent e) {
		label.setText(seven.getNextText());
	
		
	}

	

}
 /*
 * Created on Jun 29, 2004
 *  
 */
import java.util.*;

public class SevenDAO {

	public static String baseText = "Text1*Text2*Text3*Text4";

	private ArrayList textList;
	private int currentTextPos = 0;

	public SevenDAO() {
		textList = new ArrayList();
		StringTokenizer st = new StringTokenizer(baseText, "*");
		while (st.hasMoreElements()) {
			String text = (String) st.nextElement();
			textList.add(text);
			System.out.println("Adding " + text);
		}

	}

	public String getNextText() {
		if (textList.size() == currentTextPos)
			currentTextPos = 0;
		return (String) textList.get(currentTextPos++);
	}
	
}
orangeMedlem sedan juni 200417 inlägg
#22

Tack så mycket nu fungerade det (jag hade inte lagt SevenDAO i "src" utan i "classes", vet inte varför :P)

MEN, det som inte funkar nu är att det inte kommer någon text? det är bara grått...

På hemsidan skrev jag såhär:

<html>
<applet code="/classes/SevenApplet.class" width="400" height="30"></applet>
</html>

LimeMedlem sedan sep. 2001837 inlägg
#23

Ligger katalogen classes under root-katalogen för webbservern???

orangeMedlem sedan juni 200417 inlägg
#24

Jadå det gör den, det är inget fel på den... ska man spara filen (hemsidan) i något speciellet format eller går det med .html?

För det är bara grått...kommer ingen text elelr så... :(

Sen när jag kompilerat filerna så kommer det två SevenApplet.class i "classes" -katalogen.. ena heter SevenApplet.class och andra heter SevenApplet$1.class.... ska det vara så?

orangeMedlem sedan juni 200417 inlägg
#25

Vet inte om det är till någon hjälp, men jag körde filen via appletviewer och då fick jag all denna kod...(bilden)

errors4.gif
LimeMedlem sedan sep. 2001837 inlägg
#26

Det är inte så att du har all kod i en och samma fil?

orangeMedlem sedan juni 200417 inlägg
#27

Hur menar du? Jag har ju tre .class filer och en html fil.

SunixMedlem sedan juli 2004307 inlägg
#28

Kan verkligen en applet som är laddad i min webbläsare och som körs av mitt VM hämta data från en Mysqldatabas som ligger på en annan server?! portar osv ??

spangoMedlem sedan juni 20006 147 inlägg
#29

En osignerad applet kan bara ansluta till den server den hämtades ifrån. Om webbservern och MySQL-servern ligger på olika adresser får du göra nån mellanvara, typ en RMI-server eller ett script som hämtar data från databasen och som kan spotta ut den i nåt format som appleten känner igen från samma burk som webbservern ligger på.

SunixMedlem sedan juli 2004307 inlägg
#30

OK, jag förstår!

orangeMedlem sedan juni 200417 inlägg
#31

När jag nyligen efter sommarlovet återupptog detta så lyckades jag, så nu fungerar det tack!

Men det jag kom på är att jag gärna vill ahr så att föregående text står kvar och nästa kommer in på nästa rad... Hur gör man detta?

orangeMedlem sedan juni 200417 inlägg
#32

Ingen som vet?

Mc FettoMedlem sedan nov. 20021 920 inlägg
#33

Vet inte vad det är för komponent du har texten i. Men du får göra en apend..

om du har en variabel som heter str och är av String kan du appenda text till denna:

str += "bla bla" +'\n';

och sedan lägga in det i din textkomponent..

minTextField.setText(str);

typ....

122 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
120 ms — hämta tråd, inlägg och bilagor (db)