【发布时间】:2015-05-19 08:42:08
【问题描述】:
我无法弄清楚类的调试。
正如 cmets 所说,它需要让用户输入披萨配料,然后将价格返还。它有代码,但我不知道从哪里开始调试。
任何事情都会有所帮助,或者即使您有类似的工作代码也会有所帮助。我想学习它,但确实需要帮助。因此,提前感谢您在正确方向上的任何帮助/推动。
// DebugFourteen3
// User selects pizza topping and sees price
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//use correct spelling of class name
public class DebugFourteen3 extends JFrame implements ItemListener
{
FlowLayout flow = new FlowLayout();
JComboBox pizzaBox = new JComboBox();
JLabel toppingList = new JLabel("Topping List");
JLabel aLabel = new JLabel("Paulos's American Pie");
JTextField totPrice = new JTextField(10);
int[] pizzaPrice = {7,10,10,8,8,8,8};
int totalPrice = 0;
String output;
int pizzaNum;
public DebugFourteen3()
{
super("Pizza List");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(flow);
pizzaBox.addItemListener(this);
add(toppingList);
pizzaBox.addItem("cheese");
pizzaBox.addItem("sausage");
pizzaBox.addItem("pepperoni");
pizzaBox.addItem("onion");
pizzaBox.addItem("green pepper");
pizzaBox.addItem("green olive");
pizzaBox.addItem("black olive");
add(pizzaBox);
add(aLabel);
add(totalprice);
}
public static void main(String[] arguments)
{
JFrame frame = new DebugFourteen3();
frame.setSize(200, 150);
frame.setVisible(true);
}
public void itemStateChanged(ItemEvent[] list)
{
Object source = list.getSource();
if(source == pizzaBox)
{
int pizzaNum = pizzaBox.getSelectedIndex();
totalPrice = pizzaPrice[x];
output = "Pizza Price $" + totalPrice;
totPrice.setText(output);
}
}
}
【问题讨论】:
-
“我想学习它,但确实需要帮助。” 您还需要一个(具体的)问题。你有什么问题?
-
确定您遇到的问题并关注可能会出现的类似问题...
-
我不知道如何修复我得到的编译错误。我修复了除 4 之外的所有内容,它们位于“公共类 DebugFourteen3”部分“add(totalPrice);”中,它说它找不到“list.getSource();”的符号我特别相信列表部分,最后一个在组件'pizzaPrice [x]'中说不公开。这些都是我遇到的所有可见问题,很抱歉造成混淆。
-
此重要信息不应出现在评论中,而应出现在您的问题中。请通过在代码中明确显示发生错误的位置来澄清您的问题。
-
此外,如果您的代码有多个编译器错误,那么这表明您的编码风格可能需要修复。不要输入大量代码然后进行测试。相反,如果您不能使用现代 IDE,例如 NetBeans 或 Eclipse(它几乎会立即警告您编译问题),那么您应该尽早并经常编译您的代码,最重要的是在当前编译问题得到解决之前不要添加任何新代码。否则,您最终会遇到难以修复的错误。
标签: java swing jframe components itemlistener