为何我的JTabbedPane上只能放一个控件?

untitled12 2003-07-06 05:53:14
例如,我在JTabbedPane上只能放一按钮,而且占据整个JTabbedPane,为何?
小弟刚学Java一星期。
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanwh121 2003-07-08
  • 打赏
  • 举报
回复
myTabbedPane.setBorderLayerout(new xxxBorderLayerout()),随便找个布局格式就可以放你想要数量的控件了
happyegg 2003-07-06
  • 打赏
  • 举报
回复
你在JTabledPane上放一个panel,就可以放好多控件拉
跟我学Java Swing之游戏设计 一 谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我 们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆 集,就没有亘古不变的金字塔。由此可见,基础知识的准备对于我们学习任何事物都至 关重要,那么,就让我们从认识Swing的一些基础功能开始,启动我们建造罗马的伟大工 程吧! 前言   Java咖啡馆已经开张不少时日了,如果你已经喜欢上了Java这杯咖啡的味道,那么 记得常来哦。这一次,我们为大家准备了一大杯香浓的咖啡——将以开发一个"连连看"游 戏为蓝本,和大家共同学习Java中Swing的用法,当你细心品味这杯咖啡后,你会发现, 不但Java这杯咖啡还别有一番风味,而且还学会了专业游戏的开发方法,真是两全其美 !   为了让大家先睹为快,下图便是游戏的截图。大家可以下载游戏试玩(下载游戏程 序;下载源文件),然后在命令行方式下使用java -jar kyodai.jar来运行。此外,还可以到我的主页http://www.ismyway.com上下载这个游戏 的单机版以及手机版进行试玩(见图1)。   Java咖啡馆以前介绍过AWT的知识,那么Swing和AWT究竟有什么区别呢?学习Java的 人都可能听到或看到过重量级控件和轻量级控件这个字眼,AWT就是我们通常所指的重量 级控件,Swing则是轻量级控件。我们都知道Java的口号是"一次编写,到处运行",这也 就要求在我们的程序中,尽量使用纯Java的代码。很不幸的是,AWT依赖与本地平台的接 口,因此,在不同的操作系统上,使用AWT制作的界面看起来可能会有些细微区别。Swi ng则完全不同了,Swing是用纯Java编写的,因此,使用Swing编写的界面能保证在所有 平台上有着同样的外观。这里还有一个窍门:在JDK中,为便于区别,所有Swing控件都以 大写字母J开头,比如说JButton(AWT 中对应的是Button),这样你就很容易区分Swing控件和AWT控件了。 Swing初体验   对于想学习Swing编程的朋友,我们特地为大家准备了一些小窍门。首先,下载并阅 读代码是极有必要的。由于这是一篇关于Swing的教程,所以,我们只是尽可能讲解一些 与Swing有关的内容,与Swing无关的内容一般不会涉及,例如算法部分。其次,受篇幅 限制,也不可能在这里将每部分代码都写得完完整整的,所以,大家也需要对照完整代 码来看。最后,为了使大家更容易把精力集中在Swing学习上,我们也将游戏开发中所需 资源在下载文件中,大家下载后便能够编译运行,看到执行结果。( 下载游戏源文件)   1.顶层容器   什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需 要一个能够提供图形绘制的容器,这个容器就被称为顶层容器,你也可以把它想象成一 个窗口。顶层容器是进行图形编程的基础,一切图形化的东西,都必然包括在顶层容器 中。在Swing中,我们有三种可以使用的顶层容器,它们分别是:   ·JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。   ·JDialog:和JFrame类似,只不过JDialog是用来设计对话框。   ·JApplet:用来设计可以在嵌入在网页中的Java小程序。   如果需要使用Swing制作一个窗口类程序,我们的代码看起来应该是这样: import javax.swing.*; public class KyodaiUI extends JFrame { …… }   2.控件   控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件。从字面意义上来 理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就属于容 器型控件,我们可以在JPanel中置按钮、文本框等非容器控件,你甚至可以在JPanel 中再置若干个JPanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用 程序中有且只能一个顶层容器控件,换句话说,顶层容器不能包括在其他的控件中)。   Java中的容器控件有很多,除刚才提到的JPanel外,还有JTabbedPane、JScrollPa ne等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某个容器型的控件 中添加控件,你可以使用 add(Component comp) 方法来实现,如: JPanel panel = new JPanel(); JButton button = new JButton(); panel.add(button);   3
做方便实用的SWING控件! 欢迎大家测试并提交BUG报告. 由于个人能力和时间上的局限,希望有兴趣一起开发SWING控件的朋友,请与我联系.让我们一起努力! 为了方便查看,需要讨论的朋友请到另外一个置顶贴子. [讨论]关于"开源SWING控件" -------------------------------------------------------------------- 2004/03/25 首次发布 2004/04/08 把以前的组件和新做的组件合并到一个OpenSwing.jar文件中, 并初步将该组件库命名为”OpenSwing” 2004/06/17 加入了一个打印模板和一些新做的组件。 2004/07/25 加入了一个类似QQ界面的JGroupPane,修正了一些以前的组件的BUG. 对几乎所有的组件全部加入了JavaBeans处理, 使OpenSwing支持可视开发. 2005/04/17 将JNumberField最大长度,小数位长度修正成符合数据库定义的规范,如:NUMBER(10,2) 2005/04/21 修改了JNumberField的参数方式及不能输入负数的BUG,及数字验证方法 JDatePicker弹出时不能显示当前输入日期的BUG 加入了好多人在CJW论坛上贴子中想要的带关闭按钮的JCloseableTabbedPane可关闭的JTabbedPane的组件 2005/06/21 对JDatePicker加入了时分秒的输入 2006/01/20 修正了JPopupButton在XP风格下呈两个按钮样子的BUG 对JFontDialog进行了部分修改 2006/03/08 从JDatePicker提出来一个组件JCalendarPanel日期选择面板 并修改了JDatePicker的设计方式 2006/03/23 加入了韩文支持, 感谢在韩国工作的网友Sang Jian,韩文支持 OpenSwing_ko_KR.properties文件由他提供 2006/04/04 对JFileTree加入了文件过滤器建构式.并对显示进行了排序 -------------------------------------------------------------------- ■以下组件,均在j2sdk1.4.2_01+win2k环境下测试通过,继续欢迎大家测试并提交BUG报告. JCalendarPanel 日期选择面板, 从JDatePicker提出来的控件, 可以单独使用。 JCloseableTabbedPane 带关闭按钮/可设置菜单的JTabbedPane JDateField 日期输入框,输入正确格式的日期 JDatePicker 继承自JComboBox的日期选择框,保证输入正确格式的日期(yyyy-MM-dd) 履历: 2004/03/26 根据网友caiyj的建议引入了recoon写的关于JDateDocument的校验方法 2004/04/02 根据网友caiyj提交的BUG,修正了做为TableCellEditor时日期选择面板弹不出问题 JDirChooser 文件目录选择对话框 JFileTree 文件目录树 JFontDialog 字体对话框 JGroupPane 类似QQ界面的组群管理面板 JIpAddressField IP地址输入框,只能输入0~255数字的IP地址 JListChooser 列表选择对话框 JNumberField 数字输入框,可限制小数位数,数字最大长度,最大最小能输入的数字 JPopupButton 带下拉菜单的工具栏按钮 JStatusBar 模拟Windows的状态栏. JStringField 字符输入框,限制可输入的最大长度 JTreeComboBox 带有树形结构的下拉列表 com.sunking.swing.print.* 一个打印模板 -------------------------------------------------------------------- ■ OpenSwing的测试方法: 解压后是一个JBUILDER项目的目录结构,里面有一个test.bat文件和OpenSwing.jar(主库文件)/OpenSwingBeanInfo.jar(可视开发支持文件),直接执行test.bat进行测试。 ■ OpenSwing的发布: 只需要将OpenSwing.jar(主库文件)包含在CLASSPATH中即可。 OpenSwingBeanInfo.jar(可视开发支持文件)不需要发布, 仅提供可视化开发的支持 ■JBuilder上配置OpenSwing可视化开发组件 1.将OpenSwing.jar/ OpenSwingBeanInfo.jar文件复制到 %JBuilderX_HOME%\lib\ 目录下 2.打开JBuilderX 3.菜单Tools --> Configure Libraries…-->弹出Configure Libraries…对话框 ①New… --> Name中输入OpenSwing, Location中输入User Home -->OK ②选取对话框左边User Home下面出现的OpenSwing ③对话框右边Class和 Source页中分别做如下动作: Add…-->选择%JBuilder_HOME%\lib\OpenSwing.jar和OpenSwingBeanInfo.jar --> OK ④按OK关闭 Configure Libraries…对话框 4.菜单Tools--> Configure Palette… 弹出Palette Properties…对话框 ①Pages 页中按 Add… --> PageName中输入OpenSwing --> OK ②Add components页中 -->Select library…--> 选取User Home 下的OpenSwing类库-->OK ③Add components页中 -->在Component filtering块中选择 No filtering-->展开com.sunking.swing类包-->选择如下类: JGroupPanel,JStatusBar,JPopupButton,JDatePicker,JStringField,JNumberField,JFontDialog,JIpAddressField,JDateField (可按住Ctrl键复选)-->OK ④按OK关闭Palette Properties…对话框 5.配置成功标志: 随便打开一个JAVA文件,点下面的Design页,然后上面会出来一个设计工具条,诸如:Swing,Swing Containers…等,工具条的右上角有用来滚动工具栏的按钮,我们可以将其滚动到最末尾.如果看到有一个OpenSwing的页,并在它上面有几个可视组件的话,说明你已经配置成功了,开始你的OpenSwing可视开发之旅吧.
OpenSwing开发包及源码
JCalendarPanel 日期选择面板, 从JDatePicker提出来的控件, 可以单独使用。
JCloseableTabbedPane 带关闭按钮/可设置菜单的JTabbedPane
JDateField 日期输入框,输入正确格式的日期
JDatePicker 继承自JComboBox的日期选择框,保证输入正确格式的日期(yyyy-MM-dd)
履历:
2004/03/26 根据网友caiyj的建议引入了recoon写的关于JDateDocument的校验方法
2004/04/02 根据网友caiyj提交的BUG,修正了做为TableCellEditor时日期选择面板弹不出问题
JDirChooser 文件目录选择对话框
JFileTree 文件目录树
JFontDialog 字体对话框
JGroupPane 类似QQ界面的组群管理面板
JIpAddressField IP地址输入框,只能输入0~255数字的IP地址
JListChooser 列表选择对话框
JNumberField 数字输入框,可限制小数位数,数字最大长度,最大最小能输入的数字
JPopupButton 带下拉菜单的工具栏按钮
JStatusBar 模拟Windows的状态栏.
JStringField 字符输入框,限制可输入的最大长度
JTreeComboBox 带有树形结构的下拉列表
com.sunking.swing.print.*
注意:
一个打印模板
最近发现有人在用OPENSWING的时候,把package及author等信息全部删除了. 请这部份人及时改正. 该控件库虽然是开源控件库,但仍然保留有著作权利, 对任何故意侵犯者保留追究责任权.
做方便实用的SWING控件!
欢迎大家测试并提交BUG报告.
由于个人能力和时间上的局限,希望有兴趣一起开发SWING控件的朋友,请与我联系.让我们一起努力!
为了方便查看,需要讨论的朋友请到另外一个置顶贴子. [讨论]关于"开源SWING控件"
--------------------------------------------------------------------
2004/03/25 首次发布
2004/04/08 把以前的组件和新做的组件合并到一个OpenSwing.jar文件中, 并初步将该组件库命名为”OpenSwing”
2004/06/17 加入了一个打印模板和一些新做的组件。
2004/07/25 加入了一个类似QQ界面的JGroupPane,修正了一些以前的组件的BUG.
对几乎所有的组件全部加入了JavaBeans处理, 使OpenSwing支持可视开发.
2005/04/17 将JNumberField最大长度,小数位长度修正成符合数据库定义的规范,如:NUMBER(10,2)
2005/04/21 修改了JNumberField的参数方式及不能输入负数的BUG,及数字验证方法
JDatePicker弹出时不能显示当前输入日期的BUG
加入了好多人在CJW论坛上贴子中想要的带关闭按钮的JCloseableTabbedPane可关闭的JTabbedPane的组件
2005/06/21 对JDatePicker加入了时分秒的输入
2006/01/20 修正了JPopupButton在XP风格下呈两个按钮样子的BUG
对JFontDialog进行了部分修改
2006/03/08 从JDatePicker提出来一个组件JCalendarPanel日期选择面板
并修改了JDatePicker的设计方式
2006/03/23 加入了韩文支持, 感谢在韩国工作的网友Sang Jian,韩文支持 OpenSwing_ko_KR.properties文件由他提供
2006/04/04 对JFileTree加入了文件过滤器建构式.并对显示进行了排序

