Swing组件的用法

合集下载

java swchi用法

java swchi用法

java swchi用法引言是文章开篇部分,用于介绍文章的背景、目的和结构。

在本文中,我们将对Java Swing的使用进行详细介绍和讨论。

1.1 概述:Java Swing是Java语言提供的一套图形用户界面(Graphical User Interface, GUI)工具包,它为开发者提供了创建丰富、交互性强的图形界面应用程序的能力。

通过使用Java Swing,开发者可以轻松地设计和实现窗口、标签、按钮等各种UI组件,并与用户进行交互。

1.2 文章结构:本文将分为五个主要部分来介绍Java Swing的使用方法和常用组件。

首先,在“2. Java Swing简介”部分中,我们将对Java Swing进行基本介绍,包括其定义、特点以及应用领域。

然后,在“3. 开发Java Swing应用程序的基本步骤”部分,我们将详细说明如何安装和配置Java开发环境,并给出开发Swing应用程序的基本步骤。

接下来,在“4. Java Swing常用组件及用法示例”部分中,我们将逐一介绍常见的Swing组件,如JFrame窗口类、JLabel标签类以及JButton按钮类,并给出相应的使用方法示例。

最后,在“5. 结论与展望”部分中,我们将对Java Swing的优势与局限性进行总结,并展望Java GUI开发的未来趋势。

1.3 目的:本文旨在帮助读者了解和掌握Java Swing的基本使用方法和常用组件,以便能够快速开发出功能强大、用户友好的图形界面应用程序。

通过学习本文,读者将能够了解Swing的特点和应用领域,并掌握开发Swing应用程序的基本步骤。

同时,本文还将通过具体示例介绍常见的Swing组件的用法,以帮助读者更好地理解和运用这些组件。

以上是“1. 引言”部分内容的详细描述。

接下来,我们将继续撰写文章其他部分的内容。

2. Java Swing 简介2.1 什么是Java SwingJava Swing是一组用于创建图形用户界面(GUI)的Java库。

(总结)Swing组件的使用

(总结)Swing组件的使用

(总结)Swing组件的使用Swing 的组件与AWT 组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件.Swing 的基本组件:1.按钮(JButton):Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮。

(1).JButton 常用的构造方法。

JButton(String text):按钮上显示字符。

JButton(Icon icon) :按钮上显示图标。

JButton(String text, Icon icon):按钮上既显示图标又显示字符。

(2).常用方法:b1.setEnabled(false); //使按钮当前不可用b1.setToolTipText("..."): //设置按钮提示文本b1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键(3).案例代码:[java] view plain copy print?public class JButtonExample3 extends JPanel implements ActionListener{ protected JButton b1, b2, b3; public JButtonExample3() { ImageIconleftButtonIcon = createImageIcon("right.gif");ImageIcon middleButtonIcon =createImageIcon("middle.gif"); ImageIcon rightButtonIcon = createImageIcon("left.gif");b1 = new JButton("失效中间按钮(D)", leftButtonIcon);b1.setVerticalTextPosition(AbstractButton.CENTER);// 水平中间对齐b1.setHorizontalTextPosition(AbstractButton.LEADING);// 相当于LEFTb1.setMnemonic(KeyEvent.VK_D);// 将b1邦定alt+D键b1.setActionCommand("disable");b2 = new JButton("M中间按钮", middleButtonIcon);b2.setVerticalTextPosition(AbstractButton.BOTTOM);b2.setHorizontalTextPosition(AbstractButton.CENTER);b2.setMnemonic(KeyEvent.VK_M);// 将b2邦定alt+M键b3 = new JButton("E激活中间按钮", rightButtonIcon);b3.setMnemonic(KeyEvent.VK_E);// 将b3邦定alt+E键b3.setActionCommand("enable");b3.setEnabled(false); // 给1和3添加事件监听b1.addActionListener(this);b3.addActionListener(this); // 设置按钮提示文本b1.setToolTipText("点击这个按钮,将使中间的按钮失效!"); b2.setToolTipText("点击这个按钮,没有任何的事件发生!");b3.setToolTipText("点击这个按钮,将使中间的按钮有效"); // 将按钮添加到JPanel中add(b1);add(b2); add(b3); } public void actionPerformed(ActionEvent e) { if ("disable".equals(e.getActionCommand())){ b2.setEnabled(false);b1.setEnabled(false);b3.setEnabled(true); } else{ b2.setEnabled(true);b1.setEnabled(true);b3.setEnabled(false); } }protected static ImageIcon createImageIcon(String path) { .URL imgURL =JButtonExample3.class.getResource(path); if (imgURL != null) { return newImageIcon(imgURL); } else{ System.err.printl n("Couldn′t find file: " + path); return null; } } public static void main(String[] args) { // 设置使用新的swing界面//提供一个关于新创建的JFrame 是否应该具有当前外观为其提供的Window 装饰(如边框、关闭窗口的小部件、标题等等)的提示。

