0

我希望在主要方法中显示我的 gui,但它似乎没有这样做......我在这里使用了建议: jformdesigner design it won't display?

但这没有用,

我目前的错误是 Eclipse 建议我需要创建一个名为 setDefaultCloseOperation 的方法,该方法已经在类中定义,并且对于 setvisible 也是如此。

“未定义 bmicalc 类型的方法 setDefaultCloseOperation(int)

未定义 bmicalc 类型的方法 setVisible(boolean)"

主要方法:

import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class iu {
public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            bmicalc GUI = new bmicalc();
            GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            GUI.setVisible(true);
        }
    });
class bmicalc extends JFrame{

public bmicalc() {
    initComponents();

}
private void initComponents() {
    JFrame bmiCalculatorFrame = new JFrame();
    {
        bmiCalculatorFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        bmiCalculatorFrame.setTitle("BMI Calculator");
        Container bmiCalculatorFrameContentPane = bmiCalculatorFrame.getContentPane();
        bmiCalculatorFrameContentPane.setLayout(new GridLayout());
    }
}}}}
4

1 回答 1

2

您的bmicalc课程应该扩展JFrame,但事实并非如此。setDefaultCloseOperationsetVisible方法属于JFrame

另外,不是很清楚,但看起来 JFormDesigner 生成了另一个JFrame.

编辑:

这是一个JFrame由 JFormDesigner 生成的示例:

public class TestFrame extends JFrame {
     public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    TestFrame frame = new TestFrame();
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                }
            });
     }

    public TestFrame() {
        initComponents();
    }

    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents

        //======== this ========
        Container contentPane = getContentPane();
        contentPane.setLayout(new FormLayout(
            "default",
            "default"));
        pack();
        setLocationRelativeTo(getOwner());
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}

编辑 - 根据最后一个问题编辑

要解决您的编译问题,请参阅下面的代码段。但是,尚不清楚您要通过JFrame bmiCalculatorFrame.

class bmicalc extends JFrame{

public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            bmicalc GUI = new bmicalc();
            GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            GUI.setVisible(true);
        }
    });
}

public bmicalc() {
    initComponents();

}

private void initComponents() {
    //............
}
}
于 2012-04-29T00:10:42.893 回答