--------------------------------------------------------------------
■以下组件,均在j2sdk1.4.2_01 win2k环境下测试通过,继续欢迎大家测试并提交BUG报告.
JCalendarPanel 日期选择面板, 从JDatePicker提出来的控件, 可以单独使用。
JCloseableTabbedPane 带关闭按钮/可设置菜单的JTabbedPane
JDateField 日期输入框,输入正确格式的日期
JDatePicker 继承自JComboBox的日期选择框,保证输入正确格式的日期(yyyy-MM-dd)
履历:
2004/03/26 根据网友caiyj的建议引入了recoon写的关于JDateDocument的校验方法
2004/04/02 根据网友caiyj提交的BUG,修正了做为TableCellEditor时日期选择面板弹不出问题
JDirChooser 文件目录选择对话框
JFileTree 文件目录树
JFontDialog 字体对话框
JGroupPane 类似QQ界面的组群管理面板
JIpAddressField IP地址输入框,只能输入0~255数字的IP地址
JListChooser 列表选择对话框
JNumberField 数字输入框,可限制小数位数,数字最大长度,最大最小能输入的数字
JPopupButton 带下拉菜单的工具栏按钮
JStatusBar 模拟Windows的状态栏.
JStringField 字符输入框,限制可输入的最大长度
JTreeComboBox 带有树形结构的下拉列表
com.sunking.swing.print.* 一个打印模板
--------------------------------------------------------------------
■ OpenSwing的测试方法:
解压后是一个JBUILDER项目的目录结构,里面有一个test.bat文件和OpenSwing.jar(主库文件)/OpenSwingBeanInfo.jar(可视开发支持文件),直接执行test.bat进行测试。