第08章+常用Swing组件

第08章+常用Swing组件

Java程序设计
第8章 常用Swing组件
8.1.3文本组件
1.JTextField
它是一个单行文本输入框,可输出任何文本的信息,也可以接 受用户输入。
(1) JTextField常用的构造方法 ① JTextField() 用于创建一个空的文本框,一般作为输入框; ② JTextField (int columns) 构造一个具有指定列数的空文本框 ③ JTextField (String text)构造一个显示指定字符的文本框,作 为输出框; ④ JTextField(String text, int columns) 构造一个具有指定列数、 并显示指定初始字符串的文本域 。
Java程序设计 第8章 常用Swing组件
3.组件的大小与位置
public void setSize(int width,int height) 设置组件的大小, 参数width指定组件的宽度,height指定组件的高度。 public void setLocation(int x,int y) 设置组件在容器中的位 置,容器的坐标系的左上角的坐标是(0,0),参数x,y指定该 组件距容器的左边界 x个像素,距容器的上边界 y 个像素。 public Dimension getSize() 方法返回的Dimension 对象的 width的值就是组件的宽度、height的值就是当前组件的 高度。 public Point getLocation() 方法返回的Point对象的x,y的 值就是组件的左上角在容器的坐标系中的x坐标和y坐标。
Java程序设计
第8章 常用Swing组件
JTextComponent一些方法
getSelectedText() ——从文本组件中提取被选中的文本内容

Swing组件

Swing组件
常用容器之一 有效利用他使版面管理更为容易; 支持double buffering,处理动画片更为流畅(无闪烁) 构造函数:
• JPanel(LayoutManager layout,boolean isDoubleBuffered)
范例 path:exam\ch5
• JPanel1.java //利用JPanel排列5个JLabel对象
5)不可编辑信息的显示 Jlabel, JProgressBar, JToolTip
6)可编辑的格式化信息的显示 JColorChooser, JFileChooser, JTable, JTextField, JTextArea, JTree
总结
JFrame、JApplet、Jdialog是swing的底层 容器,是重量级容器;
❖ComponentEvent //组件移动、缩放、显示、隐藏
❖FocusEvent
//获得或失去焦点
❖KeyEvent
//在组件聚焦时,接收键盘输入
❖MouseEvent
//鼠标点击和进、出测试区
❖MouseMotionEvent //鼠标移动
4、能激活Container类的ContainerEvent事件的Swing组件
• 当树的结构有任何改变时,例如节点值变了、新增或删除了节 点等。
• 必须实现TreeModelListener接口
void treeNodesChanged(TreeModelEvent e)
void treeNodesInserted(TreeModelEvent e)
void treeNodesRemoveed(TreeModelEvent e)
Swing组件层次
增加Swing组件后类层次图

java-Swing控件的用法和范例

java-Swing控件的用法和范例

java-Swing控件的用法和范例类JTableJTable用来显示和编辑规则的二维单元表。

JTable有很多用来自定义其呈现和编辑的设施,同时提供了这些功能的默认设置,从而可轻松地设置简单表。

例如,要设置一个10行10列的表:TableModel dataModel=new AbstractTableModel(){public int getColumnCount(){return10;}public int getRowCount(){return10;}public Object getValueAt(int row,int col){return new Integer(row*col);} };JTable table=new JTable(dataModel);JScrollPane scrollpane=new JScrollPane(table);注意,如果要在单独的视图中(在JScrollPane外)使用JTable并显示表标题,则可以使用getTableHeader()获取并单独显示它。

设计使用JTable的应用程序时,要严格注意用来表示表数据的数据结构。

DefaultTableModel 是一个模型实现,它使用一个Vector来存储所有单元格的值。

该Vector由包含多个Object 的Vector组成。

除了将数据从应用程序复制到DefaultTableModel中之外,还可以TableModel接口的方法来包装数据,这样可将数据直接传递到JTable,如以上示例所示。

