• JAVA图形化界面设计


            图形化界面程序大家都使用过,一般使用一个程序过程是:打开一个程序出现一个窗口或对话框,其中一般有菜单、工具栏、文本框、按钮、单选框、复选框等控件(组件也就是控件),用户录入相关数据,点按相关菜单、按钮,程序对数据进行相关处理,并将处理后的数据显示或者保存起来,最后关闭程序。

    java编程的相关设计步骤来分解上面的的程序运行过程如下图所示:

     

    1、创建顶层容器

    对应于程序的初始显现窗口,窗口中放入其它菜单、工具栏、文本框、按钮等组件

    顶层容器图形化界面显示的基础,其它所有的组件(控件)都是直接或间接显示在顶层容器中的。在java中顶层容器有三种,分别是JFrame(框架窗口,即通常的窗口)、JDialog(对话框)、JApplet(用于设计嵌入在网页中的java小程序)。

    2、创建中间容器、组件

    对应于程序中出现的菜单、工具栏(中间容器)、文本框、按钮、单选框、复选框等控件。

    有很多Swing组件可以使用,见前面的SwingUI组件表。

    3、将组件加入容器

    在java中创建组件后,还需要将组件放入相应的容器,才能在顶层容器,如窗口中显示出组件。

    4、设置容器内组件的位置

    组件添加到容器中,还必须设置好组件的显示位置,一般有两种方法来设置组建的显示位置,一是按照与容器的相对距离(以像素为单位),精确固定控件的位置;二是用布局管理器来管理组件在容器内的位置。

    5、处理组件所产生的事件

    即用户执行选择菜单、单击按钮等操作时,就要执行相应的命令,进行相关的程序处理,这就需要设置组件的事件。

    实现上述JFrame图形化界面

    创建一个继承JFrame的类

    1. import java.awt.EventQueue;
    2. import javax.swing.JFrame;
    3. import javax.swing.JPanel;
    4. import javax.swing.border.EmptyBorder;
    5. import javax.swing.JButton;
    6. import javax.swing.JTextField;
    7. import javax.swing.JTextArea;
    8. import java.awt.event.ActionListener;
    9. import java.awt.event.ActionEvent;
    10. public class MyJFrame01 extends JFrame {
    11. private JPanel contentPane;
    12. private JTextField textField;
    13. private JButton btnNewButton;
    14. private JTextArea textArea;
    15. /**
    16. * Create the frame.
    17. */
    18. public MyJFrame01() {
    19. setTitle("MyJFrame-01");
    20. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    21. setBounds(100, 100, 509, 300);
    22. contentPane = new JPanel();
    23. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    24. setContentPane(contentPane);
    25. contentPane.setLayout(null);
    26. btnNewButton = new JButton("Send");
    27. btnNewButton.addActionListener(new ActionListener() {
    28. public void actionPerformed(ActionEvent e) {
    29. textArea.append(textField.getText() + "\n"); //将输入的文本加入到文本区域
    30. }
    31. });
    32. btnNewButton.setBounds(388, 10, 97, 23);
    33. contentPane.add(btnNewButton);
    34. textField = new JTextField();
    35. textField.setBounds(10, 11, 368, 21);
    36. contentPane.add(textField);
    37. textField.setColumns(10);
    38. textArea = new JTextArea();
    39. textArea.setBounds(10, 43, 475, 210);
    40. contentPane.add(textArea);
    41. }
    42. }

    我们在Test中创建对象,使用

    1. import java.awt.EventQueue;
    2. public class TestJFrame {
    3. public static void main(String[] args) {
    4. EventQueue.invokeLater(new Runnable() {
    5. public void run() {
    6. try {
    7. MyJFrame01 frame = new MyJFrame01();
    8. frame.setVisible(true);
    9. } catch (Exception e) {
    10. e.printStackTrace();
    11. }
    12. }
    13. });
    14. }
    15. }

  • 相关阅读:
    java调用c函数
    【高德地图在React项目中的使用——(二)各种配置的使用】
    手写操作系统记录
    威尔士和英格兰同属英国,但为啥还要在世界杯上进行PK?
    AI Earth 构建一个简单的应用 python 使用streamlit库
    使用Hypothesis生成测试数据
    Webpack-cli构建流程
    抖去推短视频矩阵系统----源头开发
    【JavaSE】枚举
    CUDA中内置的Vector类型和变量
  • 原文地址:https://blog.csdn.net/qq_56627079/article/details/127847377