0

0

java值Swing系列之控件一

怪我咯

怪我咯

发布时间:2017-06-25 10:22:57

|

1761人浏览过

|

来源于php中文网

原创

swing系列之控件

jtextarea

jtextarea是一个实现多行文本的控件

构造函数

  • jtextarea() 构造新的textarea。

  • JTextArea(Document doc) 构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0)。

  • JTextArea(Document doc, String text, int rows, int columns) 构造具有指定行数和列数以及给定模型的新的 JTextArea。

  • JTextArea(int rows, int columns) 构造具有指定行数和列数的新的空 TextArea。

  • JTextArea(String text) 构造显示指定文本的新的 TextArea。

    立即学习Java免费学习笔记(深入)”;

  • JTextArea(String text, int rows, int columns) 构造具有指定文本、行数和列数的新的 TextArea。

常用的方法

  • append(String text) 在末尾插入文本

  • getColumns()

  • getLineWrap() 获取文本区的换行策略

  • setLineWrap(boolean wrap) 设置换行的策略,如果设置为true,那么就会在一行结束的时候自动换行

  • setWrapStyleWord(boolean wrap) 设置断行不断字,也就是在你写单词写到末尾的时候如果没有写完,那么就会将你这个单词一起移到下一行来,而不是只移动一个单词下来,这样就会单词不分割了

  • setFont(Font f) 设置字体

  • insert(String str, int pos) 将指定文本插入指定位置。

  • replaceRange(String str, int start, int end) 用给定的新文本替换从指示的起始位置到结尾位置的文本。

  • setRows(int rows) 设置此 TextArea 的行数。

JScrollPane

构造函数

  • JScrollPane() 创建一个空的(无视口的视图)JScrollPane,需要时水平和垂直滚动条都可显示。

  • JScrollPane(Component view) 创建一个显示指定组件内容的 JScrollPane,只要组件的内容超过视图大小就会显示水平和垂直滚动条。

  • JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。vsbPolicy和hsPolicy是用来控制滚动条何时出现的,其中的值如下:

  • HORIZONTAL_SCROLLBAR_ALAWAYS: 总是显示水平滚动轴。

  • HORIZONTAL_SCROLLBAR_AS_NEEDED:当组件内容水平区域大于显示区域时出现水平滚动轴。

  • HORIZONTAL_SCROLLBAR_NEVER: 总是不显示水平滚动轴。

  • VERTICAL_SCROLLBAR_ALWAYS: 总是显示垂直滚动轴。

  • VERTICAL_SCROLLBAR_AS_NEEDED: 当组件内容垂直区域大于显示区域时出现垂直滚动轴。

  • VERTICAL_SCROLLBAR_NEVER: 总是不显示垂直滚动轴。

    Android游戏开发之旅 中文WORD版
    Android游戏开发之旅 中文WORD版

    本文档主要讲述的是Android游戏开发之旅;今天Android123开始新的Android游戏开发之旅系列,主要从控制方法(按键、轨迹球、触屏、重力感应、摄像头、话筒气流、光线亮度)、图形View(高效绘图技术如双缓冲)、音效(游戏音乐)以及最后的OpenGL ES(Java层)和NDK的OpenGL和J2ME游戏移植到Android方法,当然还有一些游戏实现惯用方法,比如地图编辑器,在Android OpenGL如何使用MD2文件,个部分讲述下Android游戏开发的过程最终实现一个比较完整的游戏引擎

    下载
  • JScrollPane(int vsbPolicy, int hsbPolicy) 创建一个具有指定滚动条策略的空(无视口的视图)JScrollPane。

常用的方法

  • setHorizontalScrollBarPolicy(int policy) 确定水平滚动条何时显示在滚动窗格上。

  • setVerticalScrollBarPolicy(int policy) 确定垂直滚动条何时显示在滚动窗格上。

  • setColumnHeaderView(Component view) 创建一个列标题视口(如果有必要),设置其视图然后将此列标题视口添加到滚动窗格。设置水平表头

  • setRowHeaderView(Component view) 设置垂直表头,即是创建一个行标题视口

  • setViewportBorder(Border viewportBorder) 围绕视口添加一个边界。

实例

package demo;import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class demo extends JFrame {private JTextField textField;public demo() {super();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100, 100, 400, 300);
        JPanel panel_North = new JPanel();this.getContentPane().add(panel_North, BorderLayout.NORTH);
        FlowLayout flowLayout = (FlowLayout) panel_North.getLayout();
        flowLayout.setAlignment(FlowLayout.LEFT);

        JLabel label = new JLabel("name:");
        label.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20));
        panel_North.add(label);

        textField = new JTextField(20);
        textField.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20));
        panel_North.add(textField);

        JTextArea textArea = new JTextArea(6, 30);
        textArea.setFont(new Font("微雅软黑", Font.BOLD + Font.ITALIC, 20));
        textArea.setWrapStyleWord(true);
        textArea.setLineWrap(true);

        JPanel panel_center = new JPanel();

        FlowLayout flowLayout_center = (FlowLayout) panel_center.getLayout();
        flowLayout_center.setAlignment(FlowLayout.LEFT);this.getContentPane().add(panel_center, BorderLayout.CENTER);  //设置中间的组件JScrollPane scrollPane = new JScrollPane(textArea);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);   //设置水平滚动条出现的时间scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);//设置垂直滚动条出现的时间panel_center.add(scrollPane);

        JPanel panel_header = new JPanel();
        JLabel label_header = new JLabel("水平表头");
        panel_header.add(label_header);
        scrollPane.setColumnHeaderView(panel_header);   //设置水平表头JPanel panel_v = new JPanel();
        JLabel label_v = new JLabel("垂直表头");
        panel_v.add(label_v);
        scrollPane.setRowHeaderView(panel_v);    //设置垂直表头}public static void main(String[] args) {
        demo f = new demo();
        f.setVisible(true);

    }

}

