Ich versuche, eine grundlegende Gitarre Tuner-App, die einfach die entsprechende Audiodatei spielt, wenn eine Schaltfläche geklickt wird. Ich versuche, ein Bild einer Kopfplatte einer Gitarre in den JFrame zu bringen, habe aber ein bisschen Schwierigkeiten, die Oracle-Dokumentation dafür zu verstehen. Könnte mir jemand erklären, warum mein Bild in diesem Code nicht generiert wird?Bilder in Java JFrames
p.s. Ich bin mir bewusst, dass die Platzierung der Grenze für die Schaltflächen nicht an einem bestimmten Ort festgelegt ist und ich weiß, dass es keinen Audio-Code-Satz gibt. Ich wollte die Knöpfe zuerst über den entsprechenden Stimmwirbel auf dem Kopfplattenbild legen.
Vielen Dank im Voraus für irgendwelche Tipps oder Infos hier!
package guitartuner;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
public class GuitarTuner extends JFrame{
private JFrame mainFrame;
private JLabel EJLabel, AJLabel, DJLabel, GJLabel, BJLabel, eJLabel, guitarJLabel,
bassJLabel, loopJLabel;
private JPanel controlPanel;
private JButton EButton, AButton, DButton, GButton, BButton, eButton;
public class LoadImageApp extends Component{
BufferedImage img;
public void paint(Graphics g){
g.drawImage(img, 0, 0, null);
}
public LoadImageApp(){
try{
img = ImageIO.read(new File("headstock.jpg"));
} catch (IOException e){
}
}
public Dimension getPreferredSize() {
if (img == null) {
return new Dimension(100,100);
} else {
return new Dimension(img.getWidth(null), img.getHeight(null));
}
}
}
public GuitarTuner(){
createUserInterface();
}
public void createUserInterface(){
JFrame f = new JFrame("Guitar Tuner");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.add(new LoadImageApp());
f.pack();
f.setVisible(true);
guitarJLabel = new JLabel();
guitarJLabel.setBounds(16, 16, 90, 21);
guitarJLabel.setText("Guitar");
f.add(guitarJLabel);
EButton = new JButton();
EButton.setBounds(20, 20, 50, 50);
EButton.setText("E");
f.add(EButton);
AButton = new JButton();
AButton.setBounds(40, 40, 50, 50);
AButton.setText("A");
f.add(AButton);
DButton = new JButton();
DButton.setBounds(60, 60, 50, 50);
DButton.setText("D");
f.add(DButton);
GButton = new JButton();
GButton.setBounds(20, 100, 50, 50);
GButton.setText("G");
f.add(GButton);
BButton = new JButton();
BButton.setBounds(40, 100, 50, 50);
BButton.setText("B");
f.add(BButton);
eButton = new JButton();
eButton.setBounds(60, 100, 50, 50);
eButton.setText("e");
f.add(eButton);
setTitle("Aaron's Awesome Guitar Tuner");
setSize (500, 500);
setVisible(true);
}
public static void main(String[] args) {
GuitarTuner application = new GuitarTuner();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Das hat funktioniert !!! Ich danke dir sehr! – Staver