它可以从数组、列表或模型中获取数据。...JTextArea JTextArea用于多行文本输入和显示。...避免方法:使用JScrollPane包裹JTextArea。 问题2:未初始化文本。默认情况下,JTextArea为空。 避免方法:在创建JTextArea时设置初始文本。...结语 JTable、JTree和JTextArea是Swing中展示和处理数据的重要组件。理解它们的用法,注意常见的设计模式和错误,可以帮助你创建出功能丰富的用户界面。...在实践中,结合不同的布局管理器和组件,你可以构建出各种复杂的界面。
例12-3运行结果 图12.5中,运行程序结果,先创建了JFrame窗体,然后设置布局,创建一个容器JPanel,最后将中间容器添加进JFrame窗体。...它由下列部分组成:一个ViewPort、可选的垂直和水平滚动条、可选的行和列的头部,以及ViewPort对应显示的组件。...如果需要在JScrollPane面板中放置多个组件,需要先将多个组件放置在JPanel面板容器上,然后将JPanel面板作为一个整体组件添加到JScrollPane面板中。...public JScrollPane(Component view, int x, int y) 创建一个 JScrollPane,它将视图组件显示在一个视口中,视图位置可使用一对滚动条控制。...例12-4运行结果 案例12-4中,在JTextArea文本区域组件不断输入内容回车,当内容超出滚动面板宽度和高度的时候,JScrollPane会出现横向和纵向滚动条。
extends Frame JFrame jFrame = new JFrame("TestJFrame"); jFrame.setBounds(300,300,500,500...jFrame = new JFrame("TestDialog"); JButton jButton = new JButton("显示dialog"); jFrame.add...; } public static void main(String[] args) { new TestJPanel(); } } 运行结果: 2、滚动面板JScrollPane...jTextArea = new JTextArea(20, 50); jTextArea.setText("TestJScrollPane"); //面板 JScrollPane...jScrollPane = new JScrollPane(jTextArea); container.add(jScrollPane); setVisible(true
frame = new JFrame("数据库WORD生成器-scc"); frame.setSize(500, 350); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...jsp = new JScrollPane(infoJTextArea); jsp.setBounds(10, 210, 480, 100); jsp.setVerticalScrollBarPolicy...(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); panel.add(jsp); loginButton.addActionListener(e -> {...frame = new JFrame("数据库WORD生成器-scc"); frame.setSize(500, 350); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); panel.add(jsp); loginButton.addActionListener(e -> {
/* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; import javax.swing.JLabel...public class ListPanel extends javax.swing.JPanel { /** Creates new form ListPanel */ private JFrame....setViewportView(jListAddress); add(jScrollPane1); jScrollPane1.setBounds(40, 70, 700...if (jListAddress.getSelectedValue() == null) { JOptionPane.showMessageDialog(this, "未选中地址...if (jListAddress.getSelectedValue() == null) { JOptionPane.showMessageDialog(this, "未选中地址
1、swing窗口和面板容器 窗口:(JFrame) 这里是类继承【JFrame】,然后完成基本设置,一定要显示true,不然看不见。...Component getLabelFor() 获得将 JLabel 添加到的组件 int getIconTextGap() 返回此标签中显示的文本和图标之间的间隔量 int getHorizontalTextPosition...容器中 add(jp); //将JPanel容器添加到JFrame容器中 setBackground(Color.pink); setSize(400,200...scrollPane=new JScrollPane(textArea); //把组件添加到面板中 setPreferredSize(new Dimension(450...getColumnN ame(int column) 返回出现在视图中 column 列位置处的列名称 getRowCount() 返回 JTable 中可以显示的行数(给定无限空间) getRowSorter
应该调用 JScrollPane对象的成员方法 setViewportView()将 JTextArea 对象添加到JScrollPane 面板中,JScrollPane 面板是具有滚动条的面板。...JScrollPane添加到JFrame窗口中 frame.getContentPane().add(scrollPane, BorderLayout.CENTER);...JRadioButton(Icon icon):创建一个指定图标的未选中的单选按钮。...它们都被添加到一个JPanel中,并且通过ButtonGroup对象进行分组,以确保只能选择一个选项。当选择一个选项时,会显示相应的信息在JLabel中。...JList常用成员方法 JList类是Java Swing库中的一个成员,用于显示一列数据,并允许用户从中选择一个或多个项目。
jScrollPane = new JScrollPane(); static JTextArea jTextArea = new JTextArea(); boolean bool...(message); // 在服务器端的文本框中显示新消息 Server.jTextArea.append...jScrollPane = new JScrollPane(); JTextArea jTextArea = new JTextArea(); // -----------------...View v) { if (flag == false) { Toast.makeText(MainActivity.this, "未登录...View v) { if (flag == false) { Toast.makeText(MainActivity.this, "未登录
package com.swing; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane...; import javax.swing.JTextArea; import javax.swing.WindowConstants; /** * 1:设置界面时,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况...,这时 * 可以使用JScrollPane面板 * * 2:JScrollPane面板是带滚动条的面板,它也是一个面板,但是JScrollPane只能 * 放置一个组件,并且不可以使用布局管理器...* * 4:从本实例可以得到在窗体中创建一个带滚动条的文字编辑器,首先需要初始化编辑器, * 并且在初始化时完成编译器的大小指定,当创建带滚动条的面板时,将编译器加入面板中 * ,最后将带滚动条的编译器放置在容器中即可...()面板对象,并将文本域对象添加到面板中 JScrollPane sp=new JScrollPane(ta); //将该面板添加到该容器中
JMenuItem("退出"); jSeparator1 = new JSeparator(); jTextArea = new JTextArea(); scrollPane = new JScrollPane...); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); } private void...void actionPerformed(ActionEvent e) { long timemillis = System.currentTimeMillis(); // 转换日期显示格式...JFileChooser chooser = new JFileChooser("d:/"); chooser.setFileFilter(new FileFilter() {// 定义文件过滤器,仅显示文件夹和...} JOptionPane.showMessageDialog(test, "读取完毕"); } } } 四、save 保存 保存的调用分三种: 如果该文件是打开的 那么保存到打开文件中
群聊:可以实现群聊(聊天记录显示在所有客户端界面)。 好友列表:完成好友列表在各个客户端上显示。...服务器端 因为运行的过程中随时会有客户端连上服务器,所以服务器端需要一个线程来等待客户端的链接。...= new JTextArea(10,20); JScrollPane js = new JScrollPane(jta); JPanel operPane = new JPanel(...userList.isSelectionEmpty()){ //未点击用户不执行 suser = userList.getSelectedValuesList().get...jFrame.setTitle("与" + name + "私聊中"); jFrame.setVisible(true); jTextField.setFocusable
import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel...java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.Random; public class SelectSort extends JFrame...{ setTitle("\u9009\u62E9\u6392\u5E8F\u7B97\u6CD5\u3011"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...array[i] = random.nextInt(50);// 生成50以内的随机数 textArea1.append(array[i]+" ");// 把数组元素显示的文本域控件中...for (int i = 0; i < array.length; i++) { textArea2.append(array[i] + " ");// 把排序后的数组元素显示到文本域中
,处于非常重要的位置,Swing中常用的窗体包括 *JFrame,JDialog * *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些 *Swing...然后在容器中添加组件 *或设置布局管理器,通常这个容器用来包含和显示组件,如果需要将组件添加到容器, *可以使用来自Container类的add()方法进行设置。 ...* * *过程如下 *第一创建一个JFrame窗体对象 *第二通过getContentPane()方法将窗体转化为容器 *第三在容器中添加组件或设置布局管理器 *第四通常这个容器用来包含和显示组件...JLabel jl=new JLabel("这是一个JLabel标签窗体");//实例化JLabel对象 //设置字体居中显示,下面两行代码功能一样 jl.setHorizontalAlignment... container.setBackground(Color.RED);//设置容器的背景颜色 //下面设置窗体的一些格式 jf.setTitle("这是窗体左上角显示的
客户端的动作: (1)连接(登录):发送userName 服务器的对应动作:1)界面显示,2)通知其他用户关于你登录的信息, 3)把其他在线用户的userName通知当前用户 4)开启一个线程专门为当前线程服务...import java.util.Map; import java.util.Scanner; import javax.swing.DefaultListModel; import javax.swing.JFrame.../从在线用户池中把该用户删除 usersMap.remove(msgs[3]); //服务器的在线列表中把该用户删除...通知当前登录的用户,有关其他在线人的信息 * * @param socketClient */ // 把原先已经在线的那些用户的名字发给该登录用户,让他给自己界面中的...);// 连接服务器的动作 if (pw == null) { JOptionPane.showMessageDialog(this, "服务器未开启或网络未连接
而关于container容器我们应该有这样的认识:Swing组件中的窗体通常是与容器相关联的,所以在一般情况下,建立完JFrame窗体后,我们会调用getContentPane()方法将窗体转换为容器,...因此JPanel面板的使用一般是与布局管理器相结合的, JScrollPane面板 先来看一种在界面设计时常见的问题:在一个较小的界面中显示一个较大的内容的情况,对于这种情况,我们常用的方法就是将较小的容器设置为...使用JScrollPane面板时需要注意以下两个问题: JScrollPane面板中只能布置一个控件, JScrollPane面板不能使用布局管理器 因此如果想要在JScrollPane面板中显示多个控件...,就需要首先将控件布局在JPanel面板中,之后将JPanel面板作为一个整体组件添加到JScrollPane面板中, 通过下面程序对JScrollPane面板进行实践: 以下程序是在JScrollPane...public class JScrollPaneClass extends JFrame{ public JScrollPaneClass() { setTitle("JScrollPane面板
对象表示 * JButton含有4种主要的构造方法 * 参数text,icon分别代表显示文字标签和图标 * * 3:本实例使用了两种方式创建按钮,第一种是在初始化按钮时赋予按钮图标与文字...* setToolTipText()方法是为按钮设置提示文字,鼠标停留在按钮上面即可 * setBorderPainted()方法设置边界是否显示 * setMaximumSize()方法设置按钮的大小与图标的大小一致...(true); jb2.setToolTipText("图片按钮");//设置按钮提示为文字 jb2.setBorderPainted(false);//设置按钮边界不显示...final JScrollPane js=new JScrollPane(jt);//创建JScrollPane面板对象 /*如果需要在JScrollPane面板中放置多个组件...,并且通常在该图标旁放置 * 一些说明性文字,而在应用程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮 * 表现出某种功能,当用户选中某个单选按钮后,按钮组中其他按钮将被自动取消。
如果你允许对列表框中的项目进行多次选择,那么用户就可以选定框中项目的任何组合。..."; } 输出结果,如下图13.1 列表模型 上面介绍了使用列表组件的最常见的方法,这些方法是: n 指定一组在列表中显示的固定的字符串 n 添加一个滚动条 n...虽然JList类能够自动显示字符串和图标,但是你必须为所有定制的图形将一个列表单元格绘制器安装到JList对象中。...当然,目录和文件只是构成多种树状结构例子中的一种。程序员都很熟悉显示类的继承关系的树状结构。作为编程人员,我们常常需要显示这些树状结构。幸好,Swing类库有个JTree 类,它可以用于这个目的。...在本节中,我们将要介绍另一个非常有用的技术,即过滤器模型(filter model),它可以用于显示来自另一个表格的,采用另一种格式的信息。在我们的示例中,我们将要对表格中的各个行进行排序。
中,并将JScrollPane放置到box中 listBox.add(new JScrollPane(bookList)); listBox.add(layoutPanel...= new JPanel(); favoritePanel.setLayout(new BorderLayout()); favoritePanel.add(new JScrollPane...ComboBoxModel 继承了 ListModel ,它添加了"选择项"的概念,选择项代表 JComboBox 显示区域内可见的列表项 。...对象中增加 、删除列表项 。...removeElement(E obj): 删除该 ListModel 中第一个与参数匹配的元素。
例如:// 创建Swing窗口JFrame frame = new JFrame("嵌入浏览器示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...当设置其内容类型为text/html时,可以显示HTML页面。通过注册HyperlinkListener监听器,可处理超链接点击事件,实现页面跳转等功能。...加载初始网页try { jep.setPage("https://www.baidu.com");} catch (IOException e) { e.printStackTrace();}JScrollPane...scrollPane = new JScrollPane(jep);JFrame frame = new JFrame("JEditorPane浏览器");frame.setDefaultCloseOperation...(true);不过,JEditorPane对网页中CSS的显示处理以及JavaScript脚本执行的支持较弱,适合显示简单HTML页面。
#思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标得到幸运观众的名字。...import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel...java.awt.event.ActionEvent; import javax.swing.UIManager; import java.awt.Color; public class ArrayExample extends JFrame...u7528\u6570\u7EC4\u968F\u673A\u62BD\u53D6\u5E78\u8FD0\u89C2\u4F17"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE...String info = String.format(formatArg, personnelArray[index]); resultArea.setText(info);// 在文本域显示中间信息