字体工具栏
来源:互联网 发布:怎么淘宝排名靠前 编辑:程序博客网 时间:2024/05/12 06:11
今天用java写了一个字体工具栏。
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- //测试类
- public class Exec {
- public static void main(String[] args) {
- // 创建窗体类DemoWindow
- DemoWindow dw = new DemoWindow("字体工具栏");
- // 将窗体的宽度和高度分别设置为屏幕宽度和屏幕高度的1/3,左上角位置也设置为屏幕宽度和屏幕高度的1/3处
- Toolkit theKit = dw.getToolkit();
- Dimension wndSize = theKit.getScreenSize();
- dw.setBounds(wndSize.width / 3, wndSize.height / 3, wndSize.width / 3,
- wndSize.height / 3);
- // 点击关闭按钮可以退出程序
- dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // 设置窗体为可见
- dw.setVisible(true);
- }
- }
- //界面窗体类
- class DemoWindow extends JFrame implements ActionListener,ItemListener{
- //显示文本内容的文本区
- JTextArea jta = new JTextArea();
- //设置文本区的滚动条
- int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
- int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
- JScrollPane jsp = new JScrollPane(jta,v,h);
- //工具栏
- JToolBar toolbar = new JToolBar();
- //"黑体"按钮图标
- ImageIcon ii1 = new ImageIcon("images/bold.gif"); //有图片……
- //"黑体"按钮
- JToggleButton jtb1 = new JToggleButton(ii1);
- //"斜体"按钮图标
- ImageIcon ii2 = new ImageIcon("images/italic.gif");
- //"斜体"按钮
- JToggleButton jtb2 = new JToggleButton(ii2);
- //字体名称组合框
- JComboBox jcb1 = null;
- //字体大小组合框
- JComboBox jcb2 = null;
- //构造函数
- public DemoWindow(String title){
- super(title);
- //添加文本框
- add(jsp);
- //获取系统所有字体
- GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
- String fontNames[] = ge.getAvailableFontFamilyNames();
- String sizeNames[] = new String[60];
- for(int i=0;i<59;i++){
- sizeNames[i] = 20+i+"";
- }
- Font newFont = new Font(null,0,20);
- jta.setFont(newFont);
- //创建字体名称组合框
- jcb1 = new JComboBox(fontNames);
- jcb2 = new JComboBox(sizeNames);
- jcb1.setMaximumSize(new Dimension(200,100));
- //设置文本框的最大的尺寸
- jcb2.setMaximumSize(new Dimension(50,100));
- //设置按钮的边界填充距离
- jtb1.setMargin(new Insets(0,0,0,0));
- jtb2.setMargin(new Insets(0,0,0,0));
- //设置工具栏
- toolbar.add(jcb1);
- toolbar.addSeparator();
- toolbar.add(jcb2);
- toolbar.addSeparator();
- toolbar.add(jtb1);
- toolbar.add(jtb2);
- //设置工具栏的翻转状态
- toolbar.setRollover(true);
- //添加工具栏
- add(toolbar,BorderLayout.NORTH);
- //添加事件监听器
- jtb1.addActionListener(this);
- jtb2.addActionListener(this);
- jcb1.addItemListener(this);
- jcb2.addItemListener(this);
- this.setVisible(true);
- this.setSize(500, 250);
- }
- //响应单击按钮
- public void actionPerformed(ActionEvent e){
- //获取文本区的当前字体
- Font font = jta.getFont();
- //处理设置黑体
- if(e.getSource() == jtb1){
- //在现有字体上添加黑体属性
- jta.setFont(font.deriveFont(font.getStyle()^Font.BOLD));
- }else if(e.getSource() == jtb2){
- //在现有字体上添加斜体
- jta.setFont(font.deriveFont(font.getStyle()^Font.ITALIC));
- }
- //文本区获得焦点
- jta.requestFocus();
- }
- //响应选中的组合框
- public void itemStateChanged(ItemEvent e){
- //获取文本区的当前的文字
- Font font = jta.getFont();
- if(e.getSource() == jcb1){
- //根据选中的字体名称,得到新的字体
- Font newFont = new Font((String)jcb1.getSelectedItem(),
- font.getStyle(),Integer.parseInt((String)jcb2.getSelectedItem()));
- //设置文本区的新字体
- jta.setFont(newFont);
- }else if(e.getSource() == jcb2){
- //根据选中的字体大小,得到新的字体
- Font newFont = new Font((String)jcb1.getSelectedItem(),
- font.getStyle(),Integer.parseInt((String)jcb2.getSelectedItem()));
- //设置文本区的新字体
- jta.setFont(newFont);
- }
- //文本区获得焦点
- jta.requestFocus();
- }
- }
用到两张图片,不能插入,请点击:student.csdn.net/space.php
ps:我的新博客地址:http://www.xinghaixu.com
- 字体工具栏
- 改变工具栏字体
- 图标字体制作工具栏
- Android Studio设置工具栏等字体
- 工具栏
- 工具栏
- 工具栏
- 工具栏
- 工具栏
- 工具栏
- 工具栏
- PB中轻松实现真正意义上的大字体工具栏
- 【杂七杂八】Dreamweaver在Surface高分辨率下工具栏字体和按钮太小的解决办法
- 用BCG开发字体设定工具栏在按下粗体设置按钮式后,选中内容被设定,但是工具栏上的按钮没有处于按下状态
- 富文本编辑器UEditor自定义工具栏(一、基础配置与字体、背景色、行间距、超链接实现)
- 字体
- 字体
- 字体
- 抽象和封装 笔记
- DOM4J
- 基于类的权限访问的探究
- C#水果机软件开发简略过程
- 基础------初始化、构造器、重载、数组、可变参数
- 字体工具栏
- 今天又在网上看到一个爱情小故事.读完后挺那样的...给大家分享一下...
- 求教:用C++求n阶方阵对角线之和!
- COM技术初探
- 突然意识自己很菜。。
- 字符串的简单操作
- 软件设计师考试说明
- 全国计算机技术与软件专业技术资格(水平)考试
- Java的命运