Java 从netbeans中的GUI按钮运行main方法

Java 从netbeans中的GUI按钮运行main方法,java,swing,user-interface,jbutton,Java,Swing,User Interface,Jbutton,我有一个主类文件,在运行程序时自动运行,但我不希望发生这种情况。我希望GUI首先出现,然后单击一个按钮,我希望我的进程运行。这可能吗?您需要一个main方法来启动GUI。但是,如果将ActionListener添加到JButton,则可以将代码设置为在单击按钮时运行。因此,您可以将当前在main方法中运行的代码移动到ActionListener的actionPerformed()方法,以实现您想要的效果 示例 import java.awt.event.ActionEvent; import j

我有一个主类文件,在运行程序时自动运行,但我不希望发生这种情况。我希望GUI首先出现,然后单击一个按钮,我希望我的进程运行。这可能吗?

您需要一个main方法来启动GUI。但是,如果将
ActionListener
添加到
JButton
,则可以将代码设置为在单击按钮时运行。因此,您可以将当前在main方法中运行的代码移动到
ActionListener
actionPerformed()
方法,以实现您想要的效果

示例

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Tester {
    public static void main(String[] args) {
        JButton button = new JButton("Click me.");
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("This is the code that runs when you press the button.");
            }

        });
        JFrame frame = new JFrame("Button click tester");
        frame.setSize(500, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.add(button);
        frame.setVisible(true);
    }
}

您需要一个main方法来启动GUI。但是,如果将
ActionListener
添加到
JButton
,则可以将代码设置为在单击按钮时运行。因此,您可以将当前在main方法中运行的代码移动到
ActionListener
actionPerformed()
方法,以实现您想要的效果

示例

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Tester {
    public static void main(String[] args) {
        JButton button = new JButton("Click me.");
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("This is the code that runs when you press the button.");
            }

        });
        JFrame frame = new JFrame("Button click tester");
        frame.setSize(500, 500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.add(button);
        frame.setVisible(true);
    }
}

你试过什么?你还不明白什么?你是在问如何制作GUI吗?如何处理按钮点击?如何调用函数?主类和GUI之间到底有什么区别?您需要更加具体,并显示一些代码。另外,您说“我对java和NetBeans不熟悉”这一事实告诉我,您正在尝试使用GUI Builder设计工具学习GUI编程。如果您不首先了解如何手工编写代码,您将经常遇到问题。看一看并尝试浏览一些教程。我在设计视图中有一个GUI,带有一个标签和两个按钮。我将这个GUI.java命名为jPanel表单。然后我有我的所有其他类(main.java等),但是这些类在我的GUI做任何事情之前自动运行。简言之:否。长:当你按下play时,你的主方法中的代码总是运行。你想要的是下面乔尔的答案。你试过什么?你还不明白什么?你是在问如何制作GUI吗?如何处理按钮点击?如何调用函数?主类和GUI之间到底有什么区别?您需要更加具体,并显示一些代码。另外,您说“我对java和NetBeans不熟悉”这一事实告诉我,您正在尝试使用GUI Builder设计工具学习GUI编程。如果您不首先了解如何手工编写代码,您将经常遇到问题。看一看并尝试浏览一些教程。我在设计视图中有一个GUI,带有一个标签和两个按钮。我将这个GUI.java命名为jPanel表单。然后我有我的所有其他类(main.java等),但是这些类在我的GUI做任何事情之前自动运行。简言之:否。长:当你按下play时,你的主方法中的代码总是运行。你想要的是Joel在下面的答案。谢谢Joel,是否可以使用design视图以这种方式向我的gui添加标签之类的元素,或者我需要像上面那样编写命令?我不太熟悉NetBean的gui builder,但这可能是可能的。尽管如此,您还是应该像peeskillet所说的那样学会手工编码。谢谢Joel,是否有必要使用设计视图以这种方式向我的gui添加标签之类的元素,或者我需要像上面那样编写命令?我不太熟悉NetBean的gui builder,但这可能是可行的。尽管如此,您确实应该像peeskillet所说的那样学会手工编码。