Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单独的文件中制作GUI程序_Java_File_User Interface - Fatal编程技术网

Java 如何在单独的文件中制作GUI程序

Java 如何在单独的文件中制作GUI程序,java,file,user-interface,Java,File,User Interface,我想在单独的文件中生成GUI代码。我的程序达到了1000行,这很有压力,因为我所有的代码都在一个文件中 长话短说,我正在一个大项目中工作,所以我将举一个例子来说明我需要什么 第一:这是一个示例代码: public class world extends JFrame { private JPanel contentPane; private JTextField textField; /** * Launch the application. */

我想在单独的文件中生成GUI代码。我的程序达到了1000行,这很有压力,因为我所有的代码都在一个文件中

长话短说,我正在一个大项目中工作,所以我将举一个例子来说明我需要什么

第一:这是一个示例代码:

public class world extends JFrame {

    private JPanel contentPane;
    private JTextField textField;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    world frame = new world();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public world() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        textField = new JTextField();
        textField.setBounds(0, 0, 427, 89);
        contentPane.add(textField);
        textField.setColumns(10);

        JButton btnNewButton = new JButton("New button");
        btnNewButton.setBounds(5, 137, 422, 111);
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                 String s = textField.getText();
                 JOptionPane.showMessageDialog(null, s);
            }
        });
        contentPane.add(btnNewButton);
    }

}
第二:你可以在一个文件中看到所有的方法和所有的东西,这对我来说并不适用

第三:我想把这段代码从父类(main类)中去掉,我不知道怎么做,有没有一种方法可以被继承,或者创建一个新类,或者一个接口类,我需要一种方法在main方法之外实现我的函数或数学

btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                 String s = textField.getText();
                 JOptionPane.showMessageDialog(null, s);
            }
        });

如果你回答我的问题,请给出一个书面代码,因为我很沮丧。我问了又问,但我得到的答案与我需要的完全不同。

将主方法放在一个单独的类文件中。编译器读取的第一件事是main方法。因此,如果您将它放在另一个类文件中,除非您忘记导入该类,否则不会出现任何问题

至于继承,这是有用的

您的主课看起来像这样

public class MyMainClass{ 
public static void main(String[] args){
MyClass myclass = new MyClass();
myclass.doSomething();
}
}
public class MyClass{
public void doSomething()
{
//do something
}
}
}
你的另一个班级看起来像这样

public class MyMainClass{ 
public static void main(String[] args){
MyClass myclass = new MyClass();
myclass.doSomething();
}
}
public class MyClass{
public void doSomething()
{
//do something
}
}
}

这篇文章读起来也很不错

在尝试创建GUI或任何东西之前,将代码划分为类是应该学习的基本内容之一。没有简单的方法可以“给你代码”,如果你想不出如何划分代码。那么问题是什么呢?去划分代码吧。将业务逻辑移动到其他类,并从GUI类调用它们。使侦听器内部类尽可能简单并进行排序……您不能将java类拆分为多个文件。正如Kayaman所建议的,您可能需要研究一些事情,例如使用继承或聚合将您的类拆分为几个其他类。也许您的主类能够扩展您创建的另一个类,或者有一个单独的类实例作为字段参数。这样,您就可以执行类似的操作。MyUtilityClass.doSomething();我认为你应该从一些简单的OOP教程开始,而不是直接跳到“大程序”中。首先感谢你的评论。其次,我有java方面的经验,我知道如何编写一个普通程序。我试着继承,创建一个新的类,为这段代码创建一个接口类,它在程序中起作用了。然而,当我点击按钮时,它并没有给我任何沙沙声,所以我要求提供一个书面代码,看看我做错了什么。首先感谢您的评论。其次,我有java方面的经验,我知道如何编写一个普通程序。我试着继承,创建一个新的类,为这段代码创建一个接口类,它在程序中起作用了。然而,当我点击按钮时,它并没有给我任何沙沙声,这就是为什么我要求一个书面代码来看看我做错了什么