首页 > 编程语言 >《Java核心技术I》Swing中滚动窗格

《Java核心技术I》Swing中滚动窗格

时间:2024-12-20 16:57:24浏览次数:7  
标签:文本 Java int frame Swing swing import new 窗格

滚动窗格

Swing中文本区没有滚动条,如需要,可以将文本区放在 滚动窗格(scrollpane)中。 textArea = new JTextArea(8,40); var scrollPane = new JScrollPane(textArea); 添加到滚动窗格不是文本区特有的,所有组件都可以。 注释:JTextArea组件只显示纯文本,如需显示格式化文本,使用JEditorPane类。 类似于H5中的文本区和富文本框。

展示各种文本组件案例

package swing;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class TextComponentFrame {

    public static void main(String[] args) {
        JFrame frame = new JFrame("展示各种文本组件");
        JPanel northPanel = new JPanel();
        var textField = new JTextField();
        var passwordField = new JPasswordField();
        northPanel.setLayout(new GridLayout(2, 2));
        northPanel.add(new JLabel("用户名:",JLabel.RIGHT));
        northPanel.add(textField);
        northPanel.add(new JLabel("密码:",JLabel.RIGHT));
        northPanel.add(passwordField);
        frame.add(northPanel,BorderLayout.NORTH);
        
        var textArea = new JTextArea(8, 20);
        var scrollPane = new JScrollPane(textArea);
        frame.add(scrollPane,BorderLayout.CENTER);
        
        var southPanel = new JPanel();
        var insertButton = new JButton("插入");
        southPanel.add(insertButton);
        insertButton.addActionListener(e -> {
            textArea.append("用户名:"+textField.getText()+" 密码:"
                    +new String(passwordField.getPassword())+"\n");
        });
        frame.add(southPanel,BorderLayout.SOUTH);
        
        frame.setSize(400, 400);
        //初始打开为屏幕中央
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        Dimension screenSize = toolkit.getScreenSize();
        int screenWidth = (int) screenSize.getWidth();
        int screenHeight = (int) screenSize.getHeight();
        //计算窗口位置
        int x = (screenWidth - frame.getWidth())/2;
        int y = (screenHeight - frame.getHeight())/2;
        frame.setLocation(x, y);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

}

javax.swing.JtextArea 1.2

  • JTextArea()
  • JTextArea(int rows,int cols)
  • JTextArea(String text,int rows,int cols),构造一个新文本。
  • void setColumns(int cols),设置文本区应该使用的首选列数。
  • void setRows(int rows),设置文本区应该使用的首选行数
  • void append(String newText),将给定的文本追加到文本区中已有文本的末尾。
  • void setLineWrap(boolean wrap),打开或关闭换行
  • void setWrapStyleWord(boolean word),换行
  • void setTabSize(int c),将制表符设置为c列,注意制表符不会转化为空格,但可以让文本对齐到下一个制表符处。

javax.swing.JScrollPane 1.2

  • JScrollPane(Component c),创建一个滚动窗格,显示指定组件内容,组件超过显示范围时,滚动条自动出现。

标签:文本,Java,int,frame,Swing,swing,import,new,窗格
From: https://blog.csdn.net/qq_36324341/article/details/144614995

相关文章

  • 《Java核心技术I》Swing选择组件中的复选框
    选择组件除了输入,也需要选择组件,接下来介绍,复选框、单选按钮、选项列表以及滑块。复选框需要紧邻标签来说明其用途。bold=newJCheckBox("Bold");调用setSelected方法来选中或取消复选框bold.setSelected(true);isSelected方法将获取每个......
  • java服务压测遇到问题
    一、线程池数量  实例服务器4C3G  场景:服务A——》服务B; 实例服务器:8台,接口耗时400ms 现像服务A接口中有使用多线程,设置线程池核心线程数:8 最大线程数量200 ,队列:10000,当进行压测时吞吐量一直超不过每秒请求量qps:500,且开始接口耗时也随着请求量上来而增长。......
  • 基于Java水果商城系统详细设计和实现
    **主要内容:**SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。......
  • 阿里P8面试官让我吃透这份10W字java面试题终于可以拿java高级岗
    其实,伴随着互联网行业寒冬的到来,各大企业都不敢大肆招聘,都是选择收缩发展,加上程序员内部越来越卷,要求越来越高了,要想在IT行业继续发展进阶拿高薪的话,提升自己是必不可少的。现在这个时刻更是到了年底,找工作只会更难,所以,咱们程序员要做的就是进行一个面试+技术的一个储备,准备明......
  • Java项目实战之基于 Spring Boot+MyBatisPlus+MySQL+JSP的毕业设计综合信息管理系统
    1.引言1.1项目背景毕业设计是高等教育中的重要环节,为了提高毕业设计管理的效率和质量,实现信息化管理,特开发本毕业设计综合信息管理系统。该系统涵盖了毕业设计过程中的各个环节,包括管理员信息管理、院系专业管理、学生信息管理、教师信息管理、论文题目审核、选题信息管理、历......
  • Ubuntu系统部署程序:修改IP、部署docker、nginx、Redis、onlyoffice、java
    记录一次Ubuntu系统的程序部署修改IP#修改IPvim/etc/network/interfacesautoens33ifaceens33inetstaticaddress192.?.?.?netmask255.255.255.0gateway192.?.?.?#修改DNSvim/etc/systemd/resolved.conf或vi/etc/resolv.confnameserver192.?.?......
  • 基于 SSM 与 JAVA 打造网络直播带货查询系统:JSP 指引的设计与实现方向
    第一章绪论1.1背景及意义系统管理也都将通过计算机进行整体智能化操作,对于网络直播带货网站所牵扯的管理及数据保存都是非常多的,例如管理员;主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理,用户;主页、个人中心、我的收藏管理、订单管理,前台首......
  • SSM 框架下基于 JAVA 的网络直播带货查询系统设计与 JSP 创新实现
    第一章绪论1.1背景及意义系统管理也都将通过计算机进行整体智能化操作,对于网络直播带货网站所牵扯的管理及数据保存都是非常多的,例如管理员;主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理,用户;主页、个人中心、我的收藏管理、订单管理,前台首......
  • java常见高级面试题总结(面试必备)
    面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们......
  • Java项目实战之基于springboot+vue+mysql+jpa+redis的企业网站搭建设计文档设计与实现
    一、引言1.1项目背景随着互联网的飞速发展,企业网站已成为企业展示形象、推广产品和服务、与客户沟通的重要窗口。为了提升企业的竞争力,需要构建一个功能完善、用户体验良好的企业网站。1.2项目目标本项目旨在打造一个专业、高效、易用的企业网站,满足企业在品牌展示、产品推......