javaSwing控件的用法和范例_第1页
javaSwing控件的用法和范例_第2页
javaSwing控件的用法和范例_第3页
javaSwing控件的用法和范例_第4页
javaSwing控件的用法和范例_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java-Swing类JTableJTable用JTable有很多用来自定义其呈现和编辑的设施松地设置简单表。例如,要设置一个10行10TableModeldataModel=newAbstractTableModel()publicintgetColumnCount()return10;publicintgetRowCount()return10;publicObjectgetValueAt(introw,intcol)returnnewInteger(row*col);JTabletable=newJTable(dataModel);JScrollPanescrollpane=newJSc

2、rollPane(table);注意,如果要在单独的视图中(在JScrollPane外)使用JTable并显示表标题,则可以使用getTableHeader()获取并单独显示它。JTableDefhultTableModel是一个模型实现,它使用一个Vector来存储所有单元格的值。该Vector由包含多个Object的Vector组成。除了将数据从应用程序复制到DefaultTableModel中之外,还可以TableModelJTable定使用AbstractTableModel还是使用DefaultTableModel方面有一个好的实践经验,即在创建子类时使用AbstractTableM

3、odel作为基类,在不需要创建子类时则使用DefaultTableModel。在发行的源代码演示部分中的TableExample目录内给出了许多JTable用法的完整示例,包括如何使用JTable来提供一个可编辑的数据视图(数据来自数据库),以及如何修JTableJTable用getValueAt(int,int)从模型中检索值。JTable中对列进行重新安排,这样在视图中列的JTableTableModelJTable()JTableJTable(intnumRows,intnumColumns)使用DefaultTableModelnumRowsnumColumns的JTable。JTab

4、le(ObjectrowData,ObjectcolumnNames)JTablerowDatacolumnNamesJTable(TableModeldm)dm构造JTableJTable(TableModeldm,TableColumnModelcm)cmJTabledmJTable(TableModeldm,TableColumnModelcm,ListSelectionModelsm)smJTabledmcmJTable(VectorrowData,VectorcolumnNames)Vector(rowData)构造JTable,用来显示VectorscolumnNamesimpor

