ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.87MB ,
资源ID:10962669      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10962669.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java学习笔记之Swing.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java学习笔记之Swing.docx

1、Java学习笔记之Swing1. AWTAbstract Windowing Toolkit 抽象窗口工具包是Java用来建立和设置Java图形用户的基本工具。2. 现在基本上不用awt,而用Swing3. JFrame 框架窗体既是一个组件,也是一个容纳其他组件的容器。在开发图形化程序时,需要先创建这个容器,然后把其他组件加进去,就可以进行显示了。我们在创建form的时间,一定要加上这句话:frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);否则窗体将关不掉。WindowConstants接口后面

2、有四个属性:属性名说明EXIT_ON_CLOSE关闭窗口并退出程序DISPOSE_ON_CLOSE关闭并销毁当前窗口,但不退出程序DO_NOTHING_ON_CLOSE点关闭按钮不做任何操作(默认是它)HIDE_ON_CLOSE隐藏但不销毁当前窗体4. JFrame frame=new JFrame(第一个窗体);通过这样创建窗体是不可见的,需要加入一句显示窗体的语句:frame.setVisible(true);JFrame的方法:方法名说明frame.getContentPane()获得窗体对象的容器Frame.setIconImage(img)设置窗体标题栏上显示的图标Frame.set

3、JMenuBar(menuBar)设置窗体的菜单栏Frame.setTitle设置窗体的标题Frame.setResizable(false)设置窗体是否可以改变大小,false为不允许Frame.setBounds(int x,int y,int width,int height)X和y指定左上角的位置,width和height指定窗体大小Frame.setVisible(true)设置窗体的可见性Frame.validate()使窗体容器及其所有子组件生效Frame.setLocation(int x,int y)设置窗体的显示位置Frame.setSize(int width,int h

4、eight)调整窗体的大小上面是通过父类,调用了父类的构造函数创建了一个frame上面这个是没有继承父类,通过自身创建了frame,易于理解。package aaa;import java.awt.Container;import javax.swing.*;public class Form JFrame frame;/在类中定义,易于被其他方法调用 Container cont;/在类中定义,易于被其他方法调用 public Form(String name)/这里是最基本的东西,在创建对象实例form的时候,就自动调用这个构造函数创建了frame /这里的东西可以以后一点都不改动,要操作

5、到其他方法中操作。 frame=new JFrame(); frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); frame.setTitle(name);/调用父类的方法 frame.setVisible(true); frame.setBounds(100,100,400,400); cont=frame.getContentPane(); /容器是有frame延伸出来的,本来就属于frame public void add()/这个方法我们定义用于加入组件,和frame的创建分开出来,有好处

6、JLabel label=new JLabel(label); cont.add(label); public static void main(String argv) Form form=new Form(第一个窗体); form.add(); 5. 窗体frame是最基本的,在里面就可以加入组件。6. JDialog对话框窗体:该类即使一个组件,同时也是一个容纳其他组件的容器,它是一个对话框窗体,也是窗体,就也可以容纳东西。对话框窗体和窗体的设置一模一样。JDialog dialog; Container contdialog;dialog=new JDialog(frame,title

7、 of dialog);/这里指定对话框窗体依附于窗体frame contdialog=dialog.getContentPane(); dialog.setVisible(true); dialog.setBounds(10, 10, 100, 100); dialog.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);对话框窗体不能最大化和最小化,同时,它必须依附JFrame而存在,就是说,如果frame被关闭了,它也就被关闭了。dialog=new JDialog(frame,title of dial

8、og,true);第三个参数为模态参数,如果设为true,那么如果没有关闭dialog窗体就无法操作frame窗口。7. 窗体的布局。7.1null绝对布局绝对布局就是将指定的组件放置在容器中的绝对位置,每一个组件的具体位置我们自己固定设定。7.2 FlowLayout流布局流布局为向容器中从左到右依次按程序加入组件,如果一行放不下,就放两行,如果两行不行,就再往下,依次类推。FlowLayout flowlay=new FlowLayout(FlowLayout.CENTER,30, 10);contframe.setLayout(flowlay);上面的第一个参数是用于设定对齐的方式,有很

9、多属性,CENTER代表居中。对齐字段说明:字段名说明CENTER每一行组件都应该是居中的LEADING每一行组件都应该与容器方向的开始边对齐LEFT指示每一行组件都应该左对齐RIGHT指示每一行组件都应该是右对齐TRAILING指示每一行都应该与容器方向的结束边对齐第二个参数是表示每两个组件间水平方向的间隔像素,默认都是5.第三参数是表示上下两行的间隔像素,默认都是5我们在调整窗体大小的时候,组件也能实现自动调整。7.3 BorderLayout 边界布局设置为边界布局的容器中,容器被认为东、西、南、北、中5个区域,并且每个区域只能放在一个组件,如果某个区域需要放在多个组件,可以先将这些组件

10、放在比如一个面板上,然后把面板再放到这个区域里面。容器窗体的默认布局是 边界布局。一开始可以不要,因为默认就是这个布局。前者是:BorderLayout borderlay=new BorderLayout(10,10);后者是没有参数的,没有参数默认为0.就是意味着水平垂直都没有间隔。7.4GridLayout 网格布局网格布局就是分成若干行和列,分成若干个相等的矩形,每一个矩形放在一个组件。7.4 CardLayout 卡片布局将容器中每个组件都看做是一个卡片,在卡片布局的容器中每次只能显示一张卡片,门卡片的顺序就是添加的顺序,每一个添加的组件是一张卡片。常用方法:方法名说明Void fi

11、rst(Container)在容易中显示第一张卡片Void last(Container)在容器中显示最后一张卡片Void next(Container)在容器中显示下一张卡片Void previous(Container)在容器中显示上一张卡片Void show(Container, String name)在容器中显示具有指定名称的卡片package aaa;import java.awt.Container;import java.awt.*;/设置布局要导入这个包import javax.swing.*;public class Form JFrame frame;/在类中定义,易于被

12、其他方法调用 Container contframe;/在类中定义,易于被其他方法调用 CardLayout cardlay;/新建布局 public Form(String name)/这里是最基本的东西,在创建对象实例form的时候,就自动调用这个构造函数创建了frame /这里的东西可以以后一点都不改动,要操作到其他方法中操作。 frame=new JFrame(); frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); frame.setTitle(name);/调用父类的方法 frame.

13、setVisible(true); frame.setBounds(10,10,400,400); contframe=frame.getContentPane(); /容器是有frame延伸出来的,本来就属于frame cardlay=new CardLayout();/实例化布局 contframe.setLayout(cardlay);/设定布局 public void add()/这个方法我们定义用于加入组件,和frame的创建分开出来,有好处 JButton btn1=new JButton(button1); JButton btn2=new JButton(button2); J

14、Button btn3=new JButton(button3); JTextField text=new JTextField(textfield); JLabel label=new JLabel(lable); JRadioButton radio=new JRadioButton(radio); JCheckBox che =new JCheckBox(checkbox); contframe.add(btn1); contframe.add(btn2); contframe.add(btn3); contframe.add(label); contframe.add(text); c

15、ontframe.add(radio); contframe.add(che); cardlay.first(contframe);/显示第一个卡片 public static void main(String argv) Form form=new Form(第一个窗体); form.add(); 8. JPanel面板JPanel也是一种容器,JPanel类在javax.swing包中,JPanel也可以设置各种布局,然后可以直接加组件,然后再把这个JPanel加入到frame的container中就可以了。9. JScrollPane 滚动窗格有些时候,组件比较多,需要加入滚动条,也有比

16、如文本域,在文字过多的时候,需要加入滚动条。在Java中,通过JScrollPane滚动窗格使文本域能够产生滚动条。有一个方法:setViewportView(组件名)用于设定到底是为什么加入滚动条从中我们可以看出,我们不需要把文本域加入到容器中,因为文本域已经绑定到了滚动窗格中。如上面所示,我们可以把面板当做以组件放在scrollpan中10. 常用组件10.1 图标 Icon可以通过 ImageIcon类来创建图标图标有三个方法1) Int getIconHeight() 获得图标高度2) Int getIconWidth() 获得图标宽度3) Void paintIcon(contain

17、er, Graphics g,int x,int y)在指定位置上绘制图标10.2 图像图标 ImageIconURL url=Form.class.getResource(/image/picture.gif); /Form是类名,图片要放在项目-src文件-image文件夹下,URL是包下的类 ImageIcon imageicon=new ImageIcon(url);10.3Image图像Image代表图像对象,可以通过imageicon类的getImage()方法获得,这个对象是可以用来设置为窗体图标的对象。把frame的图标给改了,不要用.gif的图片。10.3 JLabel标签J

18、label类有三个方法:1) String getText() 用与获得标签上显示的标题文本2) Void setIcon(Icon icon) 设置标签组件需要显示的图标3) Void setText() 设置标签所需显示的文本JLabel label=new JLabel(也可以添加文字);也可以什么都不加,最后通过方法来加文字和图标。10.4 JButton 按钮URL url=Form.class.getResource(/image/picture.png); Icon icon=new ImageIcon(url); JButton but1=new JButton(); JBut

19、ton but2=new JButton(文字); JButton but3=new JButton(icon); JButton but4=new JButton(文字,icon);常用方法:1) String getText();2) Void setText(String text);3) Void setIcon(Icon icon);4) Void setRolloverIcon(Icon icon);设置鼠标指向按钮时显示的图标。10.5 JTextField 文本框JTextField text=new JTextField();JTextField text1=new JTex

20、tField(4);/创建有4列的文本框JTextField text2=new JTextField(这是文本框);常用方法:1) String getText()2) Void setText(String text);3) Void requestFocus()/使文本获得焦点10.6 JPasswordField 密码框JPasswordField password =new JPasswordField();JPasswordField password1 =new JPasswordField(12);/具有十二列的密码框JPasswordField password2 =new

21、JPasswordField(mima);常用方法:1) Char getPassword() 获得密码并存在数组中2) Void setEchoChar(char c) 设置密码框显示字符Password.setEchoChar(*);10.7 JComboBox 组合框JComboBox combox=new JComboBox();String data=new String aaa,bbb,ccc,ddd;DefaultComboBoxModel model=new DefaultComboBoxModel(data);/使用数组创建数据模型JComboBox combox1=new

22、JComboBox(model);/利用数据模型创建组合框combox1.setBounds(20, 20, 50, 50);常用方法:1) addItem(object) 为组合框添加选项2) getItemCount() 获得组合框中项的个数3) getSelectedItem() 获得组合框中当前选择的列表项4) removeAllItems() 移除全部列表项5) void removeItem(object)移除指定名称的项6) void setModel(model) 为组合框设定模型7) void setselectedItem(object) 通过名称来设定显示哪一项10.8

23、JRadioButton 单选按钮常用方法:1) getText();2) setText(String text);3) void setSelected(Boolean true/false)。设置选择否4) boolean getSelected()获得选择状态按钮组:所谓按钮组,就是只允许其中的一个选中10.9 JCheckBox 复选框常用方法:1) getText();2) setText();3) void setSelected(Boolean true/false)4) Boolean isSelected();获得复选框的当前选择状态10.10 JTable表格很多时候我们

24、可以以向量中的元素作为单元格中显示的数据。常用方法:1) Int getRowCount() 获得表格中所显示数据的行数2) Int getSelectedColumn()获得表格中第一个选择列的索引,如果没有被选择的列,则返回-13) Int getSelectedRow()4) Object getValueAt(int row,int column)获得行和列索引的值5) Void setAutoResizeModel(int mode)当需要调整表格大小时,使用哪一种自动调整模式table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);Mode字段

25、和说明字段名说明AUTO_RESIZE_OFF关闭表格的自动调整模式,是使用水平滚动条时的必要设置。AUTO_RESIZE_NEXT_COLUMN调整某一列的宽度时,只对其下一列进行相反方向的调整AUTO_RESEZE_SUBSEQUENT_COLUMNS调整某一列的宽度时,按比例调整其后每一列的宽度,是默认设置AUTO_RESIZE_LAST_COLUMN在所有调整大小的操作中,只调整最后一列的宽度AUTO_RESIZE_ALL_COLUMNS在所有的调整大小的操作中,按比例调整表格中每一列的宽度6) Void setSelectionMode(int selectionMode)将表的选择

26、模式设置为只允许单个选择、单个连续间隔选择或多间隔选择模式selectionMode 字段和说明、字段名说明SINGLE_SELECTION设置只允许选择表格中的一行SIGLE_INTERVAL_SELECTION设置允许选择表格中连续多行数据MULTIPLE_INTERVAL_SELECTION设置可以随意选择表格中的多行数据7) Void setValue(object value,int row,int column)设置某一单元格的值。11. 菜单11.1在Java 中使用JMenuBar创建菜单栏菜单栏的方法:JMenu add(JMuen menu) 在菜单栏中加菜单。菜单栏是放菜

27、单的地方,菜单是放菜单项的地方。11.2菜单菜单的方法: 1) JMenuItem add(JMenuItem menuItem)向菜单中加入菜单项2) Void addSepartor() 将分隔符加入到菜单项的尾部11.3 菜单项菜单项才是真正的菜单。菜单项的常用方法:setText()和setIcon().12. 工具栏工具栏中可以放一些常用的按钮,方便操作,可以挪动还可以拉出来成一个单独窗口,方便操作。13. 常用事件:过程1) 创建ActionListener对象2) 调用addActionListener()方法为组件组成ActionListener对象作为监听器。3) 由外部动作

28、触发组件4) 组件被触发后生成组件的动作事件5) 执行ActionListener对象的actionPerformed()方法,完成动作事件的处理import java.awt.event.*;but.addActionListener(new ActionListener()public void actionPerformed(final ActionEvent arg0) System.exit(0);/退出系统/我们就把按钮的按下后的操作写在这里面就可以了 );至于具体的函数名称,我们可以通过SWT-Designer来直接双击获得。下面这是一个通过SWT-Designer来设定直接获得

29、的一些基本语句:package aaa;import java.awt.EventQueue;public class formdesign private JFrame frame; public static void main(String args) EventQueue.invokeLater(new Runnable() public void run() try formdesign window = new formdesign(); window.frame.setVisible(true); catch (Exception e) e.printStackTrace(); ); /* * Create the application. */ public formdesign() initialize(); /* * Initialize the contents of the frame. */ private void initialize() frame = new JFrame(); frame.setBounds(100, 100, 450, 300); frame.setDefaultCloseOperation(JFrame.EXIT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1