我刚刚开始使用 Java,并且以前只使用过 PHP - 发现我很难理解面向对象的东西。我正在使用 Eclipse IDE。
我正在尝试制作一个程序来告诉你你在另一个星球上的体重——看起来很简单
到目前为止,我所做的只是在 Swing 中制作一半的界面(这就是所谓的吗?)
有时我运行它,它会像我预期的那样出现,带有标题、文本框等......其他时候(绝对没有进行任何更改),它只是出现一个空白屏幕
该图像显示了它工作时的样子。当它不工作时,就没有对象。它的工作时间约为 20%。
我认为这可能是因为我的下拉菜单 - 或 JComboBox,这太让人头疼了 - Eclipse 让我在每次提到 JComboBox 后添加“<Object>” - 它说“JComboBox 是原始类型。参考泛型类型 JComboBox 应该被参数化”
我不知道为什么会这样,而且我可能真的很厚,如果这是一个愚蠢的问题,对不起,但是我该如何解决这个问题,我的代码有什么问题?
package calc;
import javax.swing.*;
import java.awt.*;
public class View extends JFrame {
static String titleText = "Calculate your Mass on another Plannet";
public View(){
super(titleText);
setSize(500,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
FlowLayout flo = new FlowLayout();
setLayout(flo);
JPanel inputData = new JPanel();
//Labels
JLabel lblTitle = new JLabel (titleText, JLabel.CENTER);
lblTitle.setFont(new Font("Arial", Font.BOLD, 24));
JLabel lblInputMass = new JLabel ("Weight", JLabel.LEFT);
JLabel lblInputUnits = new JLabel("Units");
//Input Boxes and Lists
JTextField txtInputMass = new JTextField(5);
JComboBox<Object> comInputUnits;
String arrUnits[] = {"Kilos", "Stone", "Pounds"};
comInputUnits = new JComboBox<Object>(arrUnits);
comInputUnits.setSelectedIndex(1);
//Buttons
JButton btnCalculate = new JButton("Calculate");
//Append objects
add(lblTitle);
inputData.add(lblInputMass);
inputData.add(txtInputMass);
inputData.add(lblInputUnits);
inputData.add(comInputUnits);
inputData.add(btnCalculate);
add(inputData);
}
/**
* @param args
*/
public static void main(String[] args) {
View sal = new View();
}
}
抱歉,这是一个很长的问题,我将非常感谢任何建议或答案,正如我所说,我对大麦了解 Java 的任何知识,并且刚刚开始 - 谢谢 :)