swing教程(学习SwingGUI编程)

巡山小妖精 55次浏览

最佳答案学习SwingGUI编程 Swing是Java平台中的图形用户界面(GUI)工具包,它可以让开发者轻松地开发跨平台的、高效、美观的GUI应用程序。本教程将介绍基本的Swing概念、组件和布局,希望...

学习SwingGUI编程

Swing是Java平台中的图形用户界面(GUI)工具包,它可以让开发者轻松地开发跨平台的、高效、美观的GUI应用程序。本教程将介绍基本的Swing概念、组件和布局,希望能为您提供一个启示,让您自信地开始开发工业级的GUI应用程序。

第一部分:Swing概述

Swing是Java平台自带的GUI工具包,它包含了各种各样的组件,比如按钮、菜单、文本框、标签等等。Swing还提供了各种布局管理器,使开发人员能够轻松地布局组件。

试着运行一下下面的代码,了解一下Swing的基本界面:


importjavax.swing.*;
publicclassHelloWorldSwing{
privatestaticvoidcreateAndShowGUI(){
//创建窗口
JFrameframe=newJFrame(\"HelloWorldSwing\");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建标签
JLabellabel=newJLabel(\"HelloWorld\");
frame.getContentPane().add(label);
//显示窗口
frame.pack();
frame.setVisible(true);
}
publicstaticvoidmain(String[]args){
//显示应用程序
javax.swing.SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
createAndShowGUI();
}
});
}
}

当您运行这段代码时,您将看到一个简单的窗口和一个“HelloWorld”标签。这是一个非常基本的Swing应用程序的例子。

第二部分:Swing组件

Swing中的组件(component)指的是可视化的GUI元素,如文本框、按钮、标签、下拉框等等。Swing提供了大量的组件,您可以轻松地创建您所需的GUI界面。

下面是一些常用的Swing组件:

  • JButton:按钮;
  • JTextField:用于输入文本信息的文本框;
  • JLabel:文本标签;
  • JComboBox:下拉框;
  • JCheckBox:复选框;
  • JRadioButton:单选框;
  • JTextArea:用于多行输入文本信息的文本框;
  • JScrollPane:滚动窗口。

下面是一个简单的例子,演示如何创建几个Swing组件:


importjavax.swing.*;
publicclassMySwingAppextendsJFrame{
publicMySwingApp(){
//创建并设置窗口
setTitle(\"MySwingApp\");
setSize(300,200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//添加文本框,标签和按钮
JPanelpanel=newJPanel();
JLabellabel=newJLabel(\"Enteryourname:\");
JTextFieldtextField=newJTextField(20);
JButtonbutton=newJButton(\"Submit\");
panel.add(label);
panel.add(textField);
panel.add(button);
getContentPane().add(panel);
}
publicstaticvoidmain(String[]args){
MySwingAppapp=newMySwingApp();
app.setVisible(true);
}
}

您将看到一个简单的GUI窗口,包含一个文本框、一个标签和一个按钮。

第三部分:Swing布局管理器

Swing的布局管理器(layoutmanager)可以帮助我们轻松地创建组件布局。Swing提供了多种布局管理器,每个布局管理器都有不同的特点和适用场景。

下面是几个常用的Swing布局管理器:

  • FlowLayout:流式布局管理器,组件按照添加顺序排列;
  • BorderLayout:边框布局管理器,组件按照NORTH、SOUTH、EAST、WEST和CENTER五个方向排列;
  • GridLayout:网格布局管理器,组件按照行和列排列;
  • CardLayout:卡片布局管理器,用于在同一空间切换多个面板。

下面是一个演示如何使用Swing的边框布局管理器创建一个简单的GUI窗口的例子:


importjavax.swing.*;
publicclassBorderLayoutExampleextendsJFrame{
publicBorderLayoutExample(){
//创建并设置窗口
setTitle(\"BorderLayoutExample\");
setSize(300,200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
//添加中间的面板
JPanelcenterPanel=newJPanel();
centerPanel.add(newJButton(\"Center\"));
getContentPane().add(centerPanel,BorderLayout.CENTER);
//添加上方的面板
JPanelnorthPanel=newJPanel();
northPanel.add(newJButton(\"North\"));
getContentPane().add(northPanel,BorderLayout.NORTH);
//添加下方的面板
JPanelsouthPanel=newJPanel();
southPanel.add(newJButton(\"South\"));
getContentPane().add(southPanel,BorderLayout.SOUTH);
//添加左侧的面板
JPanelwestPanel=newJPanel();
westPanel.add(newJButton(\"West\"));
getContentPane().add(westPanel,BorderLayout.WEST);
//添加右侧的面板
JPaneleastPanel=newJPanel();
eastPanel.add(newJButton(\"East\"));
getContentPane().add(eastPanel,BorderLayout.EAST);
}
publicstaticvoidmain(String[]args){
BorderLayoutExampleapp=newBorderLayoutExample();
app.setVisible(true);
}
}

当您运行这个例子时,您将看到一个简单的GUI窗口,包含了五个按钮,分别位于窗口的不同位置。

总之,在Swing教程中,学习SwingGUI编程是入门的最佳方式。掌握SwingGUI框架是Java开发者的必备技能之一,它使您能够创建出精美和动态的界面,而这正是许多用户所需的。