SoX GUI

SOPHOS

Mitglied
Hallo Ihr lieben, ich bin ein absoluter Javaneuling und versuche mich gerade an einer Java GUI die verschiedene

Audioformate wie .ogg .flac .wav in .mp3 umwandelt.

Aber ich komme mit meiner GUI einfach nicht weiter, ich habe es schon zustande gebracht ein Frame zu erstellen mit
einer Menüleiste "Datei > Öffnen und Beenden" "Werkzeuge" und "Hilfe >Info"

Meine Probleme sind nun das die Einzelnen Menüs nichts ausführen können, ich noch keinen Dateiauswahldialog (auch

für die Auswahl mehrerer Audiodateien), einen Audiokonverter und einen Audio Player mit Lautstärkeregler und

Fortschritsanzeige in das Fenster hinein bekomme.

Könnte mir da vielleicht helfen?
Ich wäre sehr dankbar für Hilfe und Ideen.

Meine Quellcode sieht zurzeit so aus:

Java:
package sox;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JFileChooser;
import javax.swing.JFrame;


class LAF extends JFrame
        implements ActionListener {

    //implementieren des ActionListener interfaces
    @Override
    public void actionPerformed(ActionEvent event) {
    }

    //konstruktor
    public LAF() {
        super("AUDIO CONVERTER");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(800, 600);
        

        Container container = this.getContentPane();
        container.setLayout(new BorderLayout());

        //meueleiste erzeugen
        JMenuBar menueLeiste = new JMenuBar();
        this.setJMenuBar(menueLeiste);

        // ---------------------------------------------------------------------
        
        // Dropdown Menü (Datei)
        JMenu dateiMenue = new JMenu("Datei");
        menueLeiste.add(dateiMenue);  // Datei Buttom

        JMenuItem oeffnenEintrag = new JMenuItem("Öffnen");
        oeffnenEintrag.addActionListener(this);
        dateiMenue.add(oeffnenEintrag);  // (Öffnen Buttom)
        
        


        JMenuItem beendenEintrag = new JMenuItem("Beenden");
        beendenEintrag.addActionListener(this);
        dateiMenue.add(beendenEintrag);  // (Beenden Buttom)
              
        // ---------------------------------------------------------------------

        // Dropdown Menü (Werkzeuge)
        JMenu werkzeuge = new JMenu("Werkzeuge");
        menueLeiste.add(werkzeuge);  // Dropdown Menü (Werkzeuge Buttom)
        
        // ---------------------------------------------------------------------
        
        // Dropdown Menü (Hilfe)
        JMenu hilfeMenue = new JMenu("Hilfe");
        menueLeiste.add(hilfeMenue);  // Hilfe Buttom

        JMenuItem infoEintrag = new JMenuItem("Info");
        infoEintrag.addActionListener(this);
        hilfeMenue.add(infoEintrag);  // Info (Buttom) 
        
        setVisible(true);
        infoEintrag.addActionListener(this);
        // ---------------------------------------------------------------------
    }

    //die unvermeidliche main-methode
    @SuppressWarnings("ResultOfObjectAllocationIgnored")
    public static void main(String args[]) {
        new LAF();
    }
}
 

SOPHOS

Mitglied
Naja, das ganze mit Hello World usw. habe ich schon hinter mir. Ich dachte ich mache etwas anspruchsvolleres.

Nur bräuchte ich da etwas Hilfe
 

Paddelpirat

Bekanntes Mitglied
Such die am besten erstmal eine Baustelle aus und versuch das Problem zu lösen (gibt bei Swing eigentlich für alles Tutorials). Wenn du dann noch hängen bleibst kannst du hier konkretere Fragen stellen. Ich glaube sonst wird das hier etwas unübersichtlich wenn jeder etwas zu einem anderen Problem schreibt.
 

jgh

Top Contributor
hier mal ein kleiner Vorschlag, wie du bspw. das File Öffnen implementiern könntest:

Java:
class LAF extends JFrame implements ActionListener {
	private File file;

	// implementieren des ActionListener interfaces
	@Override
	public void actionPerformed(ActionEvent event) {
		if (event.getActionCommand().equals("open")) {
			JFileChooser jfc = new JFileChooser();
			int value = jfc.showOpenDialog(this);
			if (value == JFileChooser.APPROVE_OPTION) {
				file = jfc.getSelectedFile();
				System.out.println(file.getAbsolutePath());
			}
		}
	}
//...
JMenuItem oeffnenEintrag = new JMenuItem("Öffnen");
		oeffnenEintrag.addActionListener(this);
		oeffnenEintrag.setActionCommand("open");
		dateiMenue.add(oeffnenEintrag); // (Öffnen Buttom)
 

Neue Themen


Oben