600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Swing组件组合框

Swing组件组合框

时间:2020-05-04 20:21:43

相关推荐

Swing组件组合框

Swing 是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

下面介绍组Swing组件之组合框:

JComboBox组件用来创建组合框对象。通常,根据组合框是否可编辑的状态,可以将组合框分成两种常见的外观。可编辑状态外观可视为文本框和下拉列表的组合,不可编辑状态的外观可视为按钮和下拉列表的组合。在按钮或文本框的右边有一个带三角符号的下拉按钮,用户可以单击该下拉按钮,便可出现一个内容列表,这也是组合框的得名。组合框通常用于从列表的”多个项目中选择一个”的操作。

JComboBox的构造方法有如下几种:

JComboBox():创建一个默认模型的组合框。

JComboBox(ComboBoxModel aModel):创建一个指定模型的组合框。

JComboBox(Object[] items):创建一个具有数组定义列表内容的组合框。

示例代码如下:

import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;@SuppressWarnings("all")public class ComboBoxFrame extends JFrame {private JComboBox faceCombo;private JLabel label;private static final int DEFAULT_SIZE = 24;public static void main(String[] args) {//创建一个显示框EventQueue.invokeLater(new Runnable() {public void run() {try {ComboBoxFrame frame = new ComboBoxFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(100, 100, 450, 300);frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}//下拉框设置public ComboBoxFrame() {label = new JLabel("The quick brown fox jumps over the lazy dog.");label.setFont(new Font("Serif",Font.PLAIN,DEFAULT_SIZE));add(label,BorderLayout.CENTER);//为项列表添加项。仅当 JComboBox 使用可变数据模型时此方法才有效。faceCombo = new JComboBox();faceCombo.addItem("Serif");faceCombo.addItem("SnsSerif");faceCombo.addItem("Monospaced");faceCombo.addItem("Dialog");faceCombo.addItem("DialogInput");faceCombo.addActionListener(new ActionListener() {//这是接口ActionListener里面定义的一个抽象方法,当拉下按钮按钮,点击下拉列表中的内容会触发这个事件,然后调用编写的事件处理程序。public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stublabel.setFont(new Font((String) faceCombo.getItemAt(faceCombo.getSelectedIndex()),Font.PLAIN,DEFAULT_SIZE));}});JPanel comboJPanel = new JPanel();comboJPanel.add(faceCombo);add(comboJPanel,BorderLayout.SOUTH);pack();}}

参考网址:/symbol8888/archive//05/02/6781654.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。