/** * 字体选择对话框。 * * @author lucky star * */ public class FontDialog extends JDialog { private final JPanel contentPanel = new JPanel(); private JComboBox fontNameBox = null; private JComboBox fontStyleBox = null; private JComboBox fontSizeBox = null; private JTextArea txtrHereIs = null; private String fontName; private String fontStyle; private String fontSize; private int fontSty; private int fontSiz; /** * Launch the application. */ public static void main(String[] args) { try { FontDialog dialog = new FontDialog(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the dialog. */ public FontDialog() { setTitle("\u5B57\u4F53"); setBounds(100, 100, 483, 234); getContentPane().setLayout(new BorderLayout()); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(null); { JLabel lblf = new JLabel("\u5B57\u4F53(F):"); lblf.setBounds(0, 10, 54, 15); contentPanel.add(lblf); } { JLabel lbly = new JLabel("\u5B57\u5F62(Y):"); lbly.setBounds(182, 10, 54, 15); contentPanel.add(lbly); } { JLabel lbls = new JLabel("\u5927\u5C0F(S):"); lbls.setBounds(315, 10, 54, 15); contentPanel.add(lbls); } { JLabel label = new JLabel("\u663E\u793A\u6548\u679C:"); label.setBounds(126, 82, 64, 15); contentPanel.add(label); } Panel panel = new Panel(); panel.setBounds(196, 40, 228, 113); contentPanel.add(panel); panel.setLayout(null); { txtrHereIs = new JTextArea(); txtrHereIs.setBounds(39, 38, 177, 44); txtrHereIs .setText("\u8FD9\u91CC\u663E\u793A\u9884\u89C8\r\nHere is the preview"); panel.add(txtrHereIs); } { fontNameBox = new JComboBox(); fontNameBox.setBounds(49, 7, 123, 21); contentPanel.add(fontNameBox); fontNameBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent itemevent) { fontName = (String) itemevent.getItem(); System.out.println(fontName); // change preview Font f = new Font(fontName, fontSty, fontSiz); txtrHereIs.setFont(f); } }); } { fontStyleBox = new JComboBox(); fontStyleBox.setBounds(232, 7, 73, 21); contentPanel.add(fontStyleBox); fontStyleBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent itemevent) { fontStyle = (String) itemevent.getItem(); fontSty = getFontStyleByCnName(fontStyle); // change preview Font f = new Font(fontName, fontSty, fontSiz); txtrHereIs.setFont(f); } }); } { fontSizeBox = new JComboBox(); fontSizeBox.setBounds(379, 7, 78, 21); contentPanel.add(fontSizeBox); fontSizeBox.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent itemevent) { fontSize = (String) itemevent.getItem(); fontSiz = Integer.parseInt(fontSize); // change preview Font f = new Font(fontName, fontSty, fontSiz); txtrHereIs.setFont(f); } }); } { JPanel buttonPane = new JPanel(); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane, BorderLayout.SOUTH); { JButton okButton = new JButton("\u786E\u5B9A"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { int fontSty = getFontStyleByCnName(fontStyle); int fontSiz = Integer.parseInt(fontSize); JOptionPane.showMessageDialog(FontDialog.this, "你选择的字体名称:" + fontName + ",字体样式:" + fontStyle + ",字体大小:" + fontSiz, "提示", JOptionPane.CLOSED_OPTION); } }); okButton.setActionCommand("OK"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("\u53D6\u6D88"); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionevent) { FontDialog.this.dispose(); } }); } } // 初始化字体名称 GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); String[] fontNames = ge.getAvailableFontFamilyNames(); fontNameBox.setModel(new DefaultComboBoxModel(fontNames)); // 初始化字体样式 String[] fontStyles = { "常规", "斜体", "粗体", "粗斜体" }; fontStyleBox.setModel(new DefaultComboBoxModel(fontStyles)); // 初始化字体大小 String[] fontSizes = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" }; fontSizeBox.setModel(new DefaultComboBoxModel(fontSizes)); System.out.println("finish."); fontSizeBox.setSelectedIndex(4); fontStyle = (String) fontStyleBox.getSelectedItem(); fontSize = (String) fontSizeBox.getSelectedItem(); fontSty = getFontStyleByCnName(fontStyle); fontSiz = Integer.parseInt(fontSize); } public static int getFontStyleByCnName(String fontStyle) { if (fontStyle.equals("常规")) { return Font.PLAIN; } if (fontStyle.equals("斜体")) { return Font.ITALIC; } if (fontStyle.equals("粗体")) { return Font.BOLD; } if (fontStyle.equals("粗斜体")) { return Font.BOLD + Font.ITALIC; } return -1; } }
相关推荐
JAVA的字体格式设置对话框,用swing实现,可设置字体的大小,类型和样式。
Java字体对话框是Java Swing库中的一个组件,用于在应用程序中与用户交互,允许他们选择字体、字号和样式。在Java编程中,我们通常使用`JOptionPane`或自定义的`JFrame`来创建这样的对话框。这个压缩包文件可能包含...
总的来说,Java字体对话框的创建涉及到GUI设计、事件处理和平台兼容性等多个方面,是一个很好的练习,可以提升你对Java Swing或JavaFX的理解。通过实践,你可以创建出功能强大且用户友好的字体选择对话框,从而提升...
在某些操作系统中,`FileDialog`还可能提供额外的特性,如字体、颜色、打印机等特定类型的对话框。不过,这些特性可能会因操作系统的不同而有所差异。尽管如此,`FileDialog`仍然是Java应用程序中进行基本文件操作的...
在这里,我们将深入探讨Java字体选择器插件的原理、使用方法以及它在Java开发中的作用。 首先,我们需要理解Java中处理字体的基本概念。在Java中,字体是由`Font`类表示的,它可以指定字体家族、样式(如粗体、斜体...
Java字体选择器是一个实用工具,它允许用户在Java应用程序中浏览和选择系统上可用的字体。这个项目展示了如何利用Java的图形用户界面(GUI)组件和字体管理功能来创建一个自定义的字体选取界面。下面将详细介绍这个...
通常,这类库会包含Java或Kotlin类文件、布局XML文件、资源图片以及示例用例,帮助开发者了解如何使用和自定义对话框。 在实际应用中,使用这样一个组件可能涉及以下几个关键知识点: 1. **布局设计**:对话框的...
HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...
在这个场景中,"JavaBean字体选择器"是指一个基于JavaBean设计原则的组件,它模拟了Windows操作系统中的字体选择对话框,为用户提供便捷的字体选取功能。 字体选择器是用户界面中常见的一种组件,它允许用户在各种...
除了基本的组件外,还可以通过调整背景色、边框、字体等属性,以及使用自定义图标,来进一步定制对话框的外观,使其更符合应用的整体风格。 总结,Swing中的自定义对话框是提高用户体验和增强应用功能的重要手段。...
用户可以通过弹出的颜色选择对话框选择一种颜色,并将该颜色应用到特定的文本组件上。 ##### 示例代码解析 ```java Color showDialog = JColorChooser.showDialog(this, "SetColor", jTextArea1.getCaretColor()); ...
在Windows、Linux、Mac等操作系统中,这类对话框是常见的,通常用于文件选择、颜色选择、字体选择等场景。在本文中,我们将深入探讨选择对话框的实现原理、常见类型以及如何在实际编程中使用它们。 首先,让我们...
总结来说,“使用颜色字体对话框”涉及调用颜色对话框让用户选择颜色,然后将所选颜色应用到文本或界面元素中。这个过程涵盖了用户交互、颜色对话框的使用,以及界面状态的实时更新等关键点。通过深入理解这些概念和...
本文将详细介绍如何使用 Java Swing 编写一个字体选择器,并深入探讨其中涉及的关键技术和设计模式。 #### 二、关键技术点与实现细节 ##### 1. 导入必要的包 在实现字体选择器之前,我们需要导入一系列 Java Swing...
在实际应用中,这个工具类可以用于创建自定义的字体选择对话框,或者用于在应用程序中动态地调整文本显示的字体。开发者可以根据需求,进一步扩展这个工具类,例如添加过滤特定字体类型(如TrueType或OpenType)、按...
四、字体对话框 FontDialog FontDialog对话框用于让用户选择字体、字号和样式。在Windows Forms中,`FontDialog.ShowDialog()`方法能打开字体选择对话框,`FontDialog.Font`属性则返回用户选定的字体对象。 五、...
这是一个用Java做的小窗体,选择字体样式可以改变
仿ios 对话框库可能包含了特定的样式和布局,用于模仿iOS的弹出提示、警告、确认和选择对话框。这些对话框通常拥有圆角、淡入淡出动画、以及特定的字体和颜色方案,以匹配iOS的视觉风格。 在“界面”这一标签下,...
1. **显示字体选择对话框**:通过`JFontDialog.showDialog`方法打开字体选择对话框。参数含义与颜色选择对话框类似,其中最后一个参数是初始显示的字体。 2. **设置文本区域字体**:将用户选择的字体应用到`...