21xrx.com
2024-12-23 02:44:47 Monday
登录
文章检索 我的文章 写文章
JavaSwing图形界面开发与案例详解
2023-06-17 01:02:54 深夜i     --     --
JavaSwing GUI工具包 事件机制

JavaSwing是Java的一个GUI工具包,通过使用JavaSwing可以创建交互式的图形界面应用程序。本文将详细介绍JavaSwing的基本概念和使用方法,并提供一些实用的案例来帮助读者更好地理解JavaSwing的使用。

JavaSwing的基本概念

JavaSwing是Java的一个GUI工具包,提供了一套丰富的图形界面构件,如按钮、标签、文本框、滚动条等。JavaSwing的最大特点是跨平台性,可以在不同的操作系统上运行。JavaSwing使用MVC架构,通过各种事件机制实现了用户与界面的互动。

JavaSwing的使用方法

JavaSwing的使用方法主要包括以下几个步骤:

1.导入Swing相关的包。

2.创建一个主框架窗口。

3.在窗口中添加需要的控件。

4.为控件添加事件监听器。

5.设置窗口大小、位置和可见性等属性。

JavaSwing实例代码

下面是一个简单的JavaSwing实例代码,实现了一个计算器的基本功能:


import javax.swing.*;

import java.awt.event.*;

public class Calculator extends JFrame {

  private JTextField textField;

  private double num1, num2, result;

  private String operator;

  public Calculator() {

    setTitle("Calculator");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(200, 250);

    setResizable(false);

    setLocationRelativeTo(null);

    JPanel panel = new JPanel();

    panel.setLayout(null);

    textField = new JTextField();

    textField.setHorizontalAlignment(JTextField.RIGHT);

    textField.setEditable(false);

    textField.setBounds(10, 10, 170, 30);

    panel.add(textField);

    JButton button0 = new JButton("0");

    JButton button1 = new JButton("1");

    // other buttons...

    button0.setBounds(10, 170, 80, 30);

    button1.setBounds(10, 130, 40, 30);

    // other buttons...

    button0.addActionListener(new ActionListener() {

      public void actionPerformed(ActionEvent e) {

        textField.setText(textField.getText() + "0");

      }

    });

    button1.addActionListener(new ActionListener() {

      public void actionPerformed(ActionEvent e) {

        textField.setText(textField.getText() + "1");

      }

    });

    // other buttons...

    panel.add(button0);

    panel.add(button1);

    // other buttons...

    setContentPane(panel);

    setVisible(true);

  }

  public static void main(String[] args) {

    Calculator calculator = new Calculator();

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复