5、tjava.awt.*;importjavax.swing.*;/*JTabletest*/publicclassJtableextendsJAppletpublicvoidinit()Containercon=this.getContentPane();con.setLayout(newBorderLayout();finalStringhead=Name,Age,Number;finalObjectdata=,”20,110,,”21,112,,”29,119;JTabletable=newJTable(data,head);JScrollPanejsp=newJScrollPane(ta

6、ble,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);con.add(jsp,BorderLayout.CENTER);java-Swing与AWT组件不同,Swing组件实现不包括Swingjava代码,因此与平台在Swing包中的类和接JAppletSwing基础,扩展了Applet类。使用Swing的小应用程序必须是JAppletJApplet了一些Applet没有的功能JApplet知道Applet和JApplet的是在JApplet中增加add()add()ad

7、d()ImageIconContainergetContentPane()voidadd(comp)这里的compSwing中,图标由ImageIconImageIcon()ImageIcon(byteimageData)根据字节数组创建一个ImageIcon,比如GIF、JPEG或从1.3版本开始的PNGImageIcon(byteimageData,Stringdescription)根据字节数组创建一个ImageIcon,比如GIF、JPEG或从1.3版本开始的PNGImageIcon(Imageimage)根据图像对象创建一个ImageIcon。ImageIcon(Imageimage

8、,Stringdescription)根据图像创建一个ImageIcon。ImageIcon(Stringfilename)根据指定的文件创建一个ImageIcon。ImageIcon(Stringfilename,Stringdescription)根据指定的文件创建一个ImageIcon。ImageIcon(URLlocation)根据指定的URL创建一个ImageIcon。ImageIcon(URLlocation,Stringdescription)根据指定的URL创建一个ImageIcon。AccessibleContextgetAccessibleContext()获得与此Imag

9、eIcon关联的AccessibleContextStringgetDescription()intgetIconHeight()intgetIconWidth()ImagegetImage()返回此图标的IgetImageLoadStatus()ImageObservergetImageObserver()protectedvoidloadImage(Imageimage)voidpaintIcon(Componentc,Graphicsg,intx,inty)voidsetDescription(Stringdescription)voidsetImage(Imageima

10、ge)voidsetImageObserver(ImageObserverobserver)StringtoString()JLabel控件使用方法:JLabel对象可以显示文本、图像或同时显示二者。可以通过ComponeComponentOrientationntOrientationsetIconTextGap下为4个像素。JLabel()创建无图像并且其标题为空字符串的JLabel。JLabel(Iconimage)创建具有指定图像的JLabel实例。JLabel(Iconimage,inthorizontalAlignment)创建具有指定图像和水平对齐方式的JLabel实例。JLab

11、el(Stringtext)创建具有指定文本的JLabel实例。JLabel(Stringtext,Iconicon,inthorizontalAlignment)创建具有指定文本、图像和水平对齐方式的JLabelJLabel(Stringtext,inthorizontalAlignment)创建具有指定文本和水平对齐方式的JLabel实例。StringgetText()voidsetText(Stringtext)IcongetIcon()JDKvoidsetIcon(Iconicon)JLabelimportjava.awt.*;importjavax.swing.*;/*JLablet

12、est*/publicclassJlabelextendsJAppletpublicvoidinit()Containercon=this.getContentPane();ImageIconicon=newImageIcon(h.jpg);JLabellabel=newJLabel(hebe,icon,JLabel.CENTER);con.add(label);JTextFieldJTextFieldJTextFieldTheJavaTutorialHowtoUseTextFieldsjava.awt.TextFieldjava.awt.TextFieldJTextField具有建java.

13、awt.TextFieldsetActionCommandActionEventnullJTextField持与java.awt.TextField的兼setEchoChar和getEchoCharJPasswordFieldJTextFieldTextEventTextListener以监视java.awt.TextFieldDocumentEvent将更改JTextComponent的组件中,通DocumentListenersDocumentEventDocumentListenermyListener=?;JTextFieldmyArea=?;myArea.getDocument().

14、addDocumentListener(myListener);JTextField的水平对齐方式可以设置为左对齐、前端对齐、居中对齐、右对齐或尾部对右对齐/尾部对齐在所需的字段文本尺寸小于为它分配的尺寸时使用。这是setHorizontalAlignment和getHorizontalAlignment方法确定的。默认情况下为前端对齐文本字段如何使用VK_ENTER事件取决于文本字段是否具有任何操作侦听器。如果具VK_ENTERActionEventVK_ENTER。这与AWT文本字段听器,则从1.3版本开JFC/Swing的默认按处理VK_ENTER事件始不使用VK_ENTERJTextF

15、ield()的TextField。JTextField(Documentdoc,Stringtext,intcolumns)JTextFieldJTextField(intcolumns)构造一个具有指定列数的新的空TextField。JTextField(Stringtext)构造一个用指定文本初始化的新TextField。JTextField(Stringtext,intcolumns)构造一个用指定文本和列初始化的新TextField。voidsetFont(Fontf)voidsetHorizontalAlignment(intalignment)JTextFieldvoidsetSc

16、rollOffset(intscrollOffset)JDKimportjava.awt.*;importjavax.swing.*;importjava.awt.event.*;/*textfieldtest*/publicclassJtextfieldextendsJAppletJTextFieldtext1,text2;JLabellabel;publicvoidinit()Containercon=this.getContentPane();con.setLayout(newFlowLayout();label=newJLabel(pleaseinputsomecharacter,an

17、dpressedEnter);text1=newJTextField(20);text2=newJTextField(20);text2.setEditable(false);con.add(label);con.add(text1);con.add(text2);text1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)text2.setText(text1.getText(););JButtonJButton()JButton(Actiona)创建一个按钮,其属性从所提供的Action

18、中获取。JButton(Iconicon)JButton(Stringtext)JButton(Stringtext,Iconicon)protectedvoidconfigurePropertiesFromAction(Actiona)该工厂方法根据Action实例中的值设置AbstractButtonAccessibleContextgetAccessibleContext()获得与此JButton关联的AccessibleContextStringgetUIClassID()返回指定呈现此组件的L&F类的类名,以booleanisDefaultButton()JRootPaneRootP

19、aneRootPane获得defaultButton属性的值,如果为truebooleanisDefaultCapable()获得defaultCapable属性的值。protectedStringparamString()返回此JButton的字符串表示形式。voidremoveNotify()重写JComponent.removeNotify来检查此按null的默认按钮,如果是,则将RootPanevoidsetDefaultCapable(booleandefaultCapable)defaultCapablevoidupdateUI()根据当前外观的值重置UI属性。importjava

20、.awt.*;importjava.awt.event.*;importjavax.swing.*;/*Jbuttontest*/publicclassJbuttonextendsJAppletJButtonyes,no;JLabell1;publicvoidinit()yes=newJButton(yes);no=newJButton(no);l1=newJLabel();Containercon=this.getContentPane();con.setLayout(newFlowLayout();con.add(yes);con.add(no);con.add(l1);ActionLis

21、teneraction=newActionListener()publicvoidactionPerformed(ActionEvente)if(e.getActionCommand()=yes)l1.setText(youclickedtheyesbutton);elsel1.setText(youclickedthenobutton);yes.addActionListener(action);no.addActionListener(action);JCheckBox的用法publicclassJCheckBoxextendsJToggleButtonimplementsAccessib

22、leJCheckBox()JCheckBox(Actiona)创建一个复选框,其属性从所提供的Action获取。JCheckBox(Iconicon)JCheckBox(Iconicon,booleanselected)JCheckBox(Stringtext)JCheckBox(Stringtext,booleanselected)JCheckBox(Stringtext,Iconicon)JCheckBox(Stringtext,Iconicon,booleanselected)protectedvoidconfigurePropertiesFromAction(Actiona)该工厂方法

23、根据Action实例的值设置ActionEvent源的属性。protectedPropertyChangeListenercreateActionPropertyChangeListener(Actiona)该工厂方法创建PropertyChangeListener,在Action实例上进行属于更新ActionEvent源。AccessibleContextgetAccessibleContext()获得与此JCheckBox关联的AccessibleContext。StringgetUIClassID()返回指定呈现此组件的L&F类名的字符串。booleanisBorderPaintedFl

24、at()获得borderPaintedFlat属性的值。protectedStringparamString()返回此JCheckBox的字符串表示形式。voidsetBorderPaintedFlat(booleanb)设置borderPaintedFlat属性,该属性为外观提供voidupdateUI()根据当前外观重置UI属性值。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/*Jcheckboxtest*/publicclassJcheckboxextendsJAppletJCheckBoxone,two,thr

25、ee;JPanelpane;publicvoidinit()Containercon=this.getContentPane();con.setLayout(newBorderLayout();one=newJCheckBox(music);two=newJCheckBox(sports);three=newJCheckBox(sleep);pane=newJPanel();pane.add(one);pane.add(two);pane.add(three);con.add(pane,BorderLayout.CENTER);JRadioButton的用法:add方JPanelpublicc

26、lassJRadioButtonextendsJToggleButtonimplementsAccessible实现一个单按钮项可被选择或取消选择,并可为用户显示其状态。与ButtonGroup对象配合建一组按钮,一次只能选择其中的一个按钮。(创建一个ButtonGroup对象并用法将JRadioButton对象包含在此组中。)ButtonGroup或类似的容器对象并将Border添加到其中以便将面板与周围的组件分开。JRadioButton()JRadioButton(Actiona)创建一个单选按钮,其属性来自提供的Action。JRadioButton(Iconicon)JRadioBu

27、tton(Iconicon,booleanselected)JRadioButton(Stringtext)JRadioButton(Stringtext,booleanselected)JRadioButton(Stringtext,Iconicon)JRadioButton(Stringtext,Iconicon,booleanselected)protectedvoidconfigurePropertiesFromAction(Actiona)该工厂方法根据Action实例中的值设置ActionEvent源的属性。protectedPropertyChangeListenercreate

28、ActionPropertyChangeListener(Actiona)PropertyChangeListenerAction用于更新ActionEvent源。AccessibleContextgetAccessibleContext()获取与此JRadioButton相关联的AccessibleContext。StringgetUIClassID()返回呈现此组件的L&F类的名称。protectedStringparamString()返回此JRadioButton的字符串表示形式。voidupdateUI()UIJRadioButtonimportjava.awt.*;importja

29、va.awt.event.*;importjavax.swing.*;/*JRadioButtontest*/publicclassJradiobuttonextendsJAppletJRadioButtonone,two,three;JPanelpane=newJPanel();JLabellabel;ButtonGroupgroup;publicvoidinit()Containercon=this.getContentPane();con.setLayout(newBorderLayout();one=newJRadioButton(sports);two=newJRadioButton

30、(music);three=newJRadioButton(sleep);pane=newJPanel();group=newButtonGroup();group.add(one);group.add(two);group.add(three);pane.add(one);pane.add(two);pane.add(three);label=newJLabel();ActionListenerlistener=newActionListener()publicvoidactionPerformed(ActionEvente)label.setText(e.getActionCommand(

31、);pane.add(one);pane.add(two);pane.add(three);one.addActionListener(listener);two.addActionListener(listener);three.addActionListener(listener);con.add(pane,BorderLayout.SOUTH);con.add(label,BorderLayout.CENTER);Radio,Radio类JComboBoxpublicclassJComboBoxextendsJComponentimplementsItemSelectable,Actio

32、nListener,Accessible将按钮或可编辑字段与下拉列表组合的组件。用ListDataListener,JComboBox()JComboBoxJComboBox(ComboBoxModelaModel)JComboBoxJComboBox(Objectitems)JComboBox(Vectoritems)创建包含指定Vector中的自现有的ComboBoxModelJComboBox。的JComboBox。voidactionPerformed(ActionEvente)voidaddActionListener(ActionListenerl)添加ActionListener

33、。voidaddItem(ObjectanObject)voidaddItemListener(ItemListeneraListener)添加ItemListener。对与此控件的方法在这里我们就介绍这些,请大家参考JDKimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/*JComboBoxtest*/publicclassJcomboboxextendsJAppletJLabellabel;JComboBoxcombox;publicvoidinit()Containercon=this.getContentPane(

34、);con.setLayout(newBorderLayout();label=newJLabel();combox=newJComboBox();combox.addItem(sports);combox.addItem(sleep);combox.addItem(music);ItemListenerlistener=newItemListener()publicvoiditemStateChanged(ItemEvente)label.setText(youselected-+e.getItem();combox.addItemListener(listener);con.add(com

35、box,BorderLayout.SOUTH);con.add(label,BorderLayout.CENTER);JTabbedPanePanes一节。通过使用addTab和insertTab方法将为选项卡数减1。TabbedPane使用SingleSelectionModel项卡数大于0,则总会有一个被选定的选项卡数为0,则所选择的索引为-1。和/或图标的选项卡,在一组组件之间进行切TheJavaTutorialHowtoUseTabbed/组件添加到TabbedPane对象中。选项卡通选项卡的索引为0,最后一个选项卡的索引JTabbedPane()创建一个具有默认的JTabbedPan

36、e.TOP选项卡布局的空TabbedPane。JTabbedPane(inttabPlacement)TabbedPaneJTabbedPane.TOP、JTabbedPane.BOTTOM、JTabbedPane.LEFT或JTabbedPane.RIGHTJTabbedPane(inttabPlacement,inttabLayoutPolicy)TabbedPanevoidaddTab(Stringtitle,Componentcomponent)添加一个由title表示,且没有图标的component。voidaddTab(Stringtitle,Iconicon,Componentc

37、omponent)title/iconcomponentnullvoidaddTab(Stringtitle,Iconicon,Componentcomponent,Stringtip)title/iconcomponenttipnull。voidsetModel(SingleSelectionModelmodel)JTabbedPane2addTab()Componentadd(Stringtitle,Componentcomponent)添加具有指定选项卡标题的component。)3。重复步骤2,增加标签4。将选项窗格加入小应用程序的内容窗格。importjava.awt.*;impor

38、tjava.awt.event.*;importjavax.swing.*;/*JTabbedPanetest*/publicclassJtabbedPaneextendsJAppletpublicvoidinit()JTabbedPanetab=newJTabbedPane();tab.addTab(colors,newColorPanel();tab.addTab(sports,newSportPanel();this.getContentPane().add(tab);classColorPanelextendsJPanelpublicColorPanel()JButtonb1=newJ

39、Button(Red);JButtonb2=newJButton(Blue);JButtonb3=newJButton(Black);this.add(b1);this.add(b2);this.add(b3);classSportPanelextendsJPanelpublicSportPanel()JRadioButtonrb1=newJRadioButton(basketball);JRadioButtonrb2=newJRadioButton(football);JRadioButtonrb3=newJRadioButton(baseball);ButtonGroupgroup=new

40、ButtonGroup();group.add(rb1);group.add(rb2);group.add(rb3);this.add(rb1);this.add(rb2);this.add(rb3);类JTree树中特定的节点可以由TreePat(h封装节点及其所TreeModel.isLeaf(node)标识),当展开其所有祖先false以下JTree方法使用visible来isRootVisible()setRootVisible()scrollPathToVisible()scrollRowToVisible()getVisibleRowCount()setVisibleRowCoun

41、t()下一组JTree方法使用visibleisVisible()makeVisible()addTreeSelectionListener添加实例displayedviewable(在展开的父节点下面实现TreeSelectionListener接口择更改时,将调用valueChanged一节点上单击两次,则仅调用valueChangedfinalJTreetree=.;MouseListenerml=newMouseAdapter()publicvoidmousePressed(MouseEvente)intselRow=tree.getRowForLocation(e.getX(),e.

42、getY();TreePathselPath=tree.getPathForLocation(e.getX(),e.getY();if(selRow!=-1)if(e.getClickCount()=1)mySingleClick(selRow,selPath);elseif(e.getClickCount()=2)myDoubleClick(selRow,selPath);要使用JTreeTreeCellRenderertree.addMouseListener(ml);setCellRenderer(javax.swing.tree.TreeCellRenderer),请为TreeCellEditor创建子类,并使setCellEditor(javax.swing.tree.TreeCellEditor)。与所有JComponent类一样,可以使用InputMap和ActionMap将ActionKeyStroke关联,并在指定条件下执行操作。JTree()返回带有示例模型的JTree。JTree(Hashtablevalue)HashtableJTreeJTree(Objectvalue)JTreeJTree(TreeModelnewModel)返回JTree的一个实例,它显示根节JTree(TreeNoderoot)JTreeTreeNodeJTre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论