(总结)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 装饰(如边框、关闭窗口的小部件、标题等等)的提示。
JFrame.setDefaultLookAndFeelDecorated(true);// 创建一个窗体JFrame frame = new JFrame("小龙按钮");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E); // 创建一个面板JButtonExample3 newContentPane = new JButtonExample3();newContentPane.setOpaque(true);frame.setContentPane(newContentPane); // 显示窗体frame.pack();frame.setLocation(300, 200);frame.setVisible(true); } }运行截图:(说明:以下关于列表框内容部分出自此处:点击打开链接,特此声明!2.组合框(JComboBox):组合框(下拉列表JComboBox)使用方法及示例详解:构造方法:* JComboBox() 建立一个JComboBox组件.* JComboBox(ComboBoxModel model) 根据model建立一个JComboBox组件.* JComboBox(Objext[] items) 利用数组对象建立一个JComboBox组件.* JComboBox(Vector items) 利用Vector对象建立一个JComboBox组件.常用方法:....综合示例:[java] view plain copy print?<spanstyle="background-color: rgb(255, 255, 255);">import java.awt.*; /* 包含用于创建用户界面和绘制图形图像的所有类。
*/ import javax.swing.*; /* 提供一组"轻量级"组件,尽量让这些组件在所有平台上的工作方式都相同*/public class JComboBoxDemo extends JFrame{ public JComboBoxDemo() { /** Container是所有容器的父类,又是Java语言的组件类Component的子类. 容器是一种具有容纳其他组件和容器的功能的组件* 一个Java的图形用户界面的最基本元素是组件,组件是可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,如一个按钮,一个文本框等.* 在Java中,通常将组件放在一定的容器内使用this.getContentPane()方法返回此窗体的contentPane 对象*/ Container contentPane =this.getContentPane(); /* 创建一个面板对象,指定布局管理器为GridLayout,1行2列.Jpanel的默认版面管理为FlowLayout */ JPanel jPanel1 = new JPanel(new GridLayout(1, 2)); // 利用String数组建立JComboBox String[] fruit = { "苹果", "香蕉", "桔子", "梨", "芒果" };JComboBox jComboBox1 = new JComboBox(fruit); jComboBox1.addItem("其他"); // 在列表框选项的最后再添加一个"其他"选项// 设置jList1对象的带标题边框jComboBox1.setBorder(BorderFactory.createTitledBorder( "您最喜欢的水果:")); // 添加列表框jComboBox1至面板jPanel1.add(jComboBox1);// 利用ComboBoxModel建立JComboBox ComboBoxModel myModel = new MyModel(); JComboBox jComboBox2 = new JComboBox(myModel); // 设置jList1对象的带标题边框jComboBox2.setBorder(BorderFactory.createTitledBorder( "您最喜欢的水果:")); // 添加列表框jComboBox2至面板jPanel1.add(jComboBox2);// 添加面板至父容器contentPane.add(jPanel1); // 设置本窗体的标题this.setTitle("JComboBoxDemo"); // 设置本窗体显示的初始大小this.setSize(350, 90);this.setLocation(300, 200); // 设置本窗体初始可见this.setVisible(true); } class MyModel extends DefaultComboBoxModel{ String[] fruit = { "苹果", "香蕉", "桔子", "梨", "芒果" }; MyModel() { for (int i = 0;i < fruit.length; i++) { /* addElement()方法用于向列表框添加选项元素*/this.addElement(fruit[i]); } }} public static void main(String args[]){ JComboBoxDemo test = new JComboBoxDemo(); } }</span> 截图:3.列表框(JList):列表框的功能与下拉列表框相似,也是让用户在几个条目中做出选择,但又有一些区别,它提供给用户的选择模式更为多样,分别是单一选择、连续选择、多项选择,对应于ListSelectionModel 中的3个常量:(1) static int SINGLE_SELECTION 只能选择一条。