io per adesso ho creato il database utilizzando netbeans,e una tabella dove ho intenzione di memorizzare le canzoni, quindi come campi ho messo una chiave primaria che identifica la canzone, poi il titolo,l'autore e la durata.
ho utilizzato per l'appunto jdbc derby per la creazione del DB.
però uno non so come utilizzarlo all'interno di un applet java,2 non conosco praticamente niente delle istruzioni sql nel linguaggio java; conosco solo quelle utilizzate normalmente sul prompt dei comandi o su php.
quindi + che altro mi servirebbe una rapida spiegazione su come risolvere tutto cio..se possibile..
questa è la parte java utilizzata per creare il lettore musicale..io dovrei appunto fare interagire questa parte con il database di mp3 che all'avvio di tutto deve aver gia caricato tuttte le canzoni presenti nel pc al suo interno, cosicchè siano subito riproducibili.
attendo suggerimenti...............
package javaapplication7;
/**
*
* @author Matteo
*/
// MediaPlayer.java
import javax.media.*;
import javax.media.Time;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
class classe1 extends Frame implements ActionListener,
ControllerListener,
ItemListener
{
Player player;
Component vc, cc;
boolean first = true, loop = false;
String currentDirectory;
classe1 (String title)
{
super(title);
addWindowListener
(new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
// L'utente ha selezionato chiudi nel menù del sistema.
// Call dispose to invoke windowClosed.
dispose ();
}
public void windowClosed (WindowEvent e)
{
if (player != null)
player.close ();
System.exit (0);
}
});
Menu m = new Menu ("File");
MenuItem mi = new MenuItem ("Apri...");
mi.addActionListener (this);
m.add (mi);
m.addSeparator ();
CheckboxMenuItem cbmi = new CheckboxMenuItem ("Loop", false);
cbmi.addItemListener (this);
m.add (cbmi);
m.addSeparator ();
mi = new MenuItem ("Exit");
mi.addActionListener (this);
m.add (mi);
MenuBar mb = new MenuBar ();
mb.add (m);
setMenuBar (mb);
setSize (300, 200);
setVisible (true);
}
public void actionPerformed (ActionEvent e)
{
if (e.getActionCommand ().equals ("Exit"))
{
// Call dispose to invoke windowClosed.
dispose ();
return;
}
FileDialog fd = new FileDialog (this, "Apri File",
FileDialog.LOAD);
fd.setDirectory (currentDirectory);
fd.show ();
// If user cancelled, exit.
if (fd.getFile () == null)
return;
currentDirectory = fd.getDirectory ();
if (player != null)
player.close ();
try
{
player = Manager.createPlayer (new MediaLocator
("file:" +
fd.getDirectory () +
fd.getFile ()));
}
catch (java.io.IOException e2)
{
System.out.println (e2);
return;
}
catch (NoPlayerException e2)
{
System.out.println ("NON è possibile trovare il player.");
return;
}
if (player == null)
{
System.out.println ("Trouble creating a player.");
return;
}
first = false;
setTitle (fd.getFile ());
player.addControllerListener (this);
player.prefetch ();
}
/*public static Connection getConnection(jdbc:derby:\\localhost:1527\\db_musi ca,String,String)throws SQLException{
} */
public void controllerUpdate (ControllerEvent e)
{
// A ControllerClosedEvent is posted when player.close is
// called. If there is a visual component, this component must
// be removed. Otherwise, this visual component appears
// blanked out on the screen. (To be consistent, we do the same
// thing for the control panel component.)
//
// Note: This problem occurs when run under JMF 2.1 Windows and
// SDK 1.3 on a Windows 98 SE platform.
if (e instanceof ControllerClosedEvent)
{
if (vc != null)
{
remove (vc);
vc = null;
}
if (cc != null)
{
remove (cc);
cc = null;
}
return;
}
if (e instanceof EndOfMediaEvent)
{
if (loop)
{
player.setMediaTime (new Time (0));
player.start ();
}
return;
}
if (e instanceof PrefetchCompleteEvent)
{
player.start ();
return;
}
if (e instanceof RealizeCompleteEvent)
{
vc = player.getVisualComponent ();
if (vc != null)
add (vc);
cc = player.getControlPanelComponent ();
if (cc != null)
add (cc, BorderLayout.SOUTH);
pack ();
}
}
public void itemStateChanged (ItemEvent e)
{
loop = !loop;
}
public void paint (Graphics g)
{
if (first)
{
int w = getSize ().width;
int h = getSize ().height;
g.setColor (Color.blue);
g.fillRect (0, 0, w, h);
Font f = new Font ("DialogInput", Font.BOLD, 16);
g.setFont (f);
FontMetrics fm = g.getFontMetrics ();
int swidth = fm.stringWidth ("*** Welcome ***");
g.setColor (Color.white);
g.drawString ("*** Welcome ***",
(w - swidth) / 2,
(h + getInsets ().top) / 2);
}
// Call overridden Frame superclass paint method. That method
// will call each contained container and component (including
// the control panel component) paint method.
super.paint (g);
}
// Eliminate control panel component flicker by preventing frame
// background from being cleared.
public void update (Graphics g)
{
paint (g);
}
public static void main (String [] args)
{
new classe1 ("Media Player 1.0");
}
}