如何使用jformdesigner调用公共类在java中显示gui

时间:2012-04-28 23:04:11

标签: java eclipse swing jframe

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

但那不起作用,

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

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

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

主要方法:

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());
    }
}}}}

1 个答案:

答案 0 :(得分:2)

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

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

修改

以下是JFormDesigner生成的JFrame的示例:

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() {
    //............
}
}