【问题标题】:Run main method from GUI button in netbeans从 netbeans 中的 GUI 按钮运行 main 方法
【发布时间】:2014-03-12 01:24:07
【问题描述】:

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

【问题讨论】:

  • 你试过什么?你不明白什么?您是在问如何制作图形用户界面吗?如何处理按钮点击?如何调用你的函数?
  • Main 类和 GUI 之间到底有什么区别?您需要更具体并显示一些代码。此外,您说 “我是 java 和 NetBeans 的新手” 的事实告诉我,您正在尝试使用 GUI Builder 设计工具学习 GUI 编程。如果您不首先了解如何编写代码,您将不断遇到问题。查看Creating GUI with Swing 并尝试阅读一些教程。
  • 我在设计视图中有一个带有标签和两个按钮的 GUI。我已将此 GUI.java 命名为 jPanel 表单。然后我有我所有的其他类(main.java 等),但这些在我的 GUI 执行任何操作之前自动运行。
  • 简而言之:不。长而言之:您的 main 方法中的代码总是在您按下播放时运行。你想要的是下面乔尔的答案。

标签: java swing user-interface jbutton


【解决方案1】:

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

示例

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 添加标签等元素,还是我需要像上面那样编写命令?
  • 我对 NetBean 的 GUI 构建器不是很熟悉,但它可能是可能的。尽管如此,你真的应该像peeskillet所说的那样学习手动编码。
猜你喜欢
  • 1970-01-01
  • 2016-07-27
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 2011-03-25
  • 2016-09-03
相关资源
最近更新 更多