我希望在主方法中显示我的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());
}
}}}}
答案 0 :(得分:2)
您的bmicalc
课程应该延长JFrame
,但事实并非如此。 setDefaultCloseOperation
和setVisible
方法属于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() {
//............
}
}