这通常可以提高应用程序的效率,因为模型可以自由选择最适合数据的内部表示形式。

在决定使用AbstractTableModel还是使用DefaultTableModel方面有一个好的实践经验,即在创建子类时使用AbstractTableModel作为基类,在不需要创建子类时则使用DefaultTableModel。

tp14swing组件

tp14swing组件

进度条JProgressBar
2. 常用方法
方法
int getMaximum() int getMaximum() int getOrientation()
double getPercentComplete() String getString() int getValue() boolean isStringPainted() void setMaximum(int max) void setMinimum(int min) void setOrientation(int direct)
| +--javax.swing.JProgressBar 1. 构造函数 格式:JProgressBar () 功能:建立一个水平方向的进度条JProgressBar对象,其变化范围是0到100。 格式:JProgressBar (int direct) 功能:建立一个方向为direct的进度条JProgressBar对象,其变化范围是0到100。 格式:JProgressBar (int min,int max) 功能:建立一个水平方向的进度条JProgressBar对象,其范围是min到max。 格式:JProgressBar (int direct ,int min,int max) 功能:建一个方向为direct的进度条JProgressBar对象,其范围是min到max。
JComboBox jcb=new JComboBox (stu); 这就创建了一个下拉列表框jcb,其初始数据有4项,分别为:“王小平”,”刘
国军”,”吴芬”,”李建军”。 2.常用方法
下拉列表框JComboBox
方法
void addItem(Object itm) void insertItemAt(Object itm,int idx) void removeItemAt(int idx) void removeItem(Object itm) void removeAllItems() Object getItemAt(int idx) int getItemCount() int getSelectedI次关系为: ng.Object | +ponent

Java实用教程 第12章 Swing组件及应用

Java实用教程 第12章 Swing组件及应用

Swing标准对话框
对话框(JDialog)
对话框(JDialog)
JDialog是在现有窗口的基础上弹出的另一个窗口,用于显示提示信息或接收用户输入。JDialog 的默认布局管理器是BorderLayout。 JDialog的构造方法:
public JDialog(Frame owner,String title,boolean modal)
列表框(JList)
【例12.5】创建一个列表框,采用默认的MULTIPLE_INTERVAL_SELECTION选择模式,用构造方法 JList(months)中的months参数传入所有选项。 运行程序,选择右边列表的元素,结果将显示在左边文本区中,如图12.5所示。
Swing菜单程序设计
菜单条(JMenuBar)
运行程序,在文本框中依次输入“5、500、7”,单击“求a到b之间的质数”按钮,将在文本区 显示5~500之间的所有质数,并计算出质数个数,显示在下面的文本框中,程序运行结果如图 12.3所示。
复选框(JCheckBox)和 单选按钮(JRadioButton)
复选框(JCheckBox)和单选按钮(JRadioButton)
按钮(JButton)
【例12.2】创建两个JButton,让其中一个在各个状态下使用不同的图标。 说明:程序的getClass().getResource("image0.jpg")方法从当前路径下加载图片文件,故在运行 程序前要将事先准备好的图片资源置于工作区项目的bin\org\swing目录下,运行结果如图12.2所 示。图中有两个按钮,Pet(jbt1)按钮显示图标,Disable(jbt2)按钮能够控制Pet(jbt1)按钮是否有效。

第14章使用Swing基本组件

第14章使用Swing基本组件

