- 浏览: 734578 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lingsuch:
Android网络连接判断与处理 -
月光照着我:
写的不错,作为笔记了
Android中LayoutInflater的使用 -
智博王锋:
好文章是要顶的!
Android中LayoutInflater的使用 -
云南白药:
...
Android中LayoutInflater的使用 -
万新one:
理解了许多。解释的不错。3Q.
Android中LayoutInflater的使用
import javax.swing.*; import javax.swing.text.*; import java.awt.*; public class StylesExample7 { public static void createDocumentStyles(StyleContext sc) { Style defaultStyle = sc.getStyle(StyleContext.DEFAULT_STYLE); // Create and add the main document style Style mainStyle = sc.addStyle(mainStyleName, defaultStyle); StyleConstants.setLeftIndent(mainStyle, 16); StyleConstants.setRightIndent(mainStyle, 16); StyleConstants.setFirstLineIndent(mainStyle, 16); StyleConstants.setFontFamily(mainStyle, "serif"); StyleConstants.setFontSize(mainStyle, 12); // Create and add the constant width style Style cwStyle = sc.addStyle(charStyleName, null); StyleConstants.setFontFamily(cwStyle, "monospaced"); StyleConstants.setForeground(cwStyle, Color.green); // Create and add the heading style Style heading2Style = sc.addStyle(heading2StyleName, null); StyleConstants.setForeground(heading2Style, Color.red); StyleConstants.setFontSize(heading2Style, 16); StyleConstants.setFontFamily(heading2Style, "serif"); StyleConstants.setBold(heading2Style, true); StyleConstants.setLeftIndent(heading2Style, 8); StyleConstants.setFirstLineIndent(heading2Style, 0); } public static void addText(JTextPane pane, StyleContext sc, Style logicalStyle, Paragraph[] content) { // The outer loop adds paragraphs, while the // inner loop adds character runs. int paragraphs = content.length; for (int i = 0; i < paragraphs; i++) { Run[] runs = content[i].content; for (int j = 0; j < runs.length; j++) { pane.setCharacterAttributes( runs[j].styleName == null ? SimpleAttributeSet.EMPTY : sc.getStyle(runs[j].styleName), true); pane.replaceSelection(runs[j].content); } // At the end of the paragraph, add the logical style and // any overriding paragraph style and then terminate the // paragraph with a newline. pane.setParagraphAttributes(SimpleAttributeSet.EMPTY, true); if (logicalStyle != null) { pane.setLogicalStyle(logicalStyle); } if (content[i].styleName != null) { pane.setParagraphAttributes(sc.getStyle(content[i].styleName), false); } pane.replaceSelection("\n"); } } public static void main(String[] args) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception evt) {} JFrame f = new JFrame("Styles Example 7"); // Create the StyleContext, the document and the pane final StyleContext sc = new StyleContext(); final DefaultStyledDocument doc = new DefaultStyledDocument(sc); final JTextPane pane = new JTextPane(doc); // Build the styles createDocumentStyles(sc); try { // Add the text and apply the styles SwingUtilities.invokeAndWait(new Runnable() { public void run() { // Add the text addText(pane, sc, sc.getStyle(mainStyleName), content); } }); } catch (Exception e) { System.out.println("Exception when constructing document: " + e); System.exit(1); } f.getContentPane().add(new JScrollPane(pane)); f.setSize(400, 300); f.setVisible(true); } // Style names public static final String mainStyleName = "MainStyle"; public static final String heading2StyleName = "Heading2"; public static final String charStyleName = "ConstantWidth"; // Inner classes used to define paragraph structure public static class Run { public Run(String styleName, String content) { this.styleName = styleName; this.content = content; } public String styleName; public String content; } public static class Paragraph { public Paragraph(String styleName, Run[] content) { this.styleName = styleName; this.content = content; } public String styleName; public Run[] content; } public static final Paragraph[] content = new Paragraph[] { new Paragraph(heading2StyleName, new Run[] { new Run(null, "Attributes, Styles and Style Contexts") }), new Paragraph(null, new Run[] { new Run(null, "The simple "), new Run(charStyleName, "PlainDocument"), new Run(null, " class that you saw in the previous " + "chapter is only capable of holding text. " + "The more complex text components use a more " + "sophisticated model that implements the "), new Run(charStyleName, "StyledDocument"), new Run(null, " interface. "), new Run(charStyleName, "StyledDocument"), new Run(null, " is a sub-interface of "), new Run(charStyleName, "Document"), new Run(null, " that contains methods for manipulating attributes " + "that control the way in which the text in the " + "document is displayed. The Swing text package " + "contains a concrete implementation of "), new Run(charStyleName, "StyledDocument"), new Run(null, " called "), new Run(charStyleName, "DefaultStyledDocument"), new Run(null, " that is used as the default model for "), new Run(charStyleName, "JTextPane"), new Run(null, " and is also the base class from which " + "more specific models, such as the "), new Run(charStyleName, "HTMLDocument"), new Run(null, " class that handles input in HTML format, can be " + "created. In order to make use of "), new Run(charStyleName, "DefaultStyledDocument"), new Run(null, " and "), new Run(charStyleName, "JTextPane"), new Run(null, " you need to understand how Swing represents " + "and uses attributes.") }) }; }
发表评论
-
Swing中引入Android的NinePatch技术,让Swing拥有Android的外观定制能力
2012-09-21 09:22 1636【摘要】 本文诣在 ... -
JavaSwing实现支持合并拆分的JTable
2010-12-16 15:39 1988GridBagModel:抽象模型接口。该接口用于描述表格中单 ... -
JTable小例子,表格中使用JComboBox下拉按钮
2010-12-16 15:21 5435import java.awt.BorderLayout; ... -
配合滚动面板实现JTable上下翻页的效果
2010-12-16 14:26 3434import java.awt.BorderLayout; ... -
JScrollBar简单演示例子
2010-12-06 19:28 6633import java.awt.*; import java ... -
点击jtable的表头,数据会根据根据表头来排序
2010-12-06 11:47 5150import javax.swing.JFrame; imp ... -
重写JSplitPane的BasicSplitPaneUI
2010-09-18 13:39 1590import java.awt.Color; import ... -
Swing窗口初始最大化的方法
2010-08-20 11:09 79291.设置窗口最大(伪最大化) JFrame frame =n ... -
Tree目录实现拖拽功能演示实例(DragAndDrop)
2010-08-10 16:49 1809import java.awt.BorderLayout; ... -
设置JTextPane指定内容的颜色
2010-05-21 14:29 1383package Assis; import java.a ... -
ScaleImageDemo图像缩小与放大演示
2010-05-12 14:59 2133package Assis; import java.a ... -
TreesDemo
2010-05-04 11:19 1110import java.awt.*; import java ... -
TableDemo
2010-05-04 11:17 1211import javax.swing.JTable; imp ... -
分割面板演示JSplitPaneDemo
2010-05-04 11:12 1409//Java Swing 带分隔条的面板代码 impor ... -
StylesExample8
2010-04-08 12:55 1223import javax.swing.*; import j ... -
StylesExample6
2010-04-08 12:52 1078import javax.swing.*; import j ... -
StylesExample5
2010-04-08 12:51 1008import javax.swing.*; import j ... -
StylesExample4
2010-04-08 12:50 1132import javax.swing.*; import j ... -
StylesExample3
2010-04-08 12:50 1025import javax.swing.*; import j ... -
StylesExample2
2010-04-08 12:49 1069import javax.swing.*; import j ...
相关推荐
机械设计定量旋转包装机sw16可编辑全套设计资料100%好用.zip.zip
层级关系-关系图表-清新时尚彩虹色 -3
图表分类ppt
内容概要:本文档针对神卓组网设备提供详细的配置指导。重点介绍了两大常见的设置问题及其解决方案:一是网关设置冲突的问题,文中详细解释了需要避免与本地及其他相关联网络已使用的网关地址相重复,如避开常用的192.168.1.1以及神卓默认的192.168.51.1等。二是对于远程网段信息的误填,强调在配置中正确添加对方的IP网段而不是单一地址的重要性和具体步骤。这些信息可以帮助用户确保组网过程更加顺利、高效,有效规避可能存在的障碍与困难。 适用人群:适用于正在部署和管理中小型网络的企业管理员,尤其是那些缺乏专业IT知识但希望通过简单易懂的方式解决组网问题的小白用户。 使用场景及目标:旨在帮助技术人员和非专业人士掌握并解决神卓组网设备中最棘手且普遍遇到的技术难题—特别是有关于跨区域网络互联中网关设置与目标网络网段填写错误的情况。 其他说明:阅读本文时需要注意特别事项提示部分的内容,这将有助于预防由于错误操作导致无法连通的情况发生,并提升网络安全性和稳定性。
基于微信小程序的语言课学习系统设计与实现.docx
手机模型对比图PPT模板素材
立体箭头冲突关系PPT模板
资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
图表分类ppt
码垛机图纸,伺料码垛机图纸,腻子粉码垛机图纸,可借鉴学习,参考设计
文本说明框联动关系PPT模板
基于Android的修图软件-课设
内容概要:本文档提供了一份详尽的 Ubuntu 20.04 安装指南,涵盖物理机和虚拟机两种安装方式。针对物理机,依次讲解了准备阶段(制作启动U盘、配置BIOS/UEFI)、系统安装(选择语言、键鼠设置、联网配置以及重点磁盘分区)、启动进入新系统的完整步骤;针对虚拟机,则围绕常用软件(VMware或VirtualBox)的新虚拟机制作、系统配置(含ISO挂载)等流程予以阐述。磁盘分区部分尤其细致,明确不同分区(根分区、Home、启动、Swap)的作用和推荐分配值,特别区分了手动和自动两种分区模式各自的优劣,方便不同类型用户根据需求做出合适的选择。 适用人群:无论是初次接触Ubuntu的新用户还是希望掌握双平台部署技巧的老手均能从中受益。 使用场景及目标:适用于需要安装Ubuntu作为独立操作系统或在现有宿主机中快速建立Linux测试环境的专业技术人员或计算机爱好者,帮助他们顺利地完成操作系统安装并理解其关键配置要点。 其他说明:由于不同硬件和个人偏好可能导致实际操作中存在些许差异,读者可根据自身情况进行适当调整。文中提到的操作步骤尽量保持通用性和简明性,使更多人更容易理解和上手。
ACCENTURE - How luxury brands are reinventing for success_CAIG
===如资源质量问题,可半价退款,代下全网资源,价格公道==== 基于Vue + Echarts 构建的数据可视化平台,酷炫大屏展示模板和组件库,持续更新各行各业实用模板和炫酷小组件。.zip。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
springboot项目驾校管理系统,含有完整的源码和报告文档
随机生成给定颗粒分布多孔介质 孔隙率可控
IMG20250110151521.jpg
springboot项目基于SpringBoot的私房菜定制上门服务系统的设计与实现,含有完整的源码和报告文档
171-西门子1200PLC机器人控制程序模板,程序模板清晰明了,容易看懂,有注释,硬件采用1214CPU,触摸屏采用KTP700系列。 打开软件采用博图V15.1及以上。