首页 > 其他分享 >Swing入门

Swing入门

时间:2024-12-17 10:20:13浏览次数:4  
标签:Java 入门 frame Swing API swing javax

https://docs.oracle.com/javase/tutorial/uiswing/index.html

About the JFC and Swing

JFC=Java Foundation Classes=java基础类

用途:1用于构建图形用户界面;2给Java应用添加图形和交互功能

为什么叫JFC:MFC=Microsoft Foundation Class Library

JFC包含下表特性:

Feature Description
Swing GUI Components 包括从按钮、分割窗格到表格等所有内容。许多组件都支持排序、打印、拖放等功能,以上仅是其中的一些特点。
Pluggable Look-and-Feel Support Swing 应用程序的外观和操作方式是可插件化的,允许用户选择不同的界面风格。例如,同一个程序可以使用 Java 风格或 Windows 风格。此外,Java 平台还支持 GTK+ 风格,使得数百种现有的界面风格可以被 Swing 程序使用。还有更多的界面风格包可以从不同的来源获得。
Accessibility API 使辅助技术(如屏幕阅读器和盲文显示器)能够从用户界面获取信息。
Java 2D API 使开发者能够轻松地在应用程序和小程序中加入高质量的 2D 图形、文本和图像。Java 2D 包括了丰富的 API,用于生成并将高质量的输出发送到打印设备。
Internationalization 允许开发者构建能够与全球用户以他们自己的语言和文化习惯进行互动的应用程序。通过输入法框架,开发者可以构建接受使用成千上万不同字符的语言(如日语、中文或韩语)文本的应用程序。

本教程专注于 Swing 组件。我们将帮助你选择适合你图形用户界面(GUI)的组件,告诉你如何使用它们,并提供你需要的背景信息,以便你能够有效地使用它们。我们还将讨论其他与 Swing 组件相关的特性。

Which Swing Packages Should I Use?

Swing API功能强大、灵活且庞大。Swing API有18个公共包:

javax.accessibility javax.swing.plaf javax.swing.text
javax.swing javax.swing.plaf.basic javax.swing.text.html
javax.swing.border javax.swing.plaf.metal javax.swing.text.html.parser
javax.swing.colorchooser javax.swing.plaf.multi javax.swing.text.rtf
javax.swing.event javax.swing.plaf.synth javax.swing.tree
javax.swing.filechooser javax.swing.table javax.swing.undo

幸运的是,大多数程序只使用 API 的一小部分。本教程为你整理了 API,提供了常见代码示例,并指引你使用可能需要的方法和类。本教程中的大部分代码仅使用一个或两个 Swing 包:

  • javax.swing
  • javax.swing.event (不总是需要)

Compiling and Running Swing Programs

package start;

import javax.swing.*;

public class HelloWorldSwing {
    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add the ubiquitous "Hello World" label.
        JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

注释:

frame指一种基本的形状或结构(structure),尤其是勾勒或围绕门窗的形状或结构。如果你用力关上卧室的门,整个门框(the whole frame)可能会摇晃。

pane:窗格;一块玻璃,尤其是适合窗框(a window frame)的玻璃。

标签:Java,入门,frame,Swing,API,swing,javax
From: https://www.cnblogs.com/xkxf/p/18608778

相关文章

  • 最初级的黑客入门教程,可实现简单的黑客基础操作
    黑客守则1、不恶意破坏任何的系统,这样只会给你带来麻烦。恶意破坏他人的软件将导致法律责任,如果你只是使用电脑,那仅为非法使用!注意:千万不要破坏别人的软件或资料!2、不修改任何的系统档,如果你是为了要进入系统而修改它,请在达到目的后将它改回原状。3、不要轻易的将你要ha......
  • 计算机编程语言黑客技术学习书籍大合集,零基础入门到精通,收藏这篇就够了
    │0day安全:软件漏洞分析技术(第2版).pdf│Android安全攻防权威指南.pdf│Android软件安全与逆向分析.pdf│ASP.NET从入门到精通第2版.pdf│CPrimerPlus(第五版)中文版.pdf│C和指针_第二版_.pdf│HADOOP权威指南第3版完整版.pdf│JavaScript权威指南(第6版......
  • 高薪光环终成内卷困局!计算机应届生的就业方向在何处?零基础入门到精通,收藏这一篇就够了
    在过去的很多年里,计算机专业是通向未来的“黄金赛道”。伴随着令人羡慕的薪资数据:本科毕业,年薪二三十万不在话下;硕士研究生,四十万起步几乎是大厂的标配。站在数据背后,它似乎是一条通向成功的宽敞大道。然而这高薪的彼岸,并非每个跋涉者都能抵达。环境式微但就业面广阔如果......
  • 超详细!网络安全知识入门及学习流程,零基础入门到精通,收藏这篇就够了
    第一章:网络安全的基本概念和术一、网络安全的基本概念1.保密性(Confidentiality)定义:确保信息在存储、传输和处理过程中不被未授权的人员访问或获取。例子:企业的商业机密文件被加密存储,只有拥有正确密钥的人员能够解密并查看内容。2.完整性(Integrity)定义:保证信息在......
  • javax.swing.JFrame介绍
    JFrame简介译自https://docs.oracle.com/javase/8/docs/api/这是Java中java.awt.Frame的扩展版本,增加了对JFC/Swing组件架构的支持。关于如何使用JFrame的任务导向文档,可以在《Java教程》的“如何创建窗口”部分找到。JFrame类与Frame类有一些不兼容之处。与所有......
  • RPC 服务与 gRPC 的入门案例
    RPC协议RPC(RemoteProcedureCallProtocol)即远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务的协议,允许一个计算机程序可以像调用本地服务一样调用远程服务。RPC的主要作用是不同的服务间方法调用就像本地调用一样便捷,它隐藏了网络通信的细节,使得开发者可......
  • Flask入门:打造简易投票系统
    目录准备工作创建项目结构编写HTML模板编写Flask应用代码解读进一步优化结语Flask,这个轻量级的PythonWeb框架,因其简洁和易用性,成为很多开发者入门Web开发的首选。今天,我们就用Flask来做一个简单的投票系统,让你快速上手Web开发,同时理解Flask的核心概念。准备工作......
  • 嵌入式从入门到入土:Linux(5)
    嵌入式从入门到入土:Linux(5)主要内容网络相关指令进程相关指令磁盘相关指令挂载与卸载Linux共享环境搭建虚拟机网络模式桥接模式和windows共享一个网段,并且能够与windows系统一样可以连接到互联网说明:虚拟机类似于一台电脑连接到了路由器好处:网络稍微会快一点坏处:占......
  • Envoy 进阶指南(上):从入门到核心功能全掌握
    文章目录1.Envoy入门1.1什么是Envoy1.2Envoy的核心功能1.3Envoy术语1.4设计目标1.5Sidecar模式2.初识Envoy2.1安装Envoy2.2简单示例了解Envoy2.3管理视图1.Envoy入门1.1什么是EnvoyEnvoy是一款CNCF旗下的开源项目,由Lyft开源。Envoy采用C++实现,......
  • HarmonyOS Next 入门实战 - 文字转拼音,文字转语音
    文字转拼音安装pinyin4js三方库ohpminstall@ohos/pinyin4jspinyin4js提供了以下接口:●文字转拼音(带声调和不带声调)●文字转拼音首字母●简体繁体互转letrawText="风急天高猿萧哀,渚清沙白鸟飞回;"letpinyin1:string=pinyin4js.convertToPinyinString(rawT......