Я использую BlueJ, и я пытаюсь вызвать метод из другого класса. Чтобы быть более конкретным, я пытаюсь выполнить следующее.Вызов метода из другого класса в java
При нажатии на кнопку скачать музыку, если подходящее значение было введено для номера дисплея:
- номер дисплея используется, чтобы получить гаджет, литая как MP3, из списка массива.
- Метод загрузки музыки в классе MP3 вызывается с введенным размером загрузки .
Вот класс gadgetshop, который создает GUI и место, где я хочу вызвать метод downloadMusic. метод для кнопки называется downloadMusic.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.ArrayList;
public class GadgetShop implements ActionListener
{
//Array List
private ArrayList<Gadget>gadgets;
public void actionPerformed(ActionEvent event)
{
if (command.equals("Download Music"))
{
downloadMusic();
}
}
public void addMp3()
{
MP3 mp3 = new MP3(getWeight(), getPrice(), getModel(), getSize(), getMemory());
gadgets.add(mp3);
}
public void displayAll()
{
for(Gadget gadget : gadgets)
{
gadget.print();
System.out.println();
}
}
public void downloadMusic()
{
}
public int getDisplay()
{
int gadgetDisplay = 0;
try
{
gadgetDisplay = Integer.parseInt(displayText.getText());
if (gadgetDisplay<= 0)
{
JOptionPane.showMessageDialog
(frame, "Please enter a positive amount");
}
}
catch(NumberFormatException exception)
{
JOptionPane.showMessageDialog
(frame, "Please enter a positive amount");
}
return gadgetDisplay;
}
public String getDownload()
{
String gadgetDownload;
gadgetDownload = downloadText.getText();
return gadgetDownload;
}
}
Это класс MP3-
public class MP3 extends Gadget
{
private int memory;
public MP3(int theWeight, double thePrice, String theModel, String theSize, int theMemory)
{
super(theWeight,thePrice, theModel, theSize);
memory = theMemory;
}
public void downloadMusic(String music, int MusicSize)
{
if(MusicSize>memory)
//if statement saying if size is greater than memory then display the follwing statemnt saying there is not enough memory
{
System.out.println("Not Enough Memory");
}
else
// else statement opposite to the above statement saying if music size is less than or equal to the memory display the following statement
{
memory = memory - MusicSize;
System.out.println("Download Successfull. "+ "\nMusic Name: "+ music + "\nMemory Left: " + memory);
}
}
Пожалуйста, подстройте свой код, чтобы понять вашу проблему. – 2013-04-17 11:40:46
Вы вставили строки кода gazillon, но не задавали вопрос. Какая у вас проблема? – Averroes
Пожалуйста, обратите внимание на эти вопросы, если у вас всего 2 класса, которые содержат всего несколько строк кода. Люди обычно не будут пытаться работать с таким количеством кода. –