博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java第二次实验
阅读量:6855 次
发布时间:2019-06-26

本文共 3447 字,大约阅读时间需要 11 分钟。

组合框(JComboBox)的使用方法:

组合框(JComboBox)是文本框和列表的组合,可以在文本框中输入选项,也可以单击下拉按钮从显示的列表中进行选择。
组合框的常用构造方法:
JComboBox():建立一个没有选项的JComboBox对象。
JComboBox(JComboBoxModel aModel):用数据模型建立一个JComboBox对象。
JComboBox(Object[]items):利用数组对象建立一个JComboBox对象。

组合框的其他常用方法有以下几个:

  1. addItem(Object obj):向组合框加选项。
  2. getItemCount():获取组合框的条目总数。
  3. removeItem(Object ob):删除指定选项。
  4. removeItemAt(int index):删除指定索引的选项。
  5. insertItemAt(Object ob,int index):在指定的索引处插入选项。
  6. getSelectedIndex():获取所选项的索引值(从0开始)。
  7. getSelectedItem():获得所选项的内容。
  8. setEditable(boolean b):设为可编辑。组合框的默认状态是不可编辑的,需要调用本方法设定为可编辑,才能响应选择输入事件。

  在JComboBox对象上发生事件分为两类。一是用户选定项目,事件响应程序获取用户所选的项目。二是用户输入项目后按回车键,事件响应程序读取用户的输入。第一类事件的接口是ItemListener;第二类事件是输入事件,接口是ActionListener。

import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class FontTest extends JFrame implements ActionListener {public static void main(String[] args) {JFrame frame=new FontTest();frame.setSize(800, 200);frame.setVisible(true);}public static Font font;private JButton btnGo;// 主类直接继承了 JFrame,实现了 ActionListener 接口private static final long serialVersionUID = -2344998755780835481L;// 获取当前的环境变量private java.awt.GraphicsEnvironment env = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();// 字体名字,风格,大小的下拉框private JComboBox cbFontName, cbFontStyle, cbFontHeight;// 文本编辑框private JTextArea taEditor;public FontTest() {super("字体"); // 继承父类的构造函数this.setSize(500, 280); // 设置窗口大小this.setLocationRelativeTo(null); // 窗口屏幕居中Image img = new ImageIcon("src/Icon/字体.jpg").getImage();this.setIconImage(img);Container container = this.getContentPane();// 获取系统中所有可用字体的名字,并加入下拉框String[] fontNames = env.getAvailableFontFamilyNames();cbFontName = new JComboBox(fontNames);// 将三种字体风格加入下拉框String[] fontStyles = { "普通", "粗体", "斜体" };cbFontStyle = new JComboBox(fontStyles);// 将 12~21 字号加入下拉框String[] fontHeights = new String[10];for (int i = 12; i < 22; i++)fontHeights[i - 12] = new String(Integer.toString(i));cbFontHeight = new JComboBox(fontHeights);// 创建执行按钮,并加入监听btnGo = new JButton("应用字体");btnGo.setActionCommand("Apply Font");btnGo.addActionListener(this);// 创建一个面板,把三个下拉框,按钮放进去,面板默认是 FlowLayoutJPanel paneTop = new JPanel();paneTop.add(cbFontName);paneTop.add(cbFontStyle);paneTop.add(cbFontHeight);paneTop.add(btnGo);// 创建文本框,并放入滚动条taEditor = new JTextArea();taEditor.append("好好学习Java");JScrollPane sp = new JScrollPane(taEditor);// 将各组件加入窗口container.add(paneTop, BorderLayout.PAGE_START);container.add(sp, BorderLayout.CENTER);}public void actionPerformed1(ActionEvent event) {if (event.getActionCommand().equals("Apply Font")) { // 判断是否来自按钮的动作// 获取字体名字String fontName = cbFontName.getSelectedItem().toString();// 获取字体风格,默认是“普通”int fontStyle;switch (cbFontStyle.getSelectedIndex()) {case 0:fontStyle = Font.PLAIN;break;case 1:fontStyle = Font.BOLD;break;case 2:fontStyle = Font.ITALIC;break;default:fontStyle = Font.PLAIN;break;}// 获取字体大小int fontHeight = Integer.parseInt(cbFontHeight.getSelectedItem().toString());// 创建一个新字体font = new Font(fontName, fontStyle, fontHeight);// 文本框应用新字体taEditor.setFont(font);}}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub}}

 

转载于:https://www.cnblogs.com/gentleman-g/p/5293216.html

你可能感兴趣的文章
Shiro 入门
查看>>
前端性能调优
查看>>
JavaScript prototype 属性
查看>>
XML操作类
查看>>
PTA_Have fun with numbers(C++)
查看>>
iOS日历显示农历信息
查看>>
win10系统配置java环境及遇到问题的一些处理方法
查看>>
记一次Selectable的误用
查看>>
动态规划略有所得 数字三角形(POJ1163)
查看>>
JavaScript中的常用编码
查看>>
HTML5 本地存储
查看>>
C#基础知识
查看>>
[网络流24题] 太空飞行计划 (最大权闭合子图---网络最大流)
查看>>
1、Monkey环境搭建
查看>>
JavaScript的事件监听、捕获和冒泡
查看>>
SpringMVC初写(三)Controller的生命周期
查看>>
Amixer 控制声音
查看>>
java中i++和++i的区别。
查看>>
python3编写网络爬虫17-验证码识别
查看>>
防XSS攻击
查看>>