`

Java 调用系统的字体和颜色【转】

    博客分类:
  • JAVA
阅读更多
Java 调用系统的字体和颜色

博客分类: JASE
JavaSwing设计模式F#
  下面的这个程序是项目里面的一个对话框,可以直接改成窗体,将JDailog改为JFrame就可以了
   在设置字体的时候,先选择好字体的那三个参数,在点击确定
   本程序的确定,不能对选中的部分内容进行设置,而是设置全部的内容
package cn.com.peixunban.view.dialog.toolDialog;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ResourceBundle;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import cn.com.peixunban.action.toolAction.MessBoardAction;
/**
* 留言板对话框
*
* @author 黄根华
*/
public class MessBoard extends JDialog {
private static MessBoard instance;
private JPanel southPanel;// 南部面板
private JPanel northPanel;// 北部面板
private JPanel centerPanel;// 中心面板
private JTextArea area;// 文本域
private JTextField searchText;// 查找内容
private JPanel buttonPanel;// 按钮面板
private JComboBox fontBox;// 字体列表
private ResourceBundle rb;// 包含特定语言环境的对象
private JComboBox typeBox;// 字体风格列表
private JComboBox sizeBox;// 大小列表
private Font f;// 字体;
private String fontname = "楷体";// 字体
private String type = "PLAIN";// 字体风格
private String sizeFont = "34";// 大小
/*
  * 单子设计模式
  */
private MessBoard() {
  init();
}
public static MessBoard getInstance() {
  if (instance == null) {
   instance = new MessBoard();
  }
  return instance;
}
public JTextArea getArea1() {
  return area;
}
public JTextField getSearchText() {
  return searchText;
}
/**
  * 初始化当前对话框
  */
public void init() {
  this.setTitle("留言板");
  this.setModal(true);
  this.setSize(600, 550);
  this.createFontBox();
  this.createTypeBox();
  this.createSizeBox();
  searchText = new JTextField(10);
  area = new JTextArea(50, 50);
  this.add(createNorthPanel(), BorderLayout.NORTH);
  this.add(createCenterPnael(), BorderLayout.CENTER);
  this.setLocationRelativeTo(null);
  this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
  // 添加窗口关闭事件
  this.addWindowListener(new WindowAdapter() {
   public void windowClosing(WindowEvent e) {
    dispose();
   }
  });
   this.setVisible(true);
}
/**
  * 创建中心面板
  *
  * @return
  */
public JPanel createCenterPnael() {
  centerPanel = new JPanel();
  centerPanel.setLayout(new BorderLayout());
  centerPanel.add(area, BorderLayout.CENTER);
  centerPanel.add(createButtonPanel(), BorderLayout.SOUTH);
  return centerPanel;
}
/**
  * 创建北部面板
  *
  * @return
  */
public JPanel createNorthPanel() {
  northPanel = new JPanel();
  northPanel.add(createLabel("字体  "));
  northPanel.add(fontBox);
  northPanel.add(typeBox);
  northPanel.add(sizeBox);
  northPanel.add(createButton("确定"));
  northPanel.add(createButton("颜色"));
  return northPanel;
}
/**
  * 创建按钮面板
  *
  * @return
  */
public JPanel createButtonPanel() {
  buttonPanel = new JPanel();
  buttonPanel.add(createButton("提交"));
  buttonPanel.add(createLabel("         "));
  buttonPanel.add(createButton("清空"));
  return buttonPanel;
}
/**
  * 创建按钮
  *
  * @param name
  * @return
  */
public JButton createButton(String buttonName) {
  JButton button = new JButton(buttonName);
  // 向按钮添加事件
  button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
    if (cmd.equals("确定")) {
     fontname = fontBox.getSelectedItem().toString();
     type = typeBox.getSelectedItem().toString();
     sizeFont = sizeBox.getSelectedItem().toString();
     area.setFont(getFont(fontname, type, sizeFont));
    } else if (cmd.equals("颜色")) {
     JColorChooser chooser = new JColorChooser();
     Color color = chooser.showDialog(MessBoard.this, "选择颜色",
       Color.BLACK);
     // 如果没有选择颜色
     if (color == null) {
      color = Color.BLACK;
     }
     area.setForeground(color);// 设置字体的颜色
    }
  });
  return button;
}
/**
  * 创建标签
  *
  * @param labelName
  * @return
  */
public JLabel createLabel(String labelName) {
  JLabel label = new JLabel(labelName, JLabel.LEFT);
  return label;
}
/**
  * 创建字体列表
  *
  * @return
  */
public void createFontBox() {
  String[] fontName = null;
  // 获得系统可用的字体
  fontName = GraphicsEnvironment.getLocalGraphicsEnvironment()
    .getAvailableFontFamilyNames();
  fontBox = new JComboBox(fontName);
  fontname = fontBox.getSelectedItem().toString();
}
/**
  * 创建字体大小的类表
  *
  * @return
  */
public void createSizeBox() {
  String fontSizes[] = { "8", "9", "10", "11", "12", "14", "16", "18",
    "20", "22", "24", "26", "28", "36", "48", "72" };
  sizeBox = new JComboBox(fontSizes);
  sizeFont = sizeBox.getSelectedItem().toString();
}
/**
  * 创建字体风格列表
  *
  * @return
  */
public void createTypeBox() {
  String[] type2 = { "PLAIN", "BOLD", "ITALIC" };
  typeBox = new JComboBox(type2);
  type = typeBox.getSelectedItem().toString();
}
/*
  * 获得字体 (non-Javadoc)
  *
  * @see java.awt.Component#getFont()
  */
public Font getFont(String name, String type, String sizefont) {
  int size = Integer.parseInt(sizeFont);
  int typle = 0;
  if (type.equalsIgnoreCase("PLAIN")) {
   typle = Font.PLAIN;
  } else if (type.equalsIgnoreCase("BOLD")) {
   typle = Font.BOLD;
  } else if (type.equalsIgnoreCase("ITALIC")) {
   typle = Font.ITALIC;
  }
  Font f = new Font(name, typle, size);
  return f;
}
/**
  * @param args
  */
  public static void main(String[] args) {
  MessBoard instance = MessBoard.getInstance();
  }
}
分享到:
评论

相关推荐

    java console程序改变字的颜色和背景颜色

    在Java编程环境中,控制台输出通常是黑白两色,但有时候我们可能希望在控制台上实现更加丰富的视觉效果,比如改变字体颜色和背景颜色。这在一些命令行应用中可能会增加用户体验或者帮助突出关键信息。尽管Java标准库...

    Java调用ocx控件以及dll和word文档

    要创建新文档,先创建一个XWPFDocument对象,再添加XWPFParagraphs,设置字体、颜色和对齐方式,接着插入XWPFTables并定义单元格。完成后,使用Document.write()方法将文档保存到磁盘。 总结一下,Java调用OCX控件...

    java调用打印机打印的相关教程

    ### Java调用打印机打印的相关教程 #### 一、Java打印API简介 Java打印API主要包含在`java.awt.print`包中。随着Java的发展,特别是从JDK 1.4开始,Java提供了更为丰富的打印支持,这主要体现在`javax.print`及其...

    Excel解析字体颜色

    在IT行业中,尤其是在数据分析和电子表格处理领域,Apache POI是一个...通过理解`XSSFFont`和`XSSFColor`类,以及相关的API,开发者可以方便地获取并处理Excel单元格的字体颜色,从而实现自定义的数据分析和处理逻辑。

    JAVA文本域显示不同字体颜色的文字

    例如,我们可以创建一个Style,然后使用`addAttribute()`方法添加字体颜色和字体大小属性。 5. ** 插入富文本**: 使用`insertString()`方法可以将带有样式的文本插入到JTextPane中。我们需要传递插入位置的索引、...

    Java水印图片字体

    在Java中实现这一功能,我们需要涉及到图形处理和字体管理的知识。下面我们将详细探讨如何在Java中添加水印图片以及如何使用字体文件。 首先,我们要了解Java中的`java.awt`和`javax.imageio`这两个包,它们提供了...

    java调用PageOffice生成word

    4. **自定义样式和格式**:除了数据填充外,PageOffice还允许开发者控制文档的样式和格式,如字体、颜色、段落间距等,确保生成的Word文件满足特定的设计需求。 5. **集成Web应用**:PageOffice可以无缝集成到Java ...

    webview 修改字体颜色大小背景 js实现

    例如,以下代码会改变所有段落(`<p>`标签)的字体颜色和大小: ```javascript var paragraphs = document.getElementsByTagName('p'); for (var i = 0; i ; i++) { paragraphs[i].style.color = 'red'; ...

    java写的记事本程序带工具栏可以改变字体颜色

    在这个记事本程序中,工具栏按钮的点击事件会触发相应的功能,比如改变字体颜色,可能通过调用JTextPane的setCharacterAttributes()方法来实现。这个方法接受一个AttributeSet对象,用于定义文本的样式属性,包括...

    java绘图 显示各种字体 实例代码

    // 更换字体和颜色,绘制更多文本 Font font2 = new Font("Times New Roman", Font.ITALIC, 18); g2d.setFont(font2); g2d.setColor(Color.BLUE); text = "这是不同字体的示例!"; bounds = font2....

    JAVA实现PDF转HTML

    转换过程中,需要注意保持原始PDF的样式和排版,这可能涉及到解析PDF的字体、颜色、图像和页面尺寸等信息。 测试文件是验证转换功能是否正常的关键部分。它们通常包含各种类型的PDF文档,如简单的文本、复杂的布局...

    Android 改变系统状态栏颜色和字体

    在Android开发中,自定义系统状态栏的颜色和字体是一项常见的需求,这可以帮助应用程序与系统界面更好地融合,提升用户体验。在Android 5.0(Lollipop)及更高版本中,谷歌引入了Material Design设计语言,允许...

    可调字体和颜色的通用文本滚动显示类

    再者,"可调颜色"意味着文本的颜色和背景颜色都可以被定制。这可以通过颜色选择器或颜色代码输入实现,背后可能使用了颜色转换函数,将用户输入的颜色值转换为系统可识别的RGB或ARGB格式。 此外,"通用"一词表明这...

    txt文本阅读器 实现字体颜色改变和文本背景变换

    6. **用户界面设计**:良好的用户体验是关键,界面应该直观易用,允许用户轻松地切换字体颜色和背景色。这可能涉及到布局管理器的使用,如GridBagLayout、BoxLayout或FlowLayout,来组织界面元素。 7. **源码组织**...

    java 字体逐渐展开的效果

    在`WordsToExpand.java`文件中,我们可以定义一个继承自JPanel的类,这个类将负责绘制和更新字体展开的效果。例如: ```java public class WordsToExpand extends JPanel { private String text; private int ...

    使用java实现,通过zpl指令调用 zebra打印机打印标签,含二维码及中文

    在本文中,我们将深入探讨如何使用Java编程语言来实现ZPL指令,以便调用Zebra打印机进行标签打印,包括二维码和中文字符。ZPL(Zebra Programming Language)是Zebra公司开发的一种专用于控制其标签打印机的语言,它...

    Java实现XML文档到word文档转换

    在这个例子中,`<font>`元素包含了三个属性:`size`(字体大小)、`color`(字体颜色)和`name`(字体类型),这些属性将在后续的解析和转换过程中使用。 ##### 2.2 解析XML文档 使用DOM4J库来解析XML文档,并从中...

    java报表打印包(导入即可)

    样式涉及字体、颜色、边框等视觉效果。数据绑定则是将数据源的数据映射到报表模板的各个部分。 6. **数据源与数据填充**:报表通常需要从数据库、文件或其他数据源获取数据。Java报表打印过程中,需要将这些数据...

    Java 使用iText生成word文档,有表格,图片,文本有颜色

    - **添加文本**:使用`Paragraph`对象添加文本,并可以设置字号、字体和颜色: ```java Font font = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD, BaseColor.RED); Paragraph paragraph = new Paragraph...

Global site tag (gtag.js) - Google Analytics