14.2.3 单选按钮组件JRadioButton
单选按钮是一组在同一时刻只有一个按钮可以被选 中的按钮。Swing中支持单选按钮的是 JRadioButton和ButtonGroup类。因为 JRadioButton继承自AbstractButton,所以单选按 钮具有所有按钮的特性。
14.2.4 文本框组件JTextField
1.李鸿章1872年在上海创办轮船招商局,“前10年盈和,成
为长江上重要商局,招商局和英商太古、怡和三家呈鼎立
之势”。这说明该企业的创办
()
A.打破了外商对中国航运业的垄断
B.阻止了外国对中国的经济侵略
C.标志着中国近代化的起步
D.使李鸿章转变为民族资本家
解析:李鸿章是地主阶级的代表,并未转化为民族资本家; 洋务运动标志着中国近代化的开端,但不是具体以某个企业 的创办为标志;洋务运动中民用企业的创办在一定程度上抵 制了列强的经济侵略,但是并未能阻止其侵略。故B、C、D 三项表述都有错误。 答案:A
Swing中支持文本框组件的是JTextField类,用来 接受用户输入的单行文本信息。如果需要为文本框 设置默认文本,可以通过构造器 JTextField(String text)创建文本框对象。
14.2.5 密码框组件JPasswordField
Swing中支持密码框组件的是JPasswordField类, 它是JTextField的子类,为密码输入提供特殊的文 本字符。出于安全的原因,密码框不能显示出用户 输入的字符,要显示与用户输入不同的字符,例如 一个星号‘*’。作为另外一种安全措施,密码框 将它的值存储为一个字符数组,而不是字符串。当 用户结束输入密码并单击时,如按下回车键,密码 框响应一个动作事件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文来自/space.php?uid=548757&do=blog&id=33995使用Swing组件一本章要点l 框架–框架是一个图形界面程序的主窗口–在Java中,每个具有图形界面的程序至少要有一个框架,小程序有时也会使用框架–框架是由边框、标题栏、最大化、最小化、还原、移动、关闭按钮、系统菜单,以及内容窗格组成–内容窗格是框架的核心区域,主要的图形界面组件、菜单栏、工具栏都在内容窗格中–框架是一个程序的主窗口,每个具有图形界面的程序都至少要有一个框架–如果程序中还有其它窗口,并且这些窗口依赖于框架的,则应使用对话框(JDialog)–如果要使其它窗口显示在框架的内部,则应该使用内部框架(JInternalFrame)–内部框架虽然和框架很象,但它不是顶级容器组件,而是专用的容器组件–框架是JFrame类的对象。

创建并显示一个框架的步骤如下:–创建一个JFrame对象,此时框架尚未显示–在添加了组件之后,调用pack函数排列组件–调用它的setVisible函数以显示框架FrameDemoFrame frame = new FrameDemoFrame();frame.setTitle("FrameDemo - 框架功能演示");frame.pack();frame.setVisible(true);–标题用来描述程序,它显示在框架的标题栏上,以及系统的任务栏上–有两种设定框架标题的方法l 利用setTitle函数设定标题l 在构造函数中设定标题–调用框架的setTitle函数,如下所示:frame.setTitle("FrameDemo - 框架功能演示");–利用setIconImage函数为程序设置图标String imgURL = "myicon.gif";ImageIcon icon = new ImageIcon(imgURL);frame.setIconImage(icon.getImage());–关闭程序的方法1:将关闭窗口操作设为退出程序:–frame.setTitle("FrameDemo - 框架功能演示");–frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);–frame.pack();–参数代表关闭时的操作,可以有如下值:l WindowConstants.DO_NOTHING_ON_CLOSE:不做任何事,用窗口监听器进行关闭工作l WindowConstants.HIDE_ON_CLOSE:隐藏界面,这是框架和对话框对象的默认操作l WindowConstants.DISPOSE_ON_CLOSE:隐藏窗口,并且释放它使用的资源,这是内部框架对象的默认操作l JFrame.EXIT_ON_CLOSE:退出应用程序,这种退出方式只能用于应用程序的主框架中–方法2:编写窗口监听器类,在窗口关闭事件中关闭程序,如下面的代码所示:frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);frame. addWindowListener(newFrameDemoFrame_WindowListener_Closing(frame));–例题:在退出程序时,要求用户确认:public void windowClosing(WindowEvent e) {int returnValue;returnValue = JOptionPane.showConfirmDialog(null, "确实要退出程序吗?", "退出程序", JOptionPane.YES_NO_OPTION);if (returnValue == JOptionPane.YES_OPTION)System.exit(0);}–调用此函数时会自动弹出一个对话框,要求用户确定是否退出程序–在框架中加入组件的方法:–用getContentPane函数获得内容窗格–在内容窗格中用add函数加入各种组件JPanel contentPane;contentPane = frame.getContentPane();JPanel panel1 = new JPanel();contentPane.add(panel1);panel1.add(new JLabel("请点击下面的按钮:"));panel1.add(new JButton("关闭"));–主程序框架一般还有菜单栏。

