java_swing手册

合集下载

JavaSwing中的文本框(JTextField)与文本区(JTextArea)使用实例

JavaSwing中的文本框(JTextField)与文本区(JTextArea)使用实例

JavaSwing中的⽂本框(JTextField)与⽂本区(JTextArea)使⽤实例⼀:JTextField的(⽂本框)使⽤:JTextField 是⼀个轻量级组件,它允许编辑单⾏⽂本。

1.JTextField的常⽤构造⽅法:JTextField() 构造⼀个新的 TextField。

JTextField(int columns) 构造⼀个具有指定列数的新的空 TextField。

JTextField(String text) 构造⼀个⽤指定⽂本初始化的新TextField。

JTextField(String text, int columns) 构造⼀个⽤指定⽂本和列初始化的新TextField。

2.JTextField的常⽤⽅法:SetText(string) 设置⽂本域中的⽂本值GetText()返回⽂本域中的输⼊⽂本值getColumns()返回⽂本域的列数setEditable(Boolean) 设置⽂本域是否为只读状态3.JTextField的使⽤⽰例:复制代码代码如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JTextFieldDemo1 {JFrame jf;JPanel jp;JTextField jtf1,jtf2,jtf3,jtf4;public JTextFieldDemo1() {jf = new JFrame("TextField案例");Container contentPane = jf.getContentPane();contentPane.setLayout(new BorderLayout());jp = new JPanel();jtf1 = new JTextField();jtf2 = new JTextField(10);jtf3 = new JTextField("指定⽂本内容");jtf4 = new JTextField("指定内容+指定长度(只读状态)",30);jtf3.setEnabled(false);jtf4.setFont(new Font("谐体",Font.BOLD|Font.ITALIC,16));//设置⽂本的⽔平对齐⽅式jtf4.setHorizontalAlignment(JTextField.CENTER);jp.add(jtf1);jp.add(jtf2);jp.add(jtf3);jp.add(jtf4);contentPane.add(jp);jf.pack();jf.setLocation(400, 200);jf.setVisible(true);jf.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args) {new JTextFieldDemo1();}}效果图:⼆:JTextArea(⽂本区)的使⽤:1.JTextArea的常⽤构造⽅法:JTextArea() 构造新的 TextArea。

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法JList是JavaSwing库中的一个组件,它用于显示一个列表的数据。

在JavaSwing中,JList允许用户选择列表中的项目。

以下是如何使用JList组件的基本步骤:一、引入必要的库在开始使用JList之前,我们需要引入必要的库。

首先,需要引入JavaSwing库。

可以在项目中直接添加JavaSwing库,或者通过Maven等构建工具添加。

```javaimportjavax.swing.*;```二、创建JList对象创建一个JList对象,需要指定要显示的数据源。

数据源可以是数组、列表或其他集合。

```javaJList<String>list=newJList<>(newString[]{"Item1","Item2","Item3"});```三、设置列表样式可以使用多种方式来设置列表样式,例如背景颜色、字体等。

可以使用以下方法来设置列表样式:```javalist.setBackground(Color.WHITE);//设置背景颜色为白色list.setFont(newFont("Arial",Font.BOLD,14));//设置字体为粗体,大小为14```四、添加到容器中可以将JList对象添加到JFrame、JPanel等容器中,以便将其显示出来。

可以使用以下代码将JList对象添加到容器中:```javaJFrameframe=newJFrame("JListExample");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(newJScrollPane(list));//将JList对象添加到滚动面板中,以便查看大列表frame.pack();frame.setVisible(true);```五、使用addListSelectionListener监听器监听列表选择事件可以使用addListSelectionListener方法来监听列表选择事件。

JavaSwing介绍

JavaSwing介绍

JavaSwing介绍Swing 是⼀个为Java设计的GUI⼯具包。

Swing是JAVA基础类的⼀部分。

Swing包括了图形⽤户界⾯(GUI)器件如:⽂本框,按钮,分隔窗格和表。

Swing提供许多⽐AWT更好的屏幕显⽰元素。

它们⽤纯Java写成,所以同Java本⾝⼀样可以跨平台运⾏,这⼀点不像AWT。

它们是JFC的⼀部分。

它们⽀持可更换的⾯板和主题(各种操作系统默认的特有主题),然⽽不是真的使⽤原⽣平台提供的设备,⽽是仅仅在表⾯上模仿它们。

这意味着你可以在任意平台上使⽤JAVA⽀持的任意⾯板。

轻量级组件的缺点则是执⾏速度较慢,优点就是可以在所有平台上采⽤统⼀的⾏为。

Hello World 程序HelloWorldSwing.java ⽂件代码如下:1import javax.swing.*;2public class HelloWorldSwing {3/**{4 * 创建并显⽰GUI。

出于线程安全的考虑,5 * 这个⽅法在事件调⽤线程中调⽤。

6*/7private static void createAndShowGUI() {8// 确保⼀个漂亮的外观风格9 JFrame.setDefaultLookAndFeelDecorated(true);1011// 创建及设置窗⼝12 JFrame frame = new JFrame("HelloWorldSwing");13 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);1415// 添加 "Hello World" 标签16 JLabel label = new JLabel("Hello World");17 frame.getContentPane().add(label);1819// 显⽰窗⼝20 frame.pack();21 frame.setVisible(true);22 }2324public static void main(String[] args) {25// 显⽰应⽤ GUI26 javax.swing.SwingUtilities.invokeLater(new Runnable() {27public void run() {28 createAndShowGUI();29 }30 });31 }32 }执⾏以下命令输出结果:$ javac HelloWorldSwing.java$ java HelloWorldSwing⼀个⽤户登录框实例SwingLoginExample.java ⽂件代码如下:1import javax.swing.JButton;2import javax.swing.JFrame;3import javax.swing.JLabel;4import javax.swing.JPanel;5import javax.swing.JPasswordField;6import javax.swing.JTextField;7public class SwingLoginExample {89public static void main(String[] args) {10// 创建 JFrame 实例11 JFrame frame = new JFrame("Login Example");12// Setting the width and height of frame13 frame.setSize(350, 200);14 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);1516/* 创建⾯板,这个类似于 HTML 的 div 标签17 * 我们可以创建多个⾯板并在 JFrame 中指定位置18 * ⾯板中我们可以添加⽂本字段,按钮及其他组件。

java_swing_入门教程

java_swing_入门教程

Swing 甚至走得更远一步,在基本的UI 原则之上又放上了一个公共的设计模式。

这个设计模式叫做模型-视图-控制器(Model-View-Controller,MVC),它试图“把角色分开”。

MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。

JComponentSwing 的整个可视组件库的基础构造块是JComponent。

它是所有组件的父类。

它是一个抽象类,所以不能创建JComponent,但是作为类层次结构的结果,从字面意义来说它包含了数百个函数,Swing 中的每个组件都可以使用这些函数。

显然,有些概念要比其他概念重要,所以对于本教程,需要学习的重要的东西是:∙JComponent 不仅是Swing 组件的基类,还是定制组件的基类(有关的更多信息在“中级Swing”教程中)。

∙它为所有组件提供了绘制的基础架构——一些方便进行组件定制的东西(同样,在“中级Swing”中,有关于这个主题的更多信息)。

∙它知道如何处理所有的键盘按键。

所以类只需要侦听特定的键。

∙它包含add() 方法,可以添加其他JComponent。

换种方式来看,可以把任意Swing 组件添加到其他任何Swing 组件,从而构造嵌套组件(例如,JPanel 包含JButton,甚至包含一些古怪的组合,例如JMenu 包含JButton)。

简单的swing小部件Swing 库中最基础的组件是JLabel。

它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。

下图显示了的JLabel 实际应用:JLabel不太吸引人,但是仍然有用。

实际上,在整个应用程序中,不仅把JLabel 用作文本描述,还将它用作图片描述。

每当在Swing 应用程序中看到图片的时候,它就有可能是JLabel。

JLabel 对于Swing 初学者来说没有许多意料之外的方法。

基本的方法包括设置文本、图片、对齐以及标签描述的其他组件:∙get/setText():获取/设置标签的文本。

Swing编程

Swing编程

UIManager.put(key, fontRes);
} //调用方法 Font f=new Font("宋体", Font.PLAIN, 12); Comm.initGlobalFontSetting(f);
任务1:带菜单与工具条的窗体
• 6、设置菜单图标
m1.setIcon(new ImageIcon("images/png/m1.png")) //m1可以是JMenu,也可以是JMenuItem
Jaห้องสมุดไป่ตู้a程序设计-Swing编程
3592223477@
适用于抽象及相关类别演示
教学目的和要求
1、掌握Java Swing编程中JFrame的外观设置; 2、掌握菜单栏与工具栏的设置 3、掌握劢作事件及监听处理 4、掌握Java Swing编程代码的规划化
任务1:带菜单与工具条的窗体
任务1:带菜单与工具条的窗体
• 9、菜单和工具条中按钮如何监听事件处理
public class FrmMainDemo extends JFrame implements
ActionListener {
… m11.addActionListener(this); //m11为一个JMenuItem
btn1.addActionListener(this); //btn1为一个JButton
任务1:带菜单与工具条的窗体
• 8、增加菜单和工具条中按钮的事件处理 • 在Swing的事件处理中,可以使用ActionListener接口处理按钮 和菜单的劢作事件。此接口只定义了一个方法。 • Void actionPerformed(ActionEvent e)
• 为了简化我们的代码,可以让我们定义的JFrame类实现此接口

第十二章.swing基础

第十二章.swing基础

Slide 19 of 44
边框布局介绍
边框布局是通过BorderLayout类创建的。BorderLayout类具有两个构造器, 一个是无参构造器,另一个是指定控件间间距的构造器,通常使用无参构造 器来创建边框布局管理器。 在前面将控件添加到容器中都是通过add方法,将控件作为add方法的参数来 进行添加的。但是在向边框布局容器中添加控件时,这样是不完全的。在向 边框布局容器中添加控件是使用具有两个参数的add方法。其中第一个参数表 示要添加的控件,第二个参数表示要添加到边框布局中的哪一个位置。边框 布局的位置表示是通过常量来表示的,具体常量如表所示。
Slide 1 of 44
JFrame窗口类
在Swing程序中,窗口是一个容器,在该容器中可以放其他一些组件。学习 JFrame窗口类是学习其他组件的基础。在Swing程序中创建窗口可以使用继承 JFrame类来完成。 setResizable(false);//设置窗口不能被调整大小 提示:在JFrame窗口类中还有一个setUndecorated方法,使用该方法可以将 窗体的边框和标题栏去掉
Slide 4 of 44
JPanel面板类简介
JPanel面板类是一个非顶级容器,使用JPanel面板类可以搭建一个子界面。 JPanel面板类同样具有四种构造器,最常用的仍然是无参构造器。使用有参 构造器可以在初始时设置面板采用什么布局管理器和是否使用双缓冲。 JPanel面板类本身没有特殊功能,它的作用就是作为非顶级容器来添加普通 控件,搭建子界面。所以JPanel面板类的方法也是很少很简单的。首先 JPanel面板类具有一个添加控件的add方法,使用该方法能够将普通控件添加 到面板中。getHeight方法和getWidth方法分别是返回当前面板的高度和宽度。 提示:JPanel面板类还有一个setToolTipText方法,该方法具有一个字符串 参数,该方法的作用主要是当鼠标指针停留在面板上时显示文本,字符串内 容就是要显示的内容。

Java swing布局详解(附示例图)

Java swing布局详解(附示例图)

当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。

JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。

下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。

代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。

这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和UI内容)。

Java代码1public static void addComponentsToPane(Container pane) {。

}2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。

4*/5private static void createAndShowGUI() {6// Create and set up the window.7JFrame frame = new JFrame("FlowLayoutDemo");8frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);9// Set up the content pane.10addComponentsToPane(frame.getContentPane());11// Display the window.12frame.pack();13frame.setVisible(true);14}15//main()程序入口,单独起一个线程,实例化UI。

16public static void main(String[] args) {17javax.swing.SwingUtilities.invokeLater(new Runnable() {18public void run() {19createAndShowGUI();20}21});22}FlowLayoutFlowLayout类是最简单的布局管理器。

java中swing的用法

java中swing的用法

java中swing的用法Java中的Swing是一种GUI工具包,它提供了一系列的组件和容器,可以用来创建各种类型的用户界面。

Swing是Java平台的一部分,它是一个跨平台的工具包,可以在不同的操作系统上运行。

Swing的使用非常简单,只需要导入相应的包,然后创建组件和容器即可。

下面是一个简单的Swing程序:```import javax.swing.*;public class HelloWorldSwing {private static void createAndShowGUI() {// 创建窗口JFrame frame = new JFrame("HelloWorldSwing");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 创建标签JLabel label = new JLabel("Hello World");frame.getContentPane().add(label);// 显示窗口frame.pack();frame.setVisible(true);}public static void main(String[] args) {// 显示应用程序javax.swing.SwingUtilities.invokeLater(new Runnable() {public void run() {createAndShowGUI();}});}}```在这个程序中,我们创建了一个窗口和一个标签。

窗口是通过JFrame类创建的,标签是通过JLabel类创建的。

我们将标签添加到窗口的内容面板中,然后显示窗口。

Swing提供了许多不同的组件和容器,可以用来创建各种类型的用户界面。

下面是一些常用的组件和容器:- JButton:按钮组件,用于触发事件。

- JTextField:文本框组件,用于输入文本。

第9章Java Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社

第9章Java Swing图形用户界面-Java面向对象程序设计教程-微课视频-程杰-清华大学出版社
第9章Java Swing图形用户界面
9.1 Java Swing概述 9.2 JFrame窗口 9.3布局管理器 9.4 常用控件 9.5事件处理机制 9.6 JDialog对话框 9.7 应用实例:打地鼠小游戏
通过GUI(Graphic User Interface,图形用户界 面),用户与程序之间可以方便地进行交互。Java 的java.awt包,即Java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI 的组件类。Java早起进行用户界面设计时,主要使 用java.awt包提供的类,如Button(按钮)、 TextField(文本框)和List(列表)等。JDK1.2 推出后,增加了一个新的javax.swing包,该包提 供了功能更为强大的用来设计GUI的类。
Javax.swing包提供了Box类,该类也是Container
类的一个子类,创建的容器称为一个盒式容器,盒 式容器的默认布局是盒式布局,而且不允许更改盒 式容器的布局。因此,在策划程序的布局时,可以 利用容器的嵌套,将摸个容器嵌入几个盒式ng中提供了一个更加强大的布 局——弹簧布局SpringLayout。利用该布局管理器
管理组件,当改变窗体的大小时,能够在不改变组 件间相对位置的前提下自动调整组件的大小。
9.4.1 标签JLable 9.4.2 文本框JTextField 9.4.3 按钮JButton 9.4.4 菜单JMenu 9.4.5文本区JTextArea 9.4.6下拉列表JList 9.4.7表格JTable 9.4.8 树JTree
Public void keyTyped(KeyEvent),键盘按键被输入 事件。
无论用户界面设计的如何美观别致,最重要的一点 是知道这些组件能做什么,如单击一个“打开文件” 按钮,我们希望打开的是文件对话框,而不希望程 序没有任何响应。Java提供了事件模型,使Swing

SWING教程

SWING教程

javaswing教程:JAVA教程 第 7讲 Swing用户界面设计疯狂代码 / ĵ:http://Java/Article51917.htmlD X j`/^@7.1 Swing介绍JAVA中文站社区门户 G2m2`wx1BV&A!]v;?-DB7.1.1 介绍Len}w$tJAVA中文站社区门户:w8|@}#T7J2J 第 5讲中我们学习了AWTAWT是Swing基础Swing产生主要原因就是AWT不能满足图形化用户界面发展需要os7Wg5X7C)OAWT设计初衷是支持开发小应用简单用户界面例如AWT缺少剪贴板、打印支持、键盘导航等特性而且原来AWT甚至不包括弹出式菜单或滚动窗格等基本元素B-Jq#t} }~%Py,wJAVA中文站社区门户;Q*}~VP.F\F~S 此外AWT还存在着严重缺陷人们使AWT适应基于继承、具有很大伸缩性事件模型基于同位体体系结构也成为其致命弱点JAVA中文站社区门户%SEm0uKvXv;yTu*R/Mp 随着发展需要Swing出现了Swing组件几乎都是轻量组件和重量组件相比没有本地对等组件不像重量组件要在它们自己本地不透明窗体中绘制轻量组件在它们重量组件窗口中绘制JAVA中文站社区门户h3r z/I,]:O`JAVA中文站社区门户o*pDnO 这讲我们讲下基本Swing组件使用思路方法和使用Swing组件创建用户界面初步思路方法w]'~5L#d7^4aJ\~X Bh^?sh)so Swing是由100%纯Java实现Swing组件是用Java实现轻量级( light-weight)组件没有本地代码不依赖操作系统支持这是它和AWT组件最大区别由于AWT组件通过和具体平台相关对等类(Peer)实现因此Swing比AWT组件具有更强实用性Swing在区别平台上表现致并且有能力提供本地窗口系统不支持其它特性+l}'Cyc7R.a{0U`Vl1Pw Swing采用了种MVC设计范式即"模型-视图-控制"(Model-View-Controller)其中模型用来保存内容视图用来显示内容控制器用来控制用户输入^lv1n+g[H&{JAVA中文站社区门户TvP,s'u2qRh Swing外观感觉采用可插入外观感觉(Pluggable Look and FeelPL&F)5rw'ett{4KP~i[p o 在AWT组件中由于控制组件外观对等类和具体平台相关使得AWT组件总是只有和本机相关外观Swing使得在个平台上运行时能够有区别外观用户可以选择自己习惯外观以下 3幅图是在同个操作系统下得到区别外观&j\-y'U6s.Y5jb`?~&WuCI xEMetal风格 JAVA中文站社区门户6~1A7z't-v5v rJAVA中文站社区门户#\%f7uXijcJAVA中文站社区门户N([eLiOMot风格JAVA中文站社区门户`r|.O7ENMO c6KfZ!Z8s S}/ZaLoo2k;Z$V:QWindows风格JAVA中文站社区门户Qmt2eL H,^n2g1ODzT[7.1.2 Swing类层次结构'Z5@D8wJ`JAVA中文站社区门户0V&?[#n*w"MQ 在javax.swing包中定义了两种类型组件:顶层容器(JFrameJAppletJDialog和JWindow)和轻量级组件Swing组件都是AWTContainer类直接子类和间接子类JAVA中文站社区门户%q*{0rxy-n_Q"S#Q5F M[9E-kz(oc ponentJAVA中文站社区门户 Q(ZQ$XWZL-{ -java.awt.Container{,cH8J}gK+X| -java.awt.WindowMG)tdZ ?fd -java.awt.Frame-javax.swing.JFrame`&|h t([e@ -javax.Dialog-javax.swing.JDialogG6utgX.y-M -javax.swing.JWindowJAVA中文站社区门户Ghm7nu+}-Yfec -java.awt.Applet-javax.swing.JAppletJAVA中文站社区门户6s.~W YGE2q -javax.swing.BoxQ-SEy)V*xw -javax.swing.JcomponetqwF$Bw]4iTL L(p`BbX(O Swing包是JFC(Java Foundation Classes)部分由许多包组成如下表:DJV8Y3b.S{JAVA中文站社区门户H3aB1i*[-VJAVA中文站社区门户[i9M,JTA[[,bJAVA中文站社区门户h!g)t'LL 包 描述 JAVA中文站社区门户e&mKCf:H8gx Com.sum.swing.plaf.mot 用户界面代表类它们实现Mot界面样式 JAVA中文站社区门户,e2eH B3k6VYbCom.sum.java.swing.plaf.windows 用户界面代表类它们实现Windows界面样式 JAVA中文站社区门户K |2w*zbL Javax.swing Swing组件和使用工具4o D?!ia Javax.swing.border Swing轻量组件边框 JAVA中文站社区门户]ilE KG Javax.swing.colorchooser JcolorChooser支持类/接口yN5a t@H8\?+I Javax.swing.event 事件和侦听器类X%y-W `'z/Pn(@i'Lc Javax.swing.filechooser JFileChooser支持类/接口'{EK&HO3@*XT#Z[ Javax.swing.pending 未完全实现Swing组件5X)@!Ck4` Javax.swing.plaf 抽象类定义UI代表行为 JAVA中文站社区门户2e,R@2qRh e Javax.swing.plaf.basic 实现所有标准界面样式公共功能基类 JAVA中文站社区门户 ["Cyt)^(a Javax.swing.plaf.metal 用户界面代表类它们实现Metal界面样式 JAVA中文站社区门户:G0{9J){{CC/Z Javax.swing.table Jtable组件 JAVA中文站社区门户1ZZ*TMY1K8U Javax.swing.text 支持文档显示和编辑 JAVA中文站社区门户cu,e2prO Javax.swing.text.html 支持显示和编辑HTML文档_(W[G5aolJ Javax.swing.text.html.parser Html文档分析器 JAVA中文站社区门户6O8d)D^g,z Javax.swing.text.rtf 支持显示和编辑RTF文件 JAVA中文站社区门户:m?|"A.|4G~.@"Oh Javax.swing.tree Jtree组件支持类\#Ip1j }0| Javax.swing.undo 支持取消操作 JAVA中文站社区门户2} B^6IX7X/M'K/o'hs]:s0Wh)O{KE"x8wJAVA中文站社区门户w8{ [D]0yk (在jdk1.3中第、第 2和pending包没有了增加了plaf.multi包主要功能:给缺省L&F加上附加L&F例如个MultiButtonUI例子可以同时处理MotButtonUI和AudioButtonUI.)JAVA中文站社区门户Jh2W+]+c6f7x Q2P AJAVA中文站社区门户B/H-L-g.] JY swing包是Swing提供最大包它包含将近100个类和25个接口几乎所有Swing组件都在swing包中只有JtableHeader和 JtextComponent是例外它们分别在swing.table和swing.text中JAVA中文站社区门户(ch7PQk1E]0{8dc o swing.border包中定义了事件和事件监听器类和AWTevent包类似它们都包括事件类和监听器接口2\^2Fa3ZNQ swing.pending包包含了没有完全实现Swing组件v%r\W7h9kc7a swing.table包中主要包括了表格组建(JTable)支持类JAVA中文站社区门户!A@0m;q%E0Zk.i swing.tree同样是JTree支持类JAVA中文站社区门户Mc`_'R5u$u swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用于显示和编辑文档包JAVA中文站社区门户\^4D:pm)\a:Z?/BhHs&f7.1.3 Swing组件多样化JAVA中文站社区门户d-Z9{e#_PlX!zJAVA中文站社区门户 b2n)C(Z9b)PL4u Swing是AWT扩展它提供了许多新图形界面组件Swing组件以"J"开头除了有和AWT类似按钮(JButton)、标签(JLabel)、复选框(JCheckBox)、菜单(JMenu)等基本组件外还增加了个丰富高层组件集合如表格(JTable)、树(JTree) JAVA中文站社区门户uto2s1E7.1.4 MVC(Model-View-Control)体系结构JAVA中文站社区门户&k?$fWOJAVA中文站社区门户hkY#e6D7^ Swing胜过AWT主要优势在于MVC体系结构普遍使用在个MVC用户界面中存 3个通讯对象:模型、视图和Control控件模型是指定逻辑表示法视图是模型可视化表示法而Control控件则指定了如何处理用户输入当模型发生改变时它会通知所有依赖它视图视图使用Control控件指定其相应机制JAVA中文站社区门户rIF0\q0ug,[_:K6s`XPA 为了简化组件设计工作在Swing组件中视图和Control控件两部分合为体每个组件有个相关分离模型和它使用界面(包括视图和Control控件)比如按钮JButton有个存储其状态分离模型ButtonModel对象组件模型是自动设置例如般都使用JButton 而不是使用ButtonModel 对象另外通过Model类子类或通过实现适当接口可以为组件建立自己模型把数据模型和组件联系起来用Model( )思路方法JAVA中文站社区门户1O[LKA2S^S AS(J&l MVC是现有编程语言中制作图形用户界面种通用思想其思路是把数据内容本身和显示方式分离开这样就使得数据显示更加灵活多样比如某年级各个班级学生人数是数据则显示方式是多种多样可以采用柱状图显示也可以采用饼图显示也可以采用直接数据输出因此在设计时候就考虑把数据和显示方式分开对于实现多种多样显示是非常有帮助"qO!zv;h:PRGe4[T,~` z#T`.kV){7.1.5 可存取性支持JAVA中文站社区门户[tV`(DJAVA中文站社区门户?"Z;Z,WoIy1t%n\y 所有Swing组件都实现了Accessible接口提供对可存取性支持使得辅助功能如屏幕阅读器能够十分方便从Swing组件中得到信息JAVA中文站社区门户S|`_:cJAVA中文站社区门户,L~:OXp7.1.6 支持键盘操作JAVA中文站社区门户-[a1\lF LI7FRJAVA中文站社区门户0z1Q#r[#r 在Swing组件中使用JComponent类registerKeyboardAction()思路方法能使用户通过键盘操作来替代鼠标驱动GUI上Swing组件相应动作有些类还为键盘操作提供了更便利思路方法JAVA中文站社区门户N Hn:WB'E"T$Vs^JAVA中文站社区门户y#C X;b:X:A 其实这就相当于热键使得用户可以只用键盘进行操作JAVA中文站社区门户N$E$mn};Z!k#Q!sRcq7.1.7 设置边框C#vtJp0f7eUJAVA中文站社区门户9c4kI@'Zr)]v 对Swing组件可以设置个和多个边框Swing中提供了各式各样边框供用户选用也能建立组合边框或自己设计边框种空白边框可以增大组件协助布局管理器对容器中组件进行合理布局C#kf9zb*jG'ay$z v)FVX.V7.1.8 使用图标(Icon)JAVA中文站社区门户9s2`7eHt"F4GJAVA中文站社区门户x!O)O6`-k 和AWT部件区别许多Swing组件如按钮、标签除了使用文字外还可以使用图标修饰自己7O&FF"mCJAVA中文站社区门户"J(Cnl^7e+\例7.1:JAVA中文站社区门户WFyC0KGk import javax.swing.*; //引入Swing包名QB zT*v }y //import com.sun.java.swing.*;o9E&e5S?y,n //使用JDK 1.2 Beta 4版和所有Swing 1.1 Beta 3JAVA中文站社区门户2o'| ^)G7@.c //的前版本,引入Swing包名用此思路方法JAVA中文站社区门户x)L,X[|9qL import java.awt.*;!a(]7` rM(TLg.jdX import java.awt.event.*;JAVA中文站社区门户W1~oeVEX V public SwingApplication {JAVA中文站社区门户.t&?2t5X(`v2l private String labelPrefix = "Number of button clicks: ";K:sOq*n private numClicks = 0; //计数器计算点击次数JAVA中文站社区门户+I5^\'RAd,k public Component createComponents {JAVA中文站社区门户/vL#b-hj%M final JLabel label = JLabel(labelPrefix + "0 ");JAVA中文站社区门户!@PZ0Vg:}_;VE.LJAVA中文站社区门户OaBWv9| JButton button = JButton("I'm a Swing button!");JAVA中文站社区门户Jb6jf8uR'[ button.Mnemonic(KeyEvent.VK_I); //设置按钮热键为'I'6P.f'eI!Pr button.addActionListener( ActionListener {JAVA中文站社区门户R|JGYK"p"t6p public void actionPerformed(ActionEvent e) {JAVA中文站社区门户T.I#z3NqcI;b^*U numClicks;CGx-UbG;Vy8m&c label.Text(labelPrefix + numClicks);JAVA中文站社区门户_ku*GZh#B hfyw ^ //显示按钮被点击次数JAVA中文站社区门户!}4f$J L'_3@^2NB }JAVA中文站社区门户O"I~~2`\7Bq });ZBv*H_nO}KTKQ belFor(button);4{1N8m}'_s@tqjIbst /* 在顶层容器及其内容的间放置空间常用办法是把内容添加到Jpanel上而Jpanel本身没有边框*/!E%wdnp5Le:b2C&kZl)b,G;{/Pr#b JPanel pane = JPanel;JAVA中文站社区门户d+H%bQ(K{ pane.Border(BorderFactory.createEmptyBorder(| l0jX}6jzyzQ 30, //top`9\'Y+@4Ew^A7gjZ 30, //left9m{:ct]Ha 10, //bottom@.y:t_/i6@V 30) //right*Wb F \;qZoP );JAVA中文站社区门户/Fff EuPhqC yout( GridLayout(0, 1)); //单列多行JAVA中文站社区门户j"fd?.B-|mJ pane.add(button);JAVA中文站社区门户I;~E"Y.?D6d"AS { pane.add(label);8\ ~G q7JaS'y5B-Q pane;_~)iNoG8W` }JAVA中文站社区门户9W%o4](IpvLPJAVA中文站社区门户*KdwdDN public void (String args) {JAVA中文站社区门户D2cy(aQ/b\ZP try {[#_ t e!u5E9bgP5i UIManager.LookAndFeel(JAVA中文站社区门户u-]#\0lF'o2G,e T UIManager.getCrossPlatformLookAndFeelClassName);JAVA中文站社区门户Ex/A2sO } //设置窗口风格7|kN~dHE } catch (Exception e) { }W'qD`:e HzJF%yu6wO`x2Ug //创建顶层容器并添加内容.JAVA中文站社区门户oo6Ksibs JFrame frame = JFrame("SwingApplication");t2DhHr$j SwingApplication app = SwingApplication;~|up;aQ+k Component contents = app.createComponents;oSp)wX frame.getContentPane.add(contents, BorderLayout.CENTER);JAVA中文站社区门户?;A R2~N[*Q"\+H&J.IK&uj ` //窗口设置结束开始显示"s1pwFg%n2wP frame.addWindowListener( WindowAdapter {"c%F\F.z+zW //匿名类用于注册监听器JAVA中文站社区门户4bu+NzKH public void windowClosing(WindowEvent e) {-EDQ.zq2w .exit(0);JAVA中文站社区门户wd'J9c.p@H }hI*UO?8N });JAVA中文站社区门户OV#I^\^S9V frame.pack;/r Z)[8Ge7Z1y frame.Visible(true);JAVA中文站社区门户S&ks%|'i;L$[$` y1r x~ }7y3\sMpjrO }aEx2Ly.i ]&C%AWi)I!v:AS4c(e 查看运行结果ye3y-r0O;f"mJAVA中文站社区门户SV;]%}0jN7.1.9 Swing结构介绍"z:tf s;s:kJAVA中文站社区门户jfeUlU Swing设计般可按照下列流程进行:8V@ wkC 1. 引入Swing包muS%eA1n0if |-z 2. 选择"外观和感觉"KB&rk&Q;D6~S'kF0u 3. 设置顶层容器FU!^ rDAS 4. 设置按钮和标签JAVA中文站社区门户_*U)^ yK5[5s 5. 向容器中添加组件l]3N^*e 6. 在组件周围添加边界JAVA中文站社区门户-|z A#GHDa 7. 进行事件处理+mA\alo`%i6SJAVA中文站社区门户Na-kv"c T 例子7.1介绍说明了Swing中设计结构以及最基本组件Button和Label使用方法在中我们建立个Swing风格窗口并在其中添加个按钮中保存个计数器以计算按钮被点击次数并在每次点击的后用个Label显示在这个中我们可以看到Swing组件使用和AWT组件使用基本思路方法致使用事件处理机制也完全相同这些在前面AWT中已经讲过不再赘述TAG: Swing swing 教程 设计 用户界面31/3123>2009-1-12 1:13:34疯狂代码 /。

Java桌面程序开发第5章-使用Swing常用组件

Java桌面程序开发第5章-使用Swing常用组件
教学要求 1.掌握:Swing各种常用组件的使用,包括图形用户界
面所需要的基本组件、选择型组件,菜单等的创建和使用 2.理解:工具栏的创建,对话框的创建和使用
5.1 GUI的基本元素:标签、按钮、文本框
1.JLabel
• JLabel类是一个用来显示文本的类,文本就是一个字符串。在程 序中指定要显示的字符串,但该字符串在运行时不能被用户修改
密码文本框是用来输入密码的文本框。
密码框继承单行文本框,所以密码框只显示单行输入框。 但是,与单行文本框不同的是,密码框输入的文字将不会 正常显示出来,而是使用其它字符代替。
可以通过调用setEchoChar(char c)来更改显示字符。密 码框的作用是防止别人看到所输入的文字信息。
JPasswordField的构造方法:
JCheckBox类继承JToggleButton类,而JToggleButton类 实现一个反选按键,只有按下和释放两种状态。复选框也 有类似功能,只有选择和不选择两种状态,而且复选框可 由多个按钮组成一个组群。
定义它们之间的间隔。 • int getHorizontalAlignment():返回标签内容沿 X 轴的对齐方式。 • int getVerticalAlignment() :返回标签内容沿 Y 轴的对齐方式。 • void setLabelFor(Component c):设置将标签添加到的组件。
区要换行)。
实例
例5-10 使用JTextArea
例5-11 从一个文本区复制选中的文字到另一个文本区
5.3 选择型组件
Java提供了很多的选择型组件,用户可通过单击选定,免 去了输入文本的麻烦。
常用的选项组件有单选框,复选框,列表框,组合列表框 等。

swing教程

swing教程

swing教程Swing是Java的一个图形界面(GUI)工具包,它提供了一组用于创建富客户端应用程序的类和方法。

本教程将带您逐步学习Swing的基本概念和用法。

1. 引入Swing库在开始编写Swing应用程序之前,首先需要在代码中引入Swing库,可以通过添加以下代码实现:```import javax.swing.*;```2. 创建Swing窗口创建一个Swing窗口是使用Swing的第一步。

可以通过以下代码创建一个基本的Swing窗口:```JFrame frame = new JFrame("Swing窗口");frame.setSize(400, 300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);```3. 添加组件在Swing窗口中添加各种组件(如按钮、标签、文本框等)是创建功能完善的界面的关键。

可以使用不同的Swing类来创建和定位这些组件,例如JButton、JLabel和JTextField。

以下是添加一个按钮和一个标签的示例:```JButton button = new JButton("点击我");JLabel label = new JLabel("Hello, Swing!");frame.add(button);frame.add(label);```4. 布局管理器布局管理器是用于控制Swing组件在窗口中的位置和大小的工具。

Swing提供了多种布局管理器,例如FlowLayout、BorderLayout和GridLayout。

使用布局管理器可以轻松地创建自适应和响应式的界面。

以下是使用FlowLayout布局管理器的示例:```frame.setLayout(new FlowLayout());```5. 事件处理Swing允许通过添加事件监听器来处理用户的交互。

java swing 中文教程

java swing 中文教程

作者:williamchen译者:Matthew Chen备注:本文是翻译,由于部分文本网上有提供,就直接使用了。

作者的初稿,不是很规范的英文,但是内容值得一读,所以翻译了出来,一系列共有四篇,红字为译者评论。

Overview概述Java GUI toolkits have always been a controversial topic. The same type of debates also happened in other languages such as Smalltalk. In fact there exist such debates on everyplatform-independent language. It is especially prominent in Java because Java is the most dominating language today.Java GUI 工具包一直是一个倍受争议的话题。

同样的争论也发生在其他编程语言如Smalltalk。

实际上每个平台无关的语言都存在着这样的争论。

Java作为当前最受广泛使用的编程语言而尤为突出。

So what’s the controversy? Basically, it is a dispute between people who support emulated components(or widgets, or controls) and those who support native components. There are two camps among Java developers, one of which advocates for emulated components as in Swing, and the other native components as in SWT.这场争论在支持模拟组件(如widgets和control,在下文中也称之为仿造组件)和支持本地组件(在下文中也称之为原生组件)的人们之间展开,于是Java开发者形成了两个不同的阵营,提倡使用模拟组件的Swing,和提倡使用原生组件的SWT。

JavaSwing使用总结(转载)

JavaSwing使用总结(转载)

JavaSwing使⽤总结(转载)随笔转载⾃:地址:1. GUI编程引⾔以前的学习当中,我们都使⽤的是命令交互⽅式: 例如:在DOS命令⾏中通过javac java命令启动程序.软件的交互的⽅式: 1. 命令交互⽅式 图书管理系统 2. 图形交互⽅式 ava提供了专业的API⽤于开发图形⽤户界⾯ GUI--> Graphic User Interface 将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理器,颜⾊,字体等.2. GUI的分类2.1. AWT Java1.0版本的图形⽤户界⾯库,设计⽬标是帮助程序员编写在所有平台上都能良好表现的GUI程序。

为了实现这个⽬标Java1.0提供了抽象窗⼝⼯具集(AWT),但是这个⽬标并没有达到。

AWT在所有的系统上表现都不好。

因为:最初版本的AWT是在⼀个⽉内构思,设计和实现的(Think in Java )。

Abstract Window Toolkit 抽象窗⼝⼯具集 Java将图形⽤户界⾯相关的类捆绑在了⼀起,放在了⼀个称之为抽象窗⼝⼯具集的库中.AWT适合开发简单的图形⽤户界⾯,并不适合开发复杂的GUI项⽬. 位于: java.awt.* 中,定义了很多的组件类,开发者可以直接创建对象加以使⽤ 缺点: 所有的图形界⾯都依赖于底层的操作系统,容易发⽣于特定平台相关的故障. AWT调⽤本地系统资源⽣成图形化界⾯, 依赖本地平台. 1.02.2. SwingSUN公司对AWT进⾏了升级,基于AWT,推出了⼀种更稳定,更通⽤和更灵活的库.称之为Swing组件库(Swing component)。

既然都是⽤于GUI设计的组件库,那么为了区分Swing组件类和对应的AWT组件类,Swing组件类都已字母J为前缀.位于:javax.swing.* 中,提供了和AWT中等同的所有的组件类,但是类名的前⾯多加了⼀个J.SWING可以跨平台. 1.2我们主要学习Swing GUI组件.3. Java GUI APIGUI API包含的类分为三个部分:组件类(component class) 容器类(container class),和辅助类(helper class)1. 组件类是⽤来创建⽤户图形界⾯的,例如JButton,JLabel,JTextField.2. 容器类是⽤来包含其他组件的,例如JFrame,JPanel3. 辅助类是⽤来⽀持GUI组件的,例如Color,Font3.1. 组件类在图形⽤户界⾯程序中当我们想要创建按钮、复选框和滚动条等这些可以显⽰在屏幕上的对象,该如何创建。

swing入门教程

swing入门教程

第一步是创建类。将组件放在 JFrame 上的 Swing 应用程序需要继承 JFrame 类,如 下所示: public class HelloWorldextends JFrame 这样做之后,就得到上面描述的所有 JFrame 属性,最重要的是操作系统对窗口的本机 支持。下一步是把组件放在屏幕上。在这个示例中,使用了一个 null 布局。在教程的后 面部分,您将学到更多关于布局和布局管理器的内容。但对于这个示例,可以用数字表 示 JFrame 上的像素位置: public HelloWorld() { super(); this.setSize(300,200); this.getContentPane().setLayout(null); this.add(getJLabel(),null); this.add(getJTextField(),null); this.add(getJButton(),null); this.setTitle("HelloWorld"); }
时,造成按钮单击。 除了这些方法,我还要介绍 JButton 包含的另外一组方法。这些方法利用了按钮的所有 不同状态。状态是对组件进行描述的一个属性,通常采用真/假设置。在 JButton 中,可 以包含以下可能状态:活动/不活动、选中/没选中、鼠标经过/鼠标离开、按下/没按下, 等等。另外,可以组合这些状态,例如按钮可以在鼠标经过的同时被选中。现在您可能 会问自己用这些状态到底要做什么。作为示例,请看看您的浏览器上的后退按钮。请注

JComponent 不仅是 Swing 组件的基类, 还是定制组件的基类(有关的更多信息
在“中级 Swing”教程中) 。

它为所有组件提供了绘制的基础架构 —— 一些方便进行组件定制的东西(同样,

Swing 编程

Swing 编程

Java之Swing编程理解什么是GUI/设计GUI基本界面/理解事件类和接口/学习使用部件按钮,标签,列表,文本框,面板/学会处理鼠标和键盘事件/使用基本的布局管理器。

GUI是由N多的部件构成的,这些部件叫Components, 也叫Gadget(神探加吉特那个词)。

这些部件有JLabel/JTextField/JButton/JCheckBox/JComboxBox/JList/JPanel。

它们构成了界面。

这些部件在屏幕上的排列顺序由LayoutManager负责管理,再加上Menu,Menu Bar 就构成了完整的用户界面。

用户界面只是一个外观。

界面是为了完成和用户的交互任务。

用户可以用Mouse/KeyBoard/甚至是Voice 。

界面取得用户输入事件后传给相应的Listener类对象,由这些特殊的Listener响应事件,这些Listener是一些接口(Interface),接口中有一些必须超越的方法。

事件发生后,这些被超越的方法自动调用以完成交互任务。

9.1Swing概况(1)Swing由纯Java写成,可移植性好,外观在不同平台上相同。

所以Swing部件称为轻量级组件(2)AWT部件和平台紧密相关,各种平台它们的外观不尽相同,所以称重量级组件,通用性差。

注意,某些Swing部件还是重量级的,比如JFrame和JAppletng.object ponent java.awt.container java.swing.JComponentJAVA的GUI部件都是Component,都有paint repaint update方法Container是一个集合,里面放了各种的GUI部件,而我们常用的Contentpane就是一个Container对象请大家注意J2SDK中的Components/container/Jcomponet的方法,这些方法是所有部件共有的。

Swing 部件继承图JComponent的好处1 自定义Look and Feel外观。

第十一章swing-1

第十一章swing-1

描述
用指定的显示文本构造一个新的文本区 设置文本区的字体 获取文本区中的文本字符串
12
版本 1.0
课程 1
幻灯片 12,共 30 张
Java 编程语言
JButton 方法
JButton( )
说明
创建不带文本和图标的按钮
JButton(Icon icon)
JButton(String text) JButton(String text, Icon icon)
版本 1.0
课程 1
幻灯片 8,共 30 张
Java 编程语言
Swing GUI 组件 JTexField
JComboBox
JLabel
JCheckBox
JTexArea
9
JRadioButton
JButton
课程 1 幻灯片 9,共 30 张
版本 1.0
Java 编程语言
JLabel 方法
JLabel()
版本 1.0
课程 1
幻灯片 19,共 30 张
Java 编程语言
布局管理器
•用户界面上的屏幕组件可以按照一定的格式 布局 例如水平排列,或按网格方式排列 •布局管理器类是一组类,它
• 实现 youtManager 接口 • 帮助在容器中放置组件
•Java 中可用的各种布局如下:
将项添加至项的列表 返回指定索引位置的列表项 返回列表(作为对象)中的项数 将当前选择的项作为一个对象返回 返回当前选择项的索引位置
16
版本 1.0
课程 1
幻灯片 16,共 30 张
Java 编程语言
事件处理程序 3-1
用户交互
单击鼠标 按下/释放鼠标按钮

java语言中awt和swing组件的基本用法

java语言中awt和swing组件的基本用法

java语言中awt和swing组件的基本用法AWT (Abstract Window Toolkit)是Java编程语言的一套图形用户界面(GUI)组件集,它提供了创建和管理窗口、按钮、标签等图形组件的能力。

AWT组件是依赖于操作系统的本地GUI组件。

下面是使用AWT组件的基本步骤:1.导入AWT相关的类:通常在使用AWT组件之前,需要导入`java.awt`和`java.awt.event`包中的类。

2.创建一个Frame:使用`Frame`类来创建一个顶级窗口。

3.创建其他组件:使用AWT提供的组件类(如`Button`、`Label`等)来创建其他需要的组件。

4.将组件添加到Frame:使用`add()`方法将其他组件添加到Frame中。

5.设置Frame的布局:使用`setLayout()`方法设置Frame的布局方式,如`FlowLayout`、`GridLayout`等。

6.设置Frame的大小和可见性:使用`setSize()`方法设置Frame 的大小,使用`setVisible(true)`方法设置Frame可见。

7.添加事件监听器:使用`addActionListener()`方法为按钮等组件添加事件监听器。

Swing是Java编程语言中提供的一组GUI组件,它是在AWT的基础上进行了增强和扩展。

Swing组件是纯Java组件,不依赖于操作系统的本地组件,因此具有更高的可移植性和灵活性。

下面是使用Swing组件的基本步骤:1.导入Swing相关的类:通常在使用Swing组件之前,需要导入`javax.swing`包中的类。

2.创建一个JFrame:使用`JFrame`类来创建一个顶级窗口。

3.创建其他组件:使用Swing提供的组件类(如`JButton`、`JLabel`等)来创建其他需要的组件。

4.将组件添加到JFrame中:使用`add()`方法将其他组件添加到JFrame中。

Swing编程

Swing编程
例如水平排列,或按网格方式排列 •布局管理器类是一组类,它
• 实现 youtManager 接口 • 帮助在容器中放置组件
•Java 中可用的各种布局如下:
• BorderLayout
• FlowLayout
• GridLayout
BorderLayout 2-1
North
上边的组件
说明
构造新的中间对齐的顺Fl序ow排L列ay的ou组t,件 将垂直和水平间距保留为 5 个像素
setAlignment( int align) 设置指定布局的对齐方式
setHgap(int hgap)
设置指定布局的水平间距
setVgap(int vgap)
设置指定布局的垂直间距
垂直或水平间距
容器
右下角
闭和图标化窗口的按钮默认情况下不透明
Swing GUI 组件
JTexField
JLabel
JRadioButton
JButton
JComboBox JCheckBox
JTexArea
事件体系结构
EventObject AWTEvent
ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent FocusEvent InputEvent PaintEvent WindowEvent KeyEvent MouseEvent
JPopupMenu 类 2-1
左 边
将组件间Ce的nte水r 平间距设置为指定的的值 East 将组件间的垂直间距设置为指定组的值

下边的组件 South
FlowLayout 2-1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档