gpt4 book ai didi

java - 为什么我的非常非常简单的 Java 程序还没有做任何事情,有时可以工作,有时却不能?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:03 25 4
gpt4 key购买 nike

我刚刚开始使用 Java,之前只使用过 PHP - 发现很难理解面向对象的东西。我正在使用 Eclipse IDE。

我正在尝试制作一个程序来告诉你你在另一个星球上的体重 - 看起来很简单

到目前为止,我所做的只是在 Swing 中制作了一半的界面(这就是它的名字吗?)

有时我运行它,它会如我所料出现,带有标题、文本框等....其他时候(当绝对没有进行任何更改时),它只是出现一个空白屏幕 enter image description here

图像显示了它工作时的样子。当它不工作时,就没有对象。它大约有 20% 的时间有效。

我认为这可能是因为我的下拉菜单 - 或 JComboBox,这让我很头疼 - Eclipse 让我在每次提到 JComboBox 后添加“” - 它说“JComboBox is一个原始类型。对泛型类型 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 非常了解,而且我才刚刚开始 - 谢谢 :)

最佳答案

你应该

  • 仅在 event dispatch thread 中操作 Swing 组件;
  • 调用setVisible(true)只有在所有组件都已添加到框架之后;
  • 只用一个 n 拼写 Planet,尽管这不太重要。

<Object> “Eclipse 让你添加”被称为泛型类型。阅读 tutorial on generics .

关于java - 为什么我的非常非常简单的 Java 程序还没有做任何事情,有时可以工作,有时却不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com