JScrollBar

滚动条的实现。用户在滚动条内移动滑块可确定显示区域中的内容。该程序通常将显示调整为滚动条的结束代表可显示内容的结束,或内容的 100%。滚动条的开始为可显示内容的开始,或 0%。然后滑块在其边界中的位置转换为可显示内容对应的百分比。

构造函数

  • JScrollBar() 创建具有下列初始值的垂直滚动条

  • JScrollBar(int orientation) 创建具有指定方向和下列初始值的滚动条,其中的值为JScrollBar.VERTICAL(垂直滚动条),JScrollBar.HORIZONTAL(水平滚动条)

  • JScrollBar(int orientation, int value, int extent, int min, int max) 创建具有指定方向、值、跨度、最小值和最大值的一个滚动条。value为当前滚动条位于的位置,min和max共同组成了滚动条的范围,extent表示滚动条的跨越的宽度

常用方法

*addAdjustmentListener(AdjustmentListener l) 添加一个滚动条调整的事件侦听器,例子如下:

scrollBar_1.addAdjustmentListener(new AdjustmentListener() {    //添加一个事件侦听器@Overridepublic void adjustmentValueChanged(AdjustmentEvent e) {
                scrollBar_1=(JScrollBar)e.getSource();    //获得监听的控件,这里要强制转换成滚动条类型的textField_North.setText(""+scrollBar_1.getValue());    //r如果滚动条移动了,那么就将刻度显示在文本域中}
        });
  • setModel(BoundedRangeModel newModel) 设置处理滚动条的以下四个基本属性的模型:minimum、maximum、value 和 extent。通过这个函数可以将滚动条与其他的控件绑定在一起,下面将会演示一下JTextField绑定滚动条

//获取文本字段的可见性,如果文本字段大小大于分配给他的大小那么可以对他进行调整BoundedRangeModel boundedRangeModel = textField.getHorizontalVisibility();//设置处理滚动条的以下四个基本属性的模型:minimum、maximum、value 和 extent。scrollBar.setModel(boundedRangeModel);   //通过这个的绑定,就将滚动条和文本域绑定在一起了
  • setOrientation(int orientation) 将滚动条的方向设置为 VERTICAL 或 HORIZONTAL。

  • setMaximum(int maximum) 设置模型的 maximum 属性。

  • setMinimum(int minimum) 设置模型的 minimum 属性。

  • setValue(int value) 设置当前的值

  • setUnitIncrement(int unitIncrement) 设置 unitIncrement 属性,设置拖曳滚动轴时,滚动轴刻度一次的变化量。

  • setBlockIncrement(int blockIncrement) 设置 blockIncrement 属性, 设置当鼠标在滚动轴列上按一下是,滚动轴一次所跳的区块大小

  • setVisibleAmount(int extent); 设置extent值

JTextPanel

可以用以图形方式表示的属性来标记的文本组件,相当于处理文本的工具word文档一样,可以在其中为文本设置不同的属性

构造函数

  • JTextPane()创建一个新的 JTextPane。

  • JTextPane(StyledDocument doc) 创建具有指定文档模型的新 JTextPane。

常用方法

  • setCharacterAttributes(AttributeSet attr, boolean replace) 将给定属性应用于字符内容,这个是将样式应用到文本的函数

  • getStyledDocument() 获取与编辑器关联的模型。

实例

package demo;import javax.swing.*;import javax.swing.text.*;import java.awt.*;/** * Created by chenjiabing on 17-5-22. */public class TextPane extends JFrame {public TextPane() {super();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds(100, 100, 400, 500);

        JTextPane textPane = new JTextPane();//        textPane.setBackground(Color.black);//      textPane.setFont(new Font("微软雅黑",Font.ITALIC,20));JScrollPane scrollPane = new JScrollPane(textPane);
        scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        SimpleAttributeSet simpleAttributeSet = new SimpleAttributeSet();  //创建一个属性StyleConstants.setForeground(simpleAttributeSet, Color.GREEN);    //设置前景色StyleConstants.setBold(simpleAttributeSet, true);    //设置加粗StyleConstants.setUnderline(simpleAttributeSet, true);    //设置下划线StyleConstants.setFontFamily(simpleAttributeSet, "微软雅黑");   //设置字体StyleConstants.setFontSize(simpleAttributeSet, 20);   //设置字体大小StyleConstants.setItalic(simpleAttributeSet, true);   //设置倾斜StyleConstants.setStrikeThrough(simpleAttributeSet, true);   //设置删除线StyleConstants.setFirstLineIndent(simpleAttributeSet, 2.5f);    //设置首行缩进StyleConstants.setLineSpacing(simpleAttributeSet, 20);
        StyleConstants.setRightIndent(simpleAttributeSet, 2.4f);


        textPane.setCharacterAttributes(simpleAttributeSet, true);//        Document doc=textPane.getStyledDocument();   //获得关联的文本//        try {//            doc.insertString(doc.getLength(), "陈加兵", simpleAttributeSet);   //向文本中插入字符串//        }catch (BadLocationException e)//        {//            e.printStackTrace();//        }this.getContentPane().add(scrollPane, BorderLayout.CENTER);
    }public static void main(String[] args) {
        TextPane text = new TextPane();
        text.setVisible(true);


    }


}

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

616

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

194

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

91

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

54

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

598

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

56

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
魔乐科技java五子棋视频教程
魔乐科技java五子棋视频教程

共12课时 | 3.4万人学习

Git 教程
Git 教程

共21课时 | 3.7万人学习

Django 教程
Django 教程

共28课时 | 4.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号