JFreeChart是一个Java开源项目,是一款优秀的Java图表生成器插件,它提供了在Java Application,Servlet和JSP下生成各种图片格式的表格。 包括柱形图、线图、区域图、时序图和多轴图。
未完等待输入
在Swing中,表格分解为表格界面(Jtable)和表格模型(TableModel)两部分。JTable控制着数据的显示方式,而TableModel控制的则是数据本身。
2007-11-16 14:18 使用流式布局管理器时,GUI组件将按照添加入容器的顺序自左而右排列在一行上,如果一行空间不足,则另起一行。默认情况下,组件是剧中排列的。 可以通过改变面板的默认布局管理器来改变组件在每一行上的排列位置。语句示例如下: FlowLayout fl=new FlowLayout(FlowLayout.Right); p.setLayout(fl); FlowLayout类提供了三构建器public FlowLayout(),public FlowLayout(int alignment)以及public FlowLayout(int alignm ...
内容窗格的默认布局管理器是边框布局管理器(BorderLayout)。不仅是内容窗格,任何使用了BoederLayout布局管理器的容器都提供了五个位置用于存放组件。分别是north、south、east和west以及center。 此外如果向同一个位置添加多个组件,那么只有最后一个被添加的组件才是有效的。如果要在同一个位置添加多个组件,则必须构建一个面板,再向面板中添加两个按钮。然后将面板添加到内容窗格的south位置。
网格布局管理器(GridLayout)将容器划分为大小相同的网格,把GUI组件向使用了网格布局的容器中添加时,是按自左向右,自上而下的位置存放的。 网格袋(GridBagLayout)和网格布局类似,网格袋布局也是将用户界面划分成若干网格(Grid),不同之处在于: (1)网格袋布局中的每个网格的宽度和高度都是不一样的。 (2)每个组件可以占据一个或是多个网络。 (3)可以指定组件在网格中的停靠位置。 当将一个GUI组件添加到使用了GridBagLayout的容器中,需要指定该组件的位置、大小以及缩放等一系列的约束条件。可以使用一个GridBagConstrains类型的对象存 ...
网格袋布局管理器中的约束条件constrains中有如下字段需要设置: (1)constrains.gridx和constrains.gridy 这两个字段仅用于指定组件的起始网格坐标。 (2)constrains.gridwidth和constrains.gridheight 这两个字段用于指定组件所占网格的列数和行数。 (3)constrains.fill 组件在网格中的填充方式。GridBagConstrains中定义了一些常量用于确定组件在网格中的填充方式: GridBagConstrains.HORIZONTAL //水平方向上尽量扩张 GridBagConstrai ...
标签(label)通常是一个用来标识另外一个组件的含义。可以在标签上显示文字、图像和文字图像的组合。 创建一个只显示文字的标签有两种方法: (1)直接在生成标签时定义名字 JLabel label_name=new JLabel(“标签内容”); (2)也可以在标签对象生成后,调用setText()方法来在标签上显示内容。 如果希望在标签中使用图像,则必须先创建一个图像标签对象,然后将该对象作为标签的构建器参数: 例如: ImageIcon inon=new ImageIcon("image/greenflag20.gif"); JLabel labI ...
Java提供了一系列的组件用于接收用户输入,并且用户可以对输入的文本进行编辑,例如 文本框(JTextField)、密码框(JPasswordField)、文本域(JTextArea)以及 可编辑的(JComboBox)等。 对于int、float和double在其封装的类中都有对应parseInt()、parseFloat()和parseDouble() 方法用于将参数字符串转换成数值类型。当字符串无法转换成数值型时就抛出异常。 一些实用的方法: (1)setEditable(boolean aValue);使得文本框不能编辑; (2)默认情况下,在 ...
一个java GUI程序与普通的控制台程序不同的是:该应用程序在main方法退出后并没有终止。因为其中的显示函数show()方法启动了另外一个GUI线程,使得该应用程序仍然处于活动状态。 单击×框架虽然不见了,但是程序仍然没有退出。这是因为在默认的情况下,关闭框架只是将框架设置为不可见,即框架仍然是“活”的。使用setDefaultCloseOperation()方法可以改变框架关闭时的默认动作。
2007-12-28

JPanel

JPanel是一个容器,可以向其中添加其他的GUI组件(如按钮JButton组件);但是JPanel不是顶层容器,因此在屏幕上显示JPanel,必须将它添加到一个顶层容器(如JFrame)中。 Swing中的组件是lightweight的,并且每一个组件都可以是容器。可以向任何一个容器中添加其他的组件。但是顶层容器类型的组件不能添加到任何其他的组件。此外一个Swing组件要想在屏幕上显示出来,最终都必须由一个顶层容器来容纳。 构建复杂的用户界面时,常常使用多个JPanel来组织各种的GUI组件,然后将这些面板添加到内容窗格(contentPane)中。为此程序设计人员 ...
2007-12-28

Swing 基础知识

关键字: 基础知识
Swing 组件在其名称前冠以J作为标识。Swing组件存在于javax.swing包里。 学习Swing编程,要着重理解一下一些问题: (1)时间(Event),事件源(Event Source)与事件监听器(Event Listener)的工作机制。 (2)各种组件可以分别添加或删除什么类型的事件监听器。 (3)布局管理器(layout Manager)的使用,即窗口放大或缩小的时各种组件如何重新布局。 (4)区分容器(container)与组件。容器可以容纳上面提到的组件(例如菜单、对话框、滑块等等)。