已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
案例7 使用Swing实现学生成绩查询系统基本功能 包括用户登录 教师成绩输入与统计和学生成绩查询 浙江工业大学计算机学院赵小敏zxm 涉及知识点 1 容器组件2 基本组件3 布局管理器4 事件处理模型5 高级图像用户界面 7 1容器组件 JFrameJPanelJScrollPane 1 JFrame 框架 类JFrame是java awt Frame的子类在Swing的组件中 JFrame并不全是由Java编写的是一种与平台关系比较密切的组件 Heavyweightcomponent java lang Object java awt Component java awt Container java awt Window java awt Frame javax swing JFrame 例1 基于AWT实现的框架界面 importjava awt publicclassFrameDemo Framef Buttonb publicFrameDemo f newFrame FrameDemo b newButton Pressme f add b f setSize 200 200 f setVisible true publicstaticvoidmain Stringargs newFrameDemo 例2 基于Swing实现的框架界面 importjava awt importjavax swing publicclassJFrameDemo JFramef JButtonb Containerc publicJFrameDemo f newJFrame JFrameDemo b newJButton Pressme c f getContentPane c add b f setSize 200 200 f setVisible true publicstaticvoidmain Stringargs newJFrameDemo 在JFrame中加入组件的方法 1 用getContentPane 方法获得JFrame的内容面板 再对其加入组件 Containerc frame getContentPane c add childComponent 2 建立一个JPanel或JDesktopPane之类的中间容器 把组件添加到容器中 用setContentPane 方法把该容器置为JFrame的内容面板 JPanelcontentPane newJPanel 把其它组件添加到Jpanel中 frame setContentPane contentPane 把contentPane对象设置成为frame的内容面板 2 JPanel 面板 一种中间容器 用来组成其它组件可以添加各种组件 包括面板组件 面板 JPanel 的大小由它所包含的组件决定当组件个数增加 面板 JPanel 也会随之而增大 例3 利用JPanel创建界面 importjava awt importjavax swing publicclassJPanelDemoextendsJFrame publicJPanelgetGUI JPanelp newJPanel p add newJButton Pressme returnp publicJPanelDemo super JPanelDemo setContentPane getGUI setSize 200 200 setVisible true publicstaticvoidmain Stringargs newJPanelDemo importjava awt importjavax swing publicclassJPanelDemoextendsJFrame publicJPanelgetGUI JPanelp newJPanel p add newJButton Pressme returnp publicstaticvoidmain Stringargs JPanelDemojp newJPanelDemo jp setTitle JPanelDemo jp setDefaultCloseOperation JFrame EXIT ON CLOSE jp setContentPane jp getGUI jp setSize 200 200 jp setVisible true 3 Swing的组件 在javax swing包中 定义了两种类型的组件 容器和组件 容器各种组件必须放在容器容器本身也是一种组件分类顶层容器 如JFrame JApplet JDialog和JWindow其它容器 如JPanel JScrollPane JSplitPane JToolBar组件基本控制组件 如JButton JComboBox JList JMenu JSlider JTextField不可编辑的信息显示组件 如JLabel JProgressBar JToolTip可编辑的信息显示组件 如JColorChooser JFileChooser JTable JTextArea 4 Swing的类层次结构 Swing的类层次结构java awt Component java awt Container java awt Window java awt Frame javax swing JFrame javax Dialog javax swing JDialog javax swing JWindow java awt Applet javax swing JApplet javax swing Box javax swing JComponet 7 2基本组件 标签 JLabel 文本框 JTextField 按钮 JButton 组合框 JComboBox 文本 JTextArea 列表JList 单选列表和多选列表 1 标签 JLabel 标签为GUI提供文本 主要 或图像 也可以 信息对应类 JLabel JComponent的子类 可以显示 单行的只读的文本信息图像同时显示文本与图像信息程序一般不修改标签的内容 例4 JLabel的演示例子 importjava awt Container importjava awt FlowLayout importjavax swing ImageIcon importjavax swing JFrame importjavax swing JLabel publicclassJLabelDemoextendsJFrame publicJLabelDemo super 框架和标签例程 String s 文本标签 文字在图标的左侧 文字在图标的下方 ImageIcon ic null newImageIcon img1 gif newImageIcon img2 gif int ih 0 JLabel LEFT JLabel CENTER int iv 0 JLabel CENTER JLabel BOTTOM Containerc getContentPane c setLayout newFlowLayout FlowLayout LEFT 例4 JLabel的演示例子 续 for inti 0 i0 aLabel setHorizontalTextPosition ih i aLabel setVerticalTextPosition iv i aLabel setToolTipText 第 i 1 个标签 c add aLabel publicstaticvoidmain Stringargs JLabelDemoapp newJLabelDemo app setDefaultCloseOperation JFrame EXIT ON CLOSE app setSize 360 150 app setVisible true 2 文本框 JTextField 显示单行的文本信息JTextFieldextendsJTextComponent密码输入框JPasswordField 例5 JTextField的演示例子 importjava awt Container importjava awt FlowLayout importjavax swing JFrame importjavax swing JPasswordField importjavax swing JTextField publicclassJTextFieldDemo publicstaticvoidmain Stringargs JFrameapp newJFrame 文本编辑框例程 app setDefaultCloseOperation JFrame EXIT ON CLOSE app setSize 320 120 Containerc app getContentPane c setLayout newFlowLayout JTextField t newJTextField 正常文本 8 newJTextField 显示 15 newJTextField 密码文本 8 newJPasswordField 隐藏 15 t 0 setEditable false t 2 setEditable false for inti 0 i 4 i c add t i app setVisible true 3 按钮 JButton 当鼠标左键单击按钮组件时 能触发特定的事件在Java中 广义的按钮包括 命令式按钮 JButton 复选框 JCheckBox 单选按钮 JRadioButton 按钮类的层次结构 Containerc getContentPane c setLayout newFlowLayout inti ImageIcon ic newImageIcon left gif newImageIcon right gif JButton b newJButton 左 ic 0 newJButton 中间 newJButton 右 ic 1 for i 0 i b length i c add b i JCheckBox ck newJCheckBox 左 newJCheckBox 右 for i 0 i ck length i c add ck i ck i setSelected true JRadioButton r newJRadioButton 左 newJRadioButton 右 ButtonGrouprg newButtonGroup for i 0 i r length i c add r i rg add r i r 0 setSelected true r 1 setSelected false 4 组合框 JComboBox 组合框 JComboBox 可以从下拉式的列表框中选取其中的列表项有时也称为下拉框 drop downlist 类JComboBox中的方法getSelectedIndex 返回当前被选中的项setMaximumRowCount n 设置最多显示列表项的项数滚动条 Scrollbar 会自动加上 5 文本 JTextArea JTextArea是一个显示纯文本的多行区域 JTextArea不管理滚动 可把它放置在JScrollPane的ViewPort中实现滚动 如 JTextAreatextArea newJTextArea JScrollPanearea newJScrollPane textArea TextArea具有换行能力 JTextArea默认为不换行 需设置换行策略 如 textArea setLineWrap true textArea setWrapStyleWord true JTextArea的代码段 建立容纳文本区的面板JPaneltextPanel newJPanel 新建无回绕的文本区 行数为5 列数为20noWrapArea newJTextArea nowrap 5 20 新建有回绕的文本区 行数为5 列数为20wrapArea newJTextArea wraparea 5 20 wrapArea setLineWrap true 新建带滚动条的文本区 行数为5 列数为20scrollArea newJTextArea scrollarea 5 20 将文本区插入到滚动窗格中JScrollPanescrollPane newJScrollPane scrollArea textPanel add noWrapArea textPanel add wrapArea 将滚动窗格加入到框架中textPanel add scrollPane 6 列表JList JList显示出一系列选项 用户可以从中选择一个或多项 StringcolorNames Black Blue Cyan DarkGray Gray colorList newJList colorNames colorList setVisibleRowCount 5 colorList setSelectionMode ListSelectionModel SINGLE SELECTION colorList getSelectedIndex colorList getSelectedValue 多选列表 在JList中选择多个选项 方法是按住shift键或ctrl键 多选列表没有和多个选择相关的事件 通常由另一个GUI组件生成的事件 外部事件 来指定处理JList中的多个选择 多选列表的使用方法 StringcolorNames Black Blue Cyan DarkGray Gray JListcolorList newJList colorNames colorList setVisibleRowCount 5 colorList setFixedCellHeight 15 colorList setSelectionMode ListSelectionModel MULTIPLE INTERVAL SELECTION colorList getSelectedValues 7 3布局管理器 用来控制组件在容器中的布局方式应当尽量利用已有的基本布局方式布局管理器处理组件布局的大部分细节 布局管理器 流式布局FlowLayout边界布局BorderLayout盒式布局管理器BoxLayout网格布局GridLayout卡片布局CardLayout 1 流式布局FlowLayout 是一种最基本的布局管理器是java awt Applet java awt Panel和javax swing JPanel的默认布局方式在容器中 从左到右依次放置GUI组件当组件排到容器一行的末尾时 则从下一行开始接着排列组件每行组件的对齐方式可以是 左对齐 中间 默认对齐方式 和右对齐 FlowLayout的构造方法 publicFlowLayout publicFlowLayout intalignment publicFlowLayout intalignment inthorizontalGap intverticalGap alignment参数的值必须是FlowLayout LEFT Flowlayout CENTER或FlowLayout RIGHT horizontalGap和verticalGap参数指定了组件间隔距离 以像素为单位 FlowLayout的默认间隔值为5 例6 FlowLayout的使用方法 importjava awt importjavax swing publicclassFlowLayoutDemoextendsJFrame publicFlowLayoutDemo Containerc getContentPane c setLayout newFlowLayout c add newJLabel Buttons c add newJButton Button1 c add newJButton 2 c add newJButton Button3 c add newJButton Long NamedButton4 c add newJButton Button5 publicstaticvoidmain Stringargs FlowLayoutDemowindow newFlowLayoutDemo window setTitle FlowLayoutDemo window pack 窗口大小设置为适合组件最佳尺寸与布局所需的空间window setVisible true 2 边界布局BorderLayout 是容器JFrame和JApplet的默认布局方式将容器分成五个区域 NORTH 顶部 SOUTH 底部 WEST 左侧 EAST 右侧 CENTER 中间 每个区域最多只能1个组件 BorderLayout的方法 构造方法 BorderLayout 构造一个组件之间没有间距的新边界布局 BorderLayout inthgap intvgap 用指定的组件之间的水平间距构造一个边界布局 将组件添加到BorderLayout布局的容器中的方法add newButton South BorderLayout SOUTH add newButton South South add South newButton South 例7 BorderLayout的使用方法 importjava awt importjavax swing publicclassBorderLayoutDemoextendsJFrame publicBorderLayoutDemo Containerc getContentPane c setLayout newBorderLayout 5 5 c add newJButton North North c add newJButton South South c add South newButton South c add newButton South BorderLayout SOUTH c add newJButton East East c add newJButton West West c add newJButton Center Center publicstaticvoidmain Stringargs BorderLayoutDemowindow newBorderLayoutDemo window setTitle BorderLayoutDemo window pack window setVisible true 3 盒式布局管理器BoxLayout 允许多个组件在容器中沿水平方向或竖直方向排列容器的大小发生变化时 组件占用的空间不会发生变化 BoxLayout的方法 构造方法 BoxLayout Containertarget intaxis 创建一个将沿给定轴放置组件的布局管理器 轴的方向 BoxLayout X AXIS 指定组件应该从左到右放置BoxLayout Y AXIS 指定组件应该从上到下放置 例8 BoxLayout使用的例子 importjava awt Container importjavax swing BoxLayout importjavax swing JButton importjavax swing JFrame publicclassBoxLayoutDemo publicstaticvoidmain Stringargs JFrameapp newJFrame 盒式布局管理器例程 app setDefaultCloseOperation JFrame EXIT ON CLOSE app setSize 220 130 Containerc app getContentPane c setLayout newBoxLayout c BoxLayout X AXIS Strings JButtonb for inti 0 i 3 i s 按钮 i 1 b newJButton s c add b app setVisible true 4 网格布局GridLayout 布局管理器GridLayout按行与列将容器等分成网格每个组件占用具有相同宽度和高度的网格添加组件占用网格的顺序 从上到下 从左到右当一行满了 则继续到下一行 仍然是从左到右 GridLayout类的构造方法 GridLayout 创建默认值的网格布局 即每个组件占据一行一列 GridLayout introws intcols 创建具有指定行数和列数的网格布局GridLayout introws intcols inthgap intvgap 创建具有指定行数和列数的网格布局 例9 GridLayout的使用方法 importjava awt importjavax swing publicclassGridLayoutDemo JFramef publicGridLayoutDemo Stringstr f newJFrame str Containerc f getContentPane c setLayout newGridLayout 3 2 for inti 1 i 6 i c add newJButton i f pack f setVisible true publicstaticvoidmain Stringargs newGridLayoutDemo GridLayoutDemo 5 卡片布局管理器CardLayout CardLayout的布局方式有点象码 扑克牌 一个组件压在另一个组件的上面 所以每次一般只能看到一个组件 布局管理器嵌套 实际上是容器的嵌套 被嵌套的容器可以具有不同的布局管理器在嵌套的布局管理器中JPanel通常起到了 桥 的作用 例10 复杂GUI的布局 例10 实现GUI的步骤分析 GUI的设计步骤 先设计一个窗口 如JFrame确定布局管理器在窗口中添加所需组件增加事件处理 7 4事件处理模型 GUI是由事件 event 驱动的当用户与GUI交互可以产生事件 events 一些常见的交互方式移动鼠标用鼠标点击按钮在文本框中输入数据关闭窗口等 事件处理机制 主要涉及三种对象事件源 Aneventsource 事件对象 Aneventobject 事件监听器 eventlistener s 事件处理机制 事件源可供用户进行交互的GUI组件事件对象封装了包含所发生的各种事件的有效信息信息包括 事件源的引用 以及事件监听器在处理事件时所需要的其它各种信息事件信息被包含在类AWTEvent或其子类的实例对象中事件监听器接受事件对象 并处理事件对象 事件处理机制 包含事件处理的程序应该包括以下四部分内容 1 引入系统事件类包 如importjava awt event 2 在事件处理类的声明中指定要实现的监听器名 如 publicclassMyClassimplementsActionListener 3 注册事件源对象的事件监听者 如btn addActionListener this 4 实现监听器中的接口如实现按钮事件监听接口ActionListener publicvoidactionPerformed ActionEvente 响应某个动作的代码 事件分类与监听器接口 1 事件分类 java util EventObject Java awt AWTEvent ActionEventAdjustmentEventComponentEventItemEventTextEvent ContainerEventFocusEventWindowEventPaintEventInputEvent MouseEvent KeyEvent 2 监听器接口 对于每种类型的事件 都定义了相应的事件处理接口 XXXEvent对应的事件处理接口通常为XXXListener java util EventListener ActionListenerItemListenerWindowListenerKeyListenerMouseListenerMouseMotionListener 事件接口及处理方法 事件接口及处理方法 续 例11 按钮事件的示例 方法1 importjava awt importjava awt event importjavax swing publicclassTestJButtonimplementsActionListener publicTestJButton JFramef newJFrame TestButtonEvent Containerc f getContentPane JButtonb newJButton PressMe b addActionListener this c add b Center f setSize 200 100 f setVisible true publicvoidactionPerformed ActionEvente System out println Actionoccurred System out println Button slabelis e getActionCommand publicstaticvoidmain Stringargs newTestJButton 方法1 采用同一个类中实现事件接口的方法 例 按钮事件的示例 方法2 importjava awt importjava awt event importjavax swing publicclassTestJButtonDemo publicTestJButtonDemo JFramef newJFrame TestButtonEvent Containerc f getContentPane JButtonb newJButton PressMe b addActionListener newButtonHandler c add b Center f setSize 200 100 f setVisible true publicstaticvoidmain Stringargs newTestJButtonDemo 例11 按钮事件的示例 方法2 importjava awt event publicclassButtonHandlerimplementsActionListener publicvoidactionPerformed ActionEvente System out println Actionoccurred System out println Button slabelis e getActionCommand 方法2 采用另一个类中实现事件接口的方法 例11 按钮事件的示例 方法3 importjava awt importjava awt event importjavax swing publicclassTestInnerButtonDemo publicTestInnerButtonDemo JFramef newJFrame TestButtonEvent Containerc f getContentPane JButtonb newJButton PressMe b addActionListener newActionListener publicvoidactionPerformed ActionEvente System out println Actionoccurred System out println Button slabelis e getActionCommand c add b Center f setSize 200 100 f setVisible true publicstaticvoidmain Stringargs newTestInnerButtonDemo 方法3 采用匿名内部类实现事件接口的方法 如何监听多个组件事件 例12 编写一个允许学生在文本字段中输入一个数的程序 创建一个每当用户单击一次就将此数加一的按钮 创建另一个每当用户单击一次就将此数减一的按钮 界面效果如下图所示 importjava awt importjava awt event importjavax swing classIncrementorimplementsActionListener JTextFieldnumberTxf JButtonincrementBtn decrementBtn publicvoidmakeGUI JFramefrm newJFrame Incrementor Containerc frm getContentPane c setLayout newFlowLayout numberTxf newJTextField 0 5 c add numberTxf incrementBtn newJButton Increment c add incrementBtn incrementBtn addActionListener this decrementBtn newJButton Decrement c add decrementBtn decrementBtn addActionListener this frm setSize 300 100 frm setVisible true publicvoidactionPerformed ActionEvente intoldNum Integer parseInt numberTxf getText intnewNum oldNum if e getActionCommand equals Increment newNum elseif e getActionCommand equals Decrement newNum numberTxf setText String valueOf newNum publicstaticvoidmain Stringargs Incrementori newIncrementor i makeGUI if e getSource incrementBtn elseif e getSource decrementBtn 选项事件ItemEvent的处理 可触发选项事件的组件有 JCheckBox JRadioButton JComboBox注册事件的方法 publicvoidaddItemListener ItemListenere 处理事件的接口ItemListener 仅含有方法 publicvoiditemStateChanged ItemEvente 例 选项事件ItemEvent的处理例子 用JComboBox和JCheckBox来演示可选项目事件接口 界面如下图所示 importjava awt importjava awt event importjavax swing publicclassItemDemoimplementsItemListener JFramef JPanelp1 p2 p3 JLabelbirthPlace hobby JComboBoxplace JCheckBoxhobby1 hobby2 hobby3 publicItemDemo Stringtitle f newJFrame title p1 newJPanel birthPlace newJLabel 出生地 place newJComboBox place addItemListener this place addItem 杭州 place addItem 宁波 place addItem 温州 place addItem 绍兴 p1 add birthPlace p1 add place f add p1 North p2 newJPanel p2 setLayout newGridLayout 3 1 hobby newJLabel 业余爱好 hobby1 newJCheckBox 运动 hobby1 addItemListener this hobby2 newJCheckBox 旅游 hobby2 addItemListener this hobby3 newJCheckBox 上网 hobby3 addItemListener this p2 add hobby1 p2 add hobby2 p2 add hobby3 p3 newJPanel p3 add hobby p3 add p2 f add p3 Center f pack f setVisible true publicvoiditemStateChanged ItemEvente if e getSource place 鼠标事件处理 鼠标事件的监听器有鼠标事件监听器 MouseListener 鼠标移动事件监听器 MouseMotionListener 和鼠标滚轮事件监听器 MouseWheelListener 鼠标事件对应的类是MouseEvent 其中定义了以下一些常量和方法 MOUSE PRESSED鼠标按下MOUSE CLICKED鼠标单击MOUSE RELEASED鼠标松开MOUSE ENTERED鼠标进入有鼠标事件监听的容器MOUSE EXITED鼠标离开有鼠标事件监听的容器getX 取得鼠标的X坐标getY 取得鼠标的Y坐标getClickCount 取得鼠标连续单击的次数 例13 显示鼠标当前的位置 importjava awt event MouseEvent importjava awt event MouseListener importjava awt event MouseMotionListener importjava awt Graphics importjava awt BorderLayout importjava awt Container importjavax swing JPanel importjavax swing JFrame classMousePanelextendsJPanel intx pos y pos MousePanel addMouseListener newMouseListener publicvoidmouseClicked MouseEvente publicvoidmouseEntered MouseEvente publicvoidmouseExited MouseEvente publicvoidmousePressed MouseEvente x pos e getX y pos e getY repaint publicvoidmouseReleased MouseEvente addMouseMotionListener newMouseMotionListener publicvoidmouseMoved MouseEvente x pos e getX y pos e getY repaint publicvoidmouseDragged MouseEvente protectedvoidpaintComponent Graphicsg super paintComponent g g drawString 当前位置 x pos y pos x pos y pos publicclassMouseDemoextendsJFrame publicMouseDemo super 鼠标位置 Containerc getContentPane c add newMousePanel BorderLayout CENTER publicstaticvoidmain Stringargs MouseDemoapp newMouseDemo app setDefaultCloseOperation JFrame EXIT ON CLOSE app setSize 270 150 app setVisible true 事件适配器类 Java中为那些具有多个方法的监听者接口提供了事件适配器类 这个类通常命名为XxxAdapter 在该类中以空方法体实现了相应接口的所有方法 可通过继承适配器类来编写监听者类 在类中只需给出关心的方法 从而减轻工作量 事件接口与适配器类 事件接口与方法目录 例13代码修改 addMouseListener newMouseAdapter publicvoidmousePressed MouseEvente x pos e getX y pos e getY repaint publicvoidmouseReleased MouseEvente addMouseMotionListener newMouseMotionAdapter publicvoidmouseMoved MouseEvente x pos e getX y pos e getY repaint 键盘事件 键盘事件的监听者对应的接口为KeyListener 适配器为KeyAdapter键盘事件对应的类是KeyEvent 其中定义了以下一些常量和方法 KEY PRESSED 按下键 事件 KEY RELEASED 释放键 事件 KEY TYPED 键入键 事件 VK 代表键盘功能键chargetKeyChar 返回与此事件中的键相关联的字符 intgetKeyCode 返回与此事件中的键相关联的整数keyCode IntgetKeyLocation 返回产生此按键事件的键位置staticStringgetKeyModifiersText intmodifiers 返回描述组合键的String 如 Shift 或 Ctrl Shift staticStringgetKeyText intkeyCode 返回描述keyCode的String 如 HOME F1 或 A 例14 键盘事件的例子 importjava awt BorderLayout importjava awt Container importjava awt event FocusEvent importjava awt event FocusListener importjava awt event KeyAdapter importjava awt event KeyEvent importjavax swing JFrame importjavax swing JTextField publicclassKeyboardDemoextendsJFrame publicKeyboardDemo super 键盘事件处理例程 Containerc getContentPane JTextFieldtf newJTextField 15 tf addFocusListener newFocusListener publicvoidfocusGained FocusEvente System out println 获得焦点 publicvoidfocusLost FocusEvente System out println 失去焦点 tf addKeyListener newKeyAdapter publicvoidkeyTyped KeyEvente System out println 键盘事件 e getKeyChar c add tf BorderLayout CENTER publicstaticvoidmain Stringargs KeyboardDemoapp newKeyboardDemo app setDefaultCloseOperation JFrame EXIT ON CLOSE app setSize 350 80 app setVisible true 7 5高级图像用户界面 7 5 1菜单7 5 2表格 7 5 1菜单 常规菜单 菜单栏 JMenuBar 下拉式菜单 JMenu 和菜单项 菜单项 命令式菜单项 JMenuItem 复选菜单项 JCheckBoxMenuItem 和单选菜单项 JRadioButtonMenuItem 弹出式菜单 例15 菜单的用法 JMenuBarjmb newJMenuBar 定义菜单栏JMenufile newJMenu File 定义菜单JMenuItemitem1 newJMenuItem Open 定义菜单项JMenuItemitem2 newJMenuItem Save JMenuItemitem3 newJMenuItem Close JRadioButtonMenuItemJRMenuItem1 newJRadioButtonMenuItem one Icon newImageIcon face5 gif JRadioButtonMenuItemJRMenuItem2 newJRadioButtonMenuItem two 定义互斥菜单项 其中的 one 带图标ButtonGroupbgroup newButtonGroup 定义选项组对象JPopupMenupopup newJPopupMenu mypopup 定义弹出式菜单JMenuItemit1 newJMenuItem popupone 定义弹出式菜单的菜单项JMenuItemit2 newJMenuItem popuptwo 例15 菜单的用法 setJMenuBar jmb jmb add file 将菜单File加入菜单栏file add item1 加入菜单File的各菜单项file add item2 file add item3 file addSeparator 菜单File中加入一分割线bgroup add JRMenuItem1 将互斥菜单项加入选项组bgroup add JRMenuItem2 file add JRMenuItem1 将互斥菜单项加入菜单Filefile add JRMenuItem2 7 5 2表格 表格是Swing新增加的组件 主要功能是把数据以二维表格的形式显示出来 表格用javax swing table JTable类来实现JTable类常用的方法有 JTable TableModeldm dm对象中包含了表格要显示的数据JTable object rowData object columnNams JTable Vector rowData Vector columnNams getModel 获得表格的数据来源对象 创建并显示一张表格 Object data Jenny female football newInteger 20 ENGLISH May fe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031中国除尘过滤器现状调研及市场前景预测
- 2026-2031中国轨道交通行业信息化发展研究度报告
- 2026-2031中国光伏建筑行业发展趋势预测及投资战略咨询报告
- 2026-2031中国功能性糖果市场深度调查与未来前景预测报告
- 劳动争议中的胜诉概率因素
- 2025年钳工高级工鉴定题库及答案
- 2025年合规知识竞赛培训试卷及答案
- 小学美术辽海版四年级上册第7课 学学剪纸教学设计
- 2025年全国安全知识竞赛题库附答案
- 2026-2031中国泡沫镍纤维镍带制造行业市场分析与发展前景预测报告
- 建设银行招聘面试题及答案
- 2025年酒店应聘笔试题目及答案
- 粉笔线上协议班 合同
- 二十届四中全会测试题及参考答案
- 23G409先张法预应力混凝土管桩
- 牛和鹅省赛一等奖-完整版PPT课件
- 证明圆的切线的七种常用方法
- 自体血回输的应用
- 变电站视频监控系统施工方案
- 【100分值】小学单科成绩各题得分率计算分析表模板
- 蓝色学位帽背景的毕业论文答辩PPT教学讲解课件
评论
0/150
提交评论