Main-methode ontbreekt

Status
Niet open voor verdere reacties.

LethalJack

Gebruiker
Lid geworden
9 okt 2004
Berichten
10
Dit is m'n eerste JAVA-programma, maar er blijkt een main-methode te ontbreken. Waar moet deze in het programma geplaatst worden? Is het ook mogelijk een het programma te starten vanuit een andere klasse? Zoiets als dit:
----------------------------------------------------------------------------
class Start {
public static void main(String[] args) {
Muziekcalculator calc = new Muziekcalculator();
calc.Muziekcalculator();
}
}
----------------------------------------------------------------------------
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Muziekcalculator extends JFrame implements ActionListener {
protected JTextField cmbtextfield;
protected JTextField bfmtextfield;
protected JTextField sdtextfield;
float flcmbtextfield;
float flbfmtextfield;
float uitkomst;

public Muziekcalculator() {
super("Muziekcalculator");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
Container mcpane = getContentPane();
FlowLayout mclayout = new FlowLayout();
JLabel cmblabel = new JLabel("Capaciteit MB: ", JLabel.LEFT);
JLabel bfmlabel = new JLabel("Bitfrequentie Muziek: ", JLabel.LEFT);
JLabel sdlabel = new JLabel("Speelduur: ", JLabel.LEFT);
cmbtextfield = new JTextField(4);
bfmtextfield = new JTextField(3);
sdtextfield = new JTextField(8);
sdtextfield.setEnabled(false);
mcpane.add(cmblabel);
mcpane.add(bfmlabel);
mcpane.add(sdlabel);
mcpane.add(cmbtextfield);
mcpane.add(bfmtextfield);
mcpane.add(sdtextfield);
cmbtextfield.addActionListener(this);
bfmtextfield.addActionListener(this);
}
public void actionPerformed(ActionEvent mcactionevent) {
String stcmbtextfield = cmbtextfield.getText();
String stbfmtextfield = bfmtextfield.getText();
flcmbtextfield = Float.parseFloat(stcmbtextfield);
flbfmtextfield = Float.parseFloat(stbfmtextfield);
uitkomst = flcmbtextfield * 1024 / (flbfmtextfield / 8);
String stuitkomst = Float.toString(uitkomst);
sdtextfield.setText(stuitkomst);
}
}
 
ik heb de Main methode ff voor je op de goede plek gezet.

Code:
import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Muziekcalculator extends JFrame implements ActionListener { 
protected JTextField cmbtextfield; 
protected JTextField bfmtextfield; 
protected JTextField sdtextfield; 
float flcmbtextfield; 
float flbfmtextfield; 
float uitkomst; 

public static void main(String[] args) { 
Muziekcalculator calc = new Muziekcalculator(); 
}

public Muziekcalculator() { 
super("Muziekcalculator"); 
setSize(500, 500); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
setVisible(true); 
Container mcpane = getContentPane(); 
FlowLayout mclayout = new FlowLayout(); 
JLabel cmblabel = new JLabel("Capaciteit MB: ", JLabel.LEFT); 
JLabel bfmlabel = new JLabel("Bitfrequentie Muziek: ", JLabel.LEFT); 
JLabel sdlabel = new JLabel("Speelduur: ", JLabel.LEFT); 
cmbtextfield = new JTextField(4); 
bfmtextfield = new JTextField(3); 
sdtextfield = new JTextField(8); 
sdtextfield.setEnabled(false); 
mcpane.add(cmblabel); 
mcpane.add(bfmlabel); 
mcpane.add(sdlabel); 
mcpane.add(cmbtextfield); 
mcpane.add(bfmtextfield); 
mcpane.add(sdtextfield); 
cmbtextfield.addActionListener(this); 
bfmtextfield.addActionListener(this); 
} 
public void actionPerformed(ActionEvent mcactionevent) { 
String stcmbtextfield = cmbtextfield.getText(); 
String stbfmtextfield = bfmtextfield.getText(); 
flcmbtextfield = Float.parseFloat(stcmbtextfield); 
flbfmtextfield = Float.parseFloat(stbfmtextfield); 
uitkomst = flcmbtextfield * 1024 / (flbfmtextfield / 8); 
String stuitkomst = Float.toString(uitkomst); 
sdtextfield.setText(stuitkomst); 
} 
}
 
Voor een eerste Java programma is dit vrij ingewikkeld. Waarom niet echt simpel beginnen (met hello world ofzo)?
 
hello world is wel weer heel erg simpel om mee te beginnen, en ook vrij nutteloos.
 
Het is inderdaad vrij nutteloos, maar als je nog niet weet dat je een main methode nodig hebt is het misschien niet eens zo slecht.
 
Geplaatst door wi3bren
weet hij nu ook met dit programma :thumb:

Nee, hij heeft nu een werkende java applicatie.. dat is net iets anders.

Als je niet eens weet waarom je een main in je applicatie zou zetten is de basis nog niet helemaal goed.

En dan is er nog steeds zijn vraag: Kan het programma ook vanuit een andere klasse gestart worden?
En dus ben je weer terug bij je kennis over die main ;)
 
ik blijf er bij dat dit geen ingewikkeld programma is om mee te beginnen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan