经过一段时间的编码,我准备出口我的程序了!但后来我得到了这个奇怪的事情,声音没有用..但它在Eclipse中做到了!你能帮我这个吗?它很受欢迎!
package me.NL.framed;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class JpanelFrame {
public JpanelFrame() {
ImageIcon image = new ImageIcon(getClass().getResource("/Rescources/img/SpashImg.png"));
ImageIcon image2 = new ImageIcon(getClass().getResource("/Rescources/img/Backgroundgame.png"));
JLabel imglabel = new JLabel(image);
JLabel imglabel2 = new JLabel(image2);
// splash screen
JFrame splash = new JFrame("Loading..");
splash.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));
splash.setSize(480, 240);
splash.add(imglabel);
splash.setLocationRelativeTo(null);
splash.setResizable(false);
splash.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
splash.setUndecorated(true);
// login stuff
final JButton lb3 = new JButton("Log in");
lb3.setBounds(335,47,90,60);
final JTextField Txp1 = new JTextField();
Txp1.setVisible(false);
Txp1.setBounds(70,50,250,20);
final JTextField Txp3 = new JTextField();
Txp3.setEditable(false);
Txp3.setText("Username:");
Txp3.setBounds(3,48,250,20);
Txp3.setBorder(null);
final JTextField Txp4 = new JTextField();
Txp4.setEditable(false);
Txp4.setText("Password:");
Txp4.setBounds(3,84,250,20);
Txp4.setBorder(null);
final JPasswordField Txp2 = new JPasswordField();
Txp2.setVisible(false);
Txp2.setBounds(70,85,250,20);
// Log in
final JFrame login = new JFrame("Login om te starten");
login.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));
login.setSize(480, 240);
login.setLayout(null);
login.add(Txp1);
Txp1.setVisible(true);
login.add(Txp2);
Txp2.setVisible(true);
login.add(lb3);
lb3.setVisible(true);
login.add(Txp3);
Txp3.setVisible(true);
login.add(Txp4);
Txp4.setVisible(true);
login.setLocationRelativeTo(null);
login.setResizable(false);
login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
splash.setVisible(true);
Sound.playSound("start.wav");
Thread.sleep(5000);
splash.setVisible(false);
login.setVisible(true);
Thread.sleep(600);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
final JButton b1 = new JButton("Nederlands Zinsdeel hulp");
b1.setBounds(300, 200, 370, 40);
final JButton b2 = new JButton("Uitloggen");
b2.setBounds(300, 259, 370, 40);
// Tweede gedeelte
final JLabel Tex1 = new JLabel("Hoe vind je de persoonsvorm?");
Tex1.setForeground(Color.BLACK);
Tex1.setVisible(false);
Tex1.setBounds(250, 350, 500, 20);
final JTextField Tx1 = new JTextField();
Tx1.setVisible(false);
Tx1.setBounds(250,370,500,20);
final JButton b3 = new JButton("Volgende");
b3.setVisible(false);
b3.setBounds(300,400,100,30);
// Derde Gedeelte
final JLabel Tex2 = new JLabel("Hoe krijg je het onderwerp van een zin?");
Tex2.setForeground(Color.BLACK);
Tex2.setVisible(false);
Tex2.setBounds(250, 350, 500, 20);
final JTextField Tx2 = new JTextField();
Tx2.setVisible(false);
Tx2.setBounds(250,370,500,20);
final JButton b4 = new JButton("Volgende");
b4.setVisible(false);
b4.setBounds(300,400,100,30);
// Vierde gedeelte
final JLabel Tex3 = new JLabel("Wat is een werkwoordelijk gezegde (WG)?");
Tex3.setForeground(Color.BLACK);
Tex3.setVisible(false);
Tex3.setBounds(250, 350, 500, 20);
final JTextField Tx3 = new JTextField();
Tx3.setVisible(false);
Tx3.setBounds(250,370,500,20);
final JButton b5 = new JButton("Volgende");
b5.setVisible(false);
b5.setBounds(300,400,100,30);
// Vijfde gedeelte
final JLabel Tex4 = new JLabel("Wat is een lijdend voorwerp?");
Tex4.setForeground(Color.BLACK);
Tex4.setVisible(false);
Tex4.setBounds(250, 350, 500, 20);
final JTextField Tx4 = new JTextField();
Tx4.setVisible(false);
Tx4.setBounds(250,370,500,20);
final JButton b6 = new JButton("Volgende");
b6.setVisible(false);
b6.setBounds(300,400,100,30);
// Zesde gedeelte
final JLabel Tex5 = new JLabel("Wat is een meewerkend voorwerp?");
Tex5.setForeground(Color.BLACK);
Tex5.setVisible(false);
Tex5.setBounds(250, 350, 500, 20);
final JTextField Tx5 = new JTextField();
Tx5.setVisible(false);
Tx5.setBounds(250,370,500,20);
final JButton b7 = new JButton("Volgende");
b7.setVisible(false);
b7.setBounds(300,400,100,30);
// zevende gedeelte
final JLabel Tex6 = new JLabel("Wat is een bijwoordelijke bepaling?");
Tex6.setForeground(Color.BLACK);
Tex6.setVisible(false);
Tex6.setBounds(250, 350, 500, 20);
final JTextField Tx6 = new JTextField();
Tx6.setVisible(false);
Tx6.setBounds(250,370,500,20);
final JButton b8 = new JButton("Volgende");
b8.setVisible(false);
b8.setBounds(300,400,100,30);
// achtste gedeelte
final JLabel Tex7 = new JLabel("Wat is een bijwoordelijke bepaling?");
Tex7.setForeground(Color.BLACK);
Tex7.setVisible(false);
Tex7.setBounds(250, 350, 500, 20);
final JTextField Tx7 = new JTextField();
Tx7.setVisible(false);
Tx7.setBounds(250,370,500,20);
final JButton b9 = new JButton("Volgende");
b9.setVisible(false);
b9.setBounds(300,400,100,30);
// negende gedeelte
// tiende gedeelte
final JLabel Tex8 = new JLabel("Wat is het onderwerp in deze zin?");
Tex8.setForeground(Color.BLACK);
Tex8.setVisible(false);
Tex8.setBounds(250, 350, 500, 20);
final JTextArea ow1 = new JTextArea("De kat rent weg van de man.");
ow1.setEditable(false);
ow1.setVisible(false);
ow1.setBounds(250, 350, 500, 20);
final JTextField Tx8 = new JTextField();
Tx8.setVisible(false);
Tx8.setBounds(250,370,500,20);
final JButton b10 = new JButton("Volgende");
b10.setVisible(false);
b10.setBounds(300,400,100,30);
// negende gedeelte
// elfde gedeelte
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
b1.setVisible(false);
b2.setBounds(300, 725, 370, 40);
b3.setVisible(true);
Tx1.setVisible(true);
Tex1.setVisible(true);
}
});
b3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx1.getText().contains("andere tijd") || Tx1.getText().contains("verleden tijd") || Tx1.getText().contains("vraagzin")) {
Tex1.setVisible(false);
Tx1.setVisible(false);
b3.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
// Sound.listSounds();
Tex2.setVisible(true);
Tx2.setVisible(true);
b4.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx2.getText().contains("wie/wat + persoonsvorm") || Tx2.getText().contains("wie of wat en persoonsvorm")
|| Tx2.getText().contains("wie of wat + persoonsvorm") || Tx2.getText().contains("wie/wat en persoonsvorm")) {
Tex2.setVisible(false);
Tx2.setVisible(false);
b4.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex3.setVisible(true);
Tx3.setVisible(true);
b5.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx3.getText().contains("werkwoorden")) {
Tex3.setVisible(false);
Tx3.setVisible(false);
b5.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex4.setVisible(true);
Tx4.setVisible(true);
b6.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx4.getText().contains("zinsdelen") || Tx4.getText().contains("Wie of wat + alle eerder gevonden zinsdelen")
|| Tx4.getText().contains("Wie/wat en alle eerder gevonden zinsdelen") || Tx4.getText().contains("Wie of wat en alle eerder gevonden zinsdelen")) {
Tex4.setVisible(false);
Tx4.setVisible(false);
b6.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex5.setVisible(true);
Tx5.setVisible(true);
b7.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx5.getText().contains("plaats of ... ...tijd tijd") || Tx5.getText().contains("plaats of tijd")) {
Tex5.setVisible(false);
Tx5.setVisible(false);
b7.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex6.setVisible(true);
Tx6.setVisible(true);
b8.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx6.getText().contains("zelfstandig naamwoord")) {
Tex6.setVisible(false);
Tx6.setVisible(false);
b8.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex7.setVisible(true);
Tx7.setVisible(true);
b9.setVisible(true);
} else {
Score.fout++;
Score.Streak = 0;
}
}
});
b9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(Tx7.getText().contains("zelfstandig naamwoord")) {
Tex7.setVisible(false);
Tx7.setVisible(false);
b9.setVisible(false);
Score.goed++;
Score.Streak++;
if(Score.Streak == 1) {
Sound.playSound("Wow.wav");
} else if(Score.Streak == 2) {
Sound.playSound("damnson.wav");
} else if(Score.Streak == 3) {
Sound.playSound("Triple.wav");
} else if(Score.Streak == 4) {
Sound.playSound("neverdone.wav");
} else if(Score.Streak == 5) {
Sound.playSound("airhorn.wav");
} else if(Score.Streak == 6) {
Sound.playSound("omgtrick.wav");
} else if(Score.Streak == 7) {
Sound.playSound("camera.wav");
} else if(Score.Streak == 8) {
Sound.playSound("omygod.wav");
} else if(Score.Streak == 9) {
Sound.playSound("scaryskrill.wav");
} else if(Score.Streak == 10) {
Sound.playSound("SANIC.wav");
} else if(Score.Streak == 11) {
Sound.playSound("illuminati.wav");
} else if(Score.Streak == 12) {
Sound.playSound("Tactical.wav");
}
Tex8.setVisible(true);
Tx8.setVisible(true);
b10.setVisible(true);
} else {
Score.fout++;
}
}
});
final JFrame frame = new JFrame("Nederlands hulp");
frame.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/Rescources/img/Icon.png")));
frame.setSize(1000, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
// Knoppen
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.add(b6);
frame.add(b7);
frame.add(b8);
frame.add(b9);
frame.add(b10);
// Textfields
frame.add(Tx1);
frame.add(Tx2);
frame.add(Tx3);
frame.add(Tx4);
frame.add(Tx5);
frame.add(Tx6);
frame.add(Tx7);
frame.add(Tx8);
// Text areas
frame.add(Tex1);
frame.add(Tex2);
frame.add(Tex3);
frame.add(Tex4);
frame.add(Tex5);
frame.add(Tex6);
frame.add(Tex7);
frame.add(Tex8);
// Ander
frame.add(ow1);
frame.add(imglabel2);
imglabel2.setBounds(0, 0, 1000, 800);
frame.setLocationRelativeTo(null);
frame.getContentPane().setBackground(Color.BLACK);
frame.setLayout(null);
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
System.out.println("Alle Taken Gestopt");
}
});
lb3.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
if(Txp1.getText().contains("leerling") && Txp2.getText().contains("78132")) {
login.setVisible(false);
frame.setVisible(true);
}
}
});
// eerste gedeelte
}
public static void main(String[] args) {
new JpanelFrame();
}
}
/*
*
* Toevoegen:
* MLG Geluid op goed streak [Klaar]
* Meer dingen voor frame
* Frame achtergrond
* knop plaatje
* Splash screen [Klaar]
* Login [Klaar]
*/
我的音频课程是:
package me.NL.framed;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Sound {
public static synchronized void playSound(final String url) {
new Thread(new Runnable() { // the wrapper thread is unnecessary, unless it blocks on the Clip finishing, see comments
public void run() {
try {
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = A udioSystem.getAudioInputStream(Sound.class.getResource("/Rescources/" + url));
clip.open(inputStream);
clip.start();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}).start();
}
}
答案 0 :(得分:0)
在任何情况下,您都需要确保由
表示的资源"/Rescources/" + url
实际上可以在类路径中使用,可以是jar形式,也可以是文件夹。
它在eclipse中工作的原因可能是因为eclipse可能会将Resource文件夹复制到bin或classes目录。