主程序中的菜单栏通过setJMenuBar函数来设定:–JMenuBar menuBar = new JMenuBar();–frame.setJMenuBar(menuBar);–JMenuBar是菜单对象,实际中还需要在其中加入菜单项和菜单子项–关于菜单,后面还会有详细介绍–可以通过setBounds函数来实现setSize, setLocation这两个函数的功能:public void setBounds(int x, int y, int width, int height);Rectangle r = new Rectangle(int x, int y, int width, int height);public void setBounds(Rectangle r);–setLocationRelativeTo函数,它的作用是将框架放到屏幕上一个现有的组件旁边:public void setLocationRelativeTo(Component c);–其中c是一个已经在屏幕上显示的组件–此函数将框架放到组件c的旁边,放置原则是让放置的框架尽量靠近屏幕中间–如果函数参数为null,那么就将框架居中放置,这是常用的一种将窗口居中放置的方法–对话框是另一类常用的顶级容器–对话框与框架非常相似,复杂的对话框也能够实现框架的几乎所有功能–实际中,常用的是界面简单、功能高度特化的对话框l 消息框:显示一条消息l 选择框:让用户进行选择l 文件选择框:选择文件进行打开、保存等操作l 颜色选择框:从调色板中选择颜色–每个对话框都必须依附于框架l 框架关闭以后,所有依附它的对话框也会关闭l 当框架最小化成一个图标的时候,所有依附它的对话框也会自动隐藏l 当框架还原的时候,对话框又会自动显示l 这些操作由Swing自动实现–本小节主要介绍通用的对话框(JDialog)和消息框(JOptionPane)–例:在主框架程序中添加一个通用对话框,里面有一个文字标签和一个按钮:public void showDialog2() {JDialog dialog = new JDialog(this, "对话框");JPanel panel1 = new JPanel();dialog.getContentPane().add(panel1);panel1.add(new JLabel("这是一个对话框。

"));panel1.add(new JButton("点击这里"));dialog.pack();dialog.setVisible(true);}–对话框分为有模式的和无模式的两种类型–有模式的对话框在显示时,将屏蔽用户向对话框所属的主框架键入的所有内容,用户不能对主框架进行任何操作–无模式对话框在显示时,用户仍然可以用鼠标点击主框架,在主框架里输入内容,或移动主框架–缺省的JDialog对话框都是无模式对话框–如果要创建有模式对话框,可以在构造函数里增加一项如下:JDialog dialog = new JDialog(this, "对话框", true);–也可以用setModal函数来设置对话框是有模式的还是无模式的:dialog.setModal(true); // 将对话框设置成有模式的dialog.setModal(false); // 将对话框设置成无模式的–消息框(JOptionPane)是一种非常简洁、专用的对话框。

–例:弹出一个提示消息框:JOptionPane.showMessageDialog(frame, "修改已经保存到文件中。

");–消息框中的图标:l 预设的图标有4种:错误图标、消息图标、警告图标和提问图标l 可以显示自己定制的图标–不同界面风格下的图标风格:l Windows风格l Java风格l CDE/Motif风格l GTK+风格l 对话框–常用消息框的调用:–消息框:利用静态函数showMessageDialog显示–确认框:利用静态函数showConfirmDialog显示–选择框:利用静态函数showOptionDialog显示–输入框:利用静态函数showInputDialog显示l 对话框–showMessageDialog(显示消息框):–消息框是最简单的一种对话框,它的作用只是显示一条消息,它只有一个“确认”按钮,用以关闭消息框。

–通过修改showMessageDialog函数的参数,可以修改消息框显示的消息、图标和消息框的标题,下面列出常用的消息框形式–showMessageDialog是一个静态成员函数,可以从类直接调用,它有三种形式:static void JOptionPane.showMessageDialog(ComponentparentComponent, Object message)static void JOptionPane.showMessageDialog(ComponentparentComponent, Object message, String title,int messageType)static void JOptionPane.showMessageDialog(ComponentparentComponent, Object message, String title,int messageType, Icon icon)–int messageType:消息框类型,有下列值:–showConfirmDialog(显示确认框):–显示一个对话框,让用户选择“是”或“否”,用户选择的结果在返回值中给出:int choice = JOptionPane.showConfirmDialog(frame, "你是否真的要删除文件?");–执行程序,在屏幕上显示的确认框如下:–点击“是”,“否”,“撤销”都会关闭确认框,同时返回一个值:l “是”对应的返回值是JOptionPane.YES_OPTIONl “否”对应的返回值是JOptionPane.NO_OPTIONl “撤销”的返回值JOptionPane.CANCEL_OPTION–可以通过用条件语句比较返回值来确认用户点击的是哪个按钮,再进行下一步操作。

相关文档
最新文档