Ciao!
Ecco l'erorre che mi da:
Su questo codice:codice:Test2.java:16: non-static variable this cannot be referenced from a static context Multi t1 = new Multi("Fondamentale",80,rcv); ^ Test2.java:17: non-static variable this cannot be referenced from a static context Multi t2 = new Multi("Terza",84,rcv); ^ Test2.java:18: non-static variable this cannot be referenced from a static context Multi t3 = new Multi("Quinta",87,rcv); ^ 3 errors
le linee in errore sono queste:codice:import javax.sound.midi.*; public class Test2 { public static void main (String args[]){ System.out.println("Ciao Mondo, questo è il mio programma Java"); try { Synthesizer syn = MidiSystem.getSynthesizer(); if (!syn.isOpen()) syn.open(); Receiver rcv = syn.getReceiver(); Multi t1 = new Multi("Fondamentale",80,rcv); Multi t2 = new Multi("Terza",84,rcv); Multi t3 = new Multi("Quinta",87,rcv); t1.start(); t2.start(); t3.start(); Thread.sleep(1000); rcv.close(); } catch (Exception e) {} } class Multi extends Thread { private String name; private int note; private Receiver rcv; public Multi(String s, int n, Receiver rcv){ this.name = s; this.note = n; this.rcv = rcv; } public void run() { play(this.rcv,note); System.out.println(name); } } public void play (Receiver r, int n) { try { int timeStamp = -1; ShortMessage dn = new ShortMessage(); ShortMessage up = new ShortMessage(); dn.setMessage(ShortMessage.NOTE_ON,0,n,127); up.setMessage(ShortMessage.NOTE_OFF,0,n,127); r.send(dn,timeStamp); Thread.sleep(1000); r.send(up,timeStamp); } catch(Exception e ){ System.out.println(e); } } }
Non capisco cosa ci sia di sbagliato, ma sono alle prime armi, per cui...codice:Multi t1 = new Multi("Fondamentale",80,rcv); Multi t2 = new Multi("Terza",84,rcv); Multi t3 = new Multi("Quinta",87,rcv);
Grazie anticipatamente.

Rispondi quotando