■ OpenSwing的发布:
只需要将OpenSwing.jar(主库文件)包含在CLASSPATH中即可。
OpenSwingBeanInfo.jar(可视开发支持文件)不需要发布, 仅提供可视化开发的支持

■JBuilder上配置OpenSwing可视化开发组件
1.将OpenSwing.jar/ OpenSwingBeanInfo.jar文件复制到 %JBuilderX_HOME%\lib\ 目录下
2.打开JBuilderX
3.菜单Tools --> Configure Libraries…-->弹出Configure Libraries…对话框
①New… --> Name中输入OpenSwing, Location中输入User Home -->OK
②选取对话框左边User Home下面出现的OpenSwing
③对话框右边Class和 Source页中分别做如下动作: Add…-->选择%JBuilder_HOME%\lib\OpenSwing.jar和OpenSwingBeanInfo.jar --> OK
④按OK关闭 Configure Libraries…对话框
4.菜单Tools--> Configure Palette… 弹出Palette Properties…对话框
①Pages 页中按 Add… --> PageName中输入OpenSwing --> OK
②Add components页中 -->Select library…--> 选取User Home 下的OpenSwing类库-->OK
③Add components页中 -->在Component filtering块中选择 No filtering-->展开com.sunking.swing类包-->选择如下类: JGroupPanel,JStatusBar,JPopupButton,JDatePicker,JStringField,JNumberField,JFontDialog,JIpAddressField,JDateField (可按住Ctrl键复选)-->OK
④按OK关闭Palette Properties…对话框
5.配置成功标志: 随便打开一个JAVA文件,点下面的Design页,然后上面会出来一个设计工具条,诸如:Swing,Swing Containers…等,工具条的右上角有用来滚动工具栏的按钮,我们可以将其滚动到最末尾.如果看到有一个OpenSwing的页,并在它上面有几个可视组件的话,说明你已经配置成功了,开始你的OpenSwing可视开发之旅吧.

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