java--Swing常用组件

上传人:共*** 文档编号:114556436 上传时间:2019-11-11 格式:PPT 页数:78 大小:1.51MB
返回 下载 相关 举报
java--Swing常用组件_第1页
第1页 / 共78页
java--Swing常用组件_第2页
第2页 / 共78页
java--Swing常用组件_第3页
第3页 / 共78页
java--Swing常用组件_第4页
第4页 / 共78页
java--Swing常用组件_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《java--Swing常用组件》由会员分享,可在线阅读,更多相关《java--Swing常用组件(78页珍藏版)》请在金锄头文库上搜索。

1、Swing常用组件,NCEPU,编写一个计算器 所需要的知识点 常用组件和容器的使用方法及功能 AWT事件处理模型,例,Swing 中的容器,顶级容器:一般是一个顶层窗口(框架) JFrame:用于框架窗口的类,应用程序至少使用一个框架窗口。 JDialog:用于对话框的类。 JApplet:用于使用 Swing 组件的Java Applet的类。 中间容器:需要包含在顶层容器中使用的容器。 JPanel:面板,是最灵活、最常用的中间容器。 JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件周围提供滚动条。 JTabbedPane:包含多个组件,但一次只显示一个组件。用户

2、可在组件之间方便地切换。 JToolBar:按行或列排列一组组件(通常是按钮)。,与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(content pane)上。,JFrame的使用,JFrame的使用,向JFrame中添加组件的两种方式之一:,用getContentPane()方法获得JFrame的内容面板,再对其加入组件: frame.getContentPane().add(childComponent),在J2SE5.0中,我们可以直接添加部件到最高级的Swing容器,也可以直接在容器内设置布局管理和删除部件。 这个变化允许

3、我们可以省去调用getContentPane()而直接在容器内应用add(),setLayout()和remove()。 然而,还是不能忽略ContentPane, 比方说setBackground,需要用fr.getContentPane(). setBackground(Color.blue),JFrame的使用,当你创建一个JFrame的时候JFrame jf = new JFrame(); 在构造方法JFrame()内部会给jf默认添加一个rootPane。 jf.setBackground(Color.blue); jf.getContentPane().setBackground(

4、Color.black);,NCEPU,import javax.swing.*; import java.awt.*; public class FrameTest extends JFrame FrameTest() super(“Test“); setBackground(Color.BLACK); setLayout(new GridLayout(6,6,2,2); / 1.4中问题 1 for ( int i=0;i36; i+) JPanel jPanel = new JPanel(); jPanel.setBackground(new Color (int)(Math.rando

5、m()*16777215); add(jPanel); / 1.4中问题 2 setSize(400,400); setVisible(true); public static void main(String args) new FrameTest(); ,getContentPane().setBackground(Color.BLACK);,JFrame的使用,向JFrame中添加组件的两种方式之二:,把组件添加到Jpanel之类的中间容器中,用setContentPane()方法把该容器置为JFrame的内容面板: Jpanel contentPane=new Jpanel( ); /

6、把其它组件添加到Jpanel中; frame.setContentPane(contentPane);,Swing常用容器 JPanel的使用,JPanel面板是容器组件,没有标题,不能独立存在。 实例化以后必须使用Container类的add方法装入到Window对象或Frame对象中。,可用javax.swing.BorderFactory 类中的方法获得,import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; class GUID

7、emo1 public static void main(String args)throws Exception JFrame f=new JFrame(“第一个Java窗口“); f.setSize(300,200); BufferedImage image=ImageIO.read(f.getClass().getResource(“/MPj.jpg“); f.setIconImage(image); /设置图标 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); /设置容器可见性 f.setResi

8、zable(false); f.setLocationRelativeTo(null) ; JPanel p=new JPanel(); p.setBackground(Color.BLUE); f.setLayout(null); p.setSize(100,100); f.getContentPane().add(p); ,NCEPU,Swing的常用组件JLabel,JLabel(标签)是用户只能查看不能修改的文本/图像显示区域。,NCEPU,Swing的常用组件-JTextField,JTextField(单行文本域)是一个单行条形文本区,能够接收输入、显示输出。,NCEPU,获得文本

9、域的内容 x= Integer.parseInt(text1.getText().trim(); 重新设置文本域的内容 resultText.setText(s);,Swing的常用组件-JTextField,NCEPU,获取两个文本域的输入并求和,然后显示在第三个文本域中。,Swing的常用组件JTextField,import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TFMath public static void main(String args) new TFFrame().lau

10、nchFrame(); ,class TFFrame extends JFrame JTextField num1, num2, num3; public void launchFrame() num1 = new JTextField(10); num2 = new JTextField(10); num3 = new JTextField(15); JLabel lblPlus = new JLabel(“+“); JButton btnEqual = new JButton(“=“); btnEqual.addActionListener(new MyMonitor(); setLayo

11、ut(new FlowLayout(); add(num1); add(lblPlus); add(num2); add(btnEqual); add(num3); pack(); setVisible(true); ,Swing常用的组件文本域,private class MyMonitor implements ActionListener public void actionPerformed(ActionEvent e) int n1 = Integer.parseInt(num1.getText(); int n2 = Integer.parseInt(num2.getText();

12、 num3.setText(“ + (n1+n2); ,NCEPU,Swing的常用组件-JPasswordField,JPasswordField(口令框)接受用户的输入,但不会真正显示出来,而是显示回显符。,密码域JPasswordField,import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TFPassword public static void main(String args) new TFFrame2(); ,密码域JPasswordField,class TFFrame2

13、 extends JFrame TFFrame2() JPasswordField pf = new JPasswordField(); add(pf); pf.addActionListener(new TFActionListener2(); pack(); setVisible(true); ,密码域JPasswordField,class TFActionListener2 implements ActionListener public void actionPerformed(ActionEvent e) JPasswordField pf = (JPasswordField)e.

14、getSource(); System.out.println(pf.getText(); tf.setText(“); ,NCEPU,密码域JPasswordField,NCEPU,Swing的常用组件-JPasswordField,实战:实现上面的图形用户界面。,NCEPU,Swing的常用组件-JTextArea,JTextArea(多行文本框)可以输入或输出多行文本。,NCEPU,换行方式: 手动换行 自动换行:通过设置换行属性来避免手动换行。 增加滚动条:通过把文本区插入到一个滚动窗格中来实现。这也是给其他组件添加滚动条的方法。,textArea.setLineWrap(true);

15、,JScrollPane scrollPane = new JScrollPane(textArea);,Swing的常用组件-JTextArea,NCEPU,文本区的三种显示方式,Swing的常用组件-JTextArea,NCEPU,例:创建包含文本区、文本框和“提交”按钮的窗口。 在文本区中输入文字,单击“提交”按钮,文本 框中会出现同样的文字。,Swing的常用组件-JTextArea,import java.awt.*; import javax.swing.*; class JTextAreaEx extends JFrame JTextArea ta; JTextField t;

16、JButton b; JTextAreaEx() setSize(400,250); setLayout(new FlowLayout(); Container c=getContentPane(); setVisible(true); ta=new JTextArea(5,10); /创建文本区、文本框和按钮 ta.setLineWrap(true); /自动换行,只添加垂直滚动条 JScrollPane scrollPane = new JScrollPane(ta); /加滚动条 scrollPane.setBorder(BorderFactory.createLoweredBevelBor

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号