Java 如何使用JFrame类作为主类? 我在试着做一个计算器。
我已经使用Swing插件(容器和控件)开发了接口,但是当我尝试运行我的程序时,它说包需要一个主类 已经尝试创建一个主类并调用Calc()JFrame类,但没有成功 看看代码:Java 如何使用JFrame类作为主类? 我在试着做一个计算器。,java,swing,class,jframe,main,Java,Swing,Class,Jframe,Main,我已经使用Swing插件(容器和控件)开发了接口,但是当我尝试运行我的程序时,它说包需要一个主类 已经尝试创建一个主类并调用Calc()JFrame类,但没有成功 看看代码: public class Calc extends javax.swing.JPanel { public Calc() { initComponents(); } } 您需要一个main()方法来执行类 查看上的Swing教程中的FrameDemo示例代码,了解入门的基本示例 /* Fr
public class Calc extends javax.swing.JPanel {
public Calc() {
initComponents();
}
}
您需要一个main()方法来执行类
查看上的Swing教程中的FrameDemo
示例代码,了解入门的基本示例
/* FrameDemo.java requires no other files. */
public class FrameDemo {
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("FrameDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
您需要一个main()方法来执行类
查看上的Swing教程中的FrameDemo
示例代码,了解入门的基本示例
/* FrameDemo.java requires no other files. */
public class FrameDemo {
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("FrameDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel emptyLabel = new JLabel("");
emptyLabel.setPreferredSize(new Dimension(175, 100));
frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
请添加主+调用器;FrameDemo有点冗长。虽然那个演示程序很有用。编辑了这个问题。我不知道发生了什么。我是JavaSwing新手,我使用的插件可以自动生成所有的接口代码,所以你只需要处理按钮、标签等的位置和逻辑,这就是问题所在。不要使用IDE生成代码,因为您不知道代码的作用。您已获得指向Swing教程的链接。它将向您展示如何为每个Swing组件编写基本代码。仅使用IDE帮助编译和调试代码。请添加main+invokelator;FrameDemo有点冗长。虽然那个演示程序很有用。编辑了这个问题。我不知道发生了什么。我是JavaSwing新手,我使用的插件可以自动生成所有的接口代码,所以你只需要处理按钮、标签等的位置和逻辑,这就是问题所在。不要使用IDE生成代码,因为您不知道代码的作用。您已获得指向Swing教程的链接。它将向您展示如何为每个Swing组件编写基本代码。只能使用IDE来帮助编译和调试代码。您的
公共静态void main(String[]args)
在哪里?另外,你说“调用Calc()JFrame类”,但在你发布的代码中,Calc
是一个JPanel
,而不是JFrame
。我可以在哪里写psvm?几乎任何地方都可以,但我会把它放在扩展或创建JFrame的类中。@csmckelvey,不要扩展JFame。您没有更改框架的功能。推荐的方法是创建一个JPanel并将面板添加到在main()方法中创建的框架实例中。看看我提供的教程链接。它显示了可以复制和编译的完整代码。我不知道OP是否正在更改框架的功能。您的公共静态void main(String[]args)
在哪里?另外,你说“调用Calc()JFrame类”,但在你发布的代码中,Calc
是一个JPanel
,而不是JFrame
。我可以在哪里写psvm?几乎任何地方都可以,但我会把它放在扩展或创建JFrame的类中。@csmckelvey,不要扩展JFame。您没有更改框架的功能。推荐的方法是创建一个JPanel并将面板添加到在main()方法中创建的框架实例中。看看我提供的教程链接。它显示了可以复制和编译的完整代码。我不知道OP是否正在改变框架的功能。