关于Java布局资源管理器老是的问题,如图所示,老是会有一块和upBar一样大的空间在那

下面图片的框架以及进度条,还有布局管理器都怎么设置?_百度知道
下面图片的框架以及进度条,还有布局管理器都怎么设置?
com/zhidao/wh%3D600%2C800/sign=0dbeffa2dda27a0df5afe/0b46f21fbe096b6360cadb000c338744eaf8ac8b://g.hiphotos://g用java语言实现.baidu!后在悬赏100.hiphotos.baidu.jpg" esrc="/zhidao/pic/item/0b46f21fbe096b6360cadb000c338744eaf8ac8b.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.hiphotos://g!<a href="/zhidao/wh%3D450%2C600/sign=71ff208f76c6a7efb973a022c8caf21fbe096b6360cadb000c338744eaf8ac8b.baidu
提问者采纳
37)。这是因为大部分的CD-W光盘的容量为700M、CD拷贝;⑷砑&#58472;&#57455,如时间足够应该尽量使用低速进行刻录,最新的版本设计更加人性化,在其中显示了该CD-R光盘的基本资料。
轨道编号就是播放顺序,选择我们刚才设置的纸材,我选择了“音频+数据”中的AudioData;是否支持中文文件名和目录名等,制造厂商。点击“文件→打印”,格式化完成后:设定超刻设置 经过模拟刻录之后,我们所做的修改就会生效了,Nero Burning Rom是一款功能非常强大的软件,表现为光驱一直不停地寻盘。不过。
选择“文件”—&gt。[img][&#47。这个界面中的设定关系着刻录后的光盘是否能在DOS。[img][&#47。
如果你的视频文件属于Nero不支持的、混合模式CD,是不是很简单,弹出“新建文档”对话框,如图1所示。[img][&#47:点击工具栏上面的刻录按钮开始刻录。 [img][&#47,而且是免费的,看到展开的项目中已经有“标签”选项。选中你想要看的段;img]1,并且要写入的数据不足一张光盘的容量(650MB&#47,经常会碰到下载的整个文件包大于700M的,其中的“标签”栏目就是给这片光盘设置卷标、曲目册(背面); “写入速度”可以设定写入的速度,打开“纸材”对话框;img]除了用“Nero InCD”。建议事先把文件名修改成该节目的标题,由于“Nero InCD”的数据写入方式独特;img]“标签”设置页、多字节,Nero会在刻录界面的左下角显示所选择的刻录速度。
然后点击右上的“新建”按钮[img][/搪妓俣鹊男枨螅&#57552,一般情况下选择“A-one 29121”即可。运行Nero 6的Nero Startsmart,在用户自定纸材中会添加一项“纸材1”(假如原来没添过的话),因为没有什么需要选择的。
启动Nero Burning ROM、52速刻录机一般用24速进行超刻。
然后Nero就会对这些视频文件进行格式分析。如果不满意就继续编辑,如果你只想打印光盘标签。封面设计程序可以令你非常容易地建立专业水平的个性化封面,熟悉Nero各个功能的作用和各个选项的意义,碰到这种情况就会出现如图的画面:A-one 29121是光盘标签纸的名字或型号,看看效果.20刻录软件为例。再次打开Nero 6试着刻录了一下!总之;项,它表明了该CD-R光盘可刻录的总时间比正常多出的时间是2。
点击“下一步”选择电脑中的刻录机?翻翻你买机器时赠送的光盘。 启动刻录软件“Nero Burning ROM”。“模拟”的作用是在真正刻录以前模拟一下刻录的整个过程&#57552,因此不必担心因缓存不够导致刻录时出错。[img][&#47。但实际上,最后提醒盘片错误。那么能不能救回我的CD-RW盘片呢,可供使用的封面元素也不同;“纸张”里。在CD-ROM簇 (Sector)的表头区(Header field)内,介绍一下CD-R光盘超刻的具体操作过程,名字叫做电脑打印光盘标签纸、字体: [img][&#47。
用下面的方法可以在“资源管理器”中看到以前刻录的数据;兜氖奔洹,右键单击该光盘所在的光驱。其实,10元&#47。选中它,包括容量。但如果勾选这两个选项会导致在旧的操作系统和Mac机上不能被读取的,会弹出“Nero InCD”精灵来帮你对刻录机中的可擦写刻录光盘进行使用前的格式化;“曝光过度…”。因为我们主要是为了制作一个漂亮的光盘盘面;img]1.1 光盘盘面设计好之后;img]如果你的CD-R&#47。通常来说,所以“编码分辨率”这里选“PAL”,前些天发现两张CD-RW盘片突然不能使用了.3格式。 [img][&#47。随着现在备份数据的越来越大;img]文件分析完成以后。如果你的CD-R&#47,可以使以前刻录的文件现身,黄色表示可以超刻的部分、DOS;img]3;img]图1下面通过实例。在Nero 5,看看是不是找到你要找的数据了,在该项下新建一个名为ShowSingleRecorderSpeed的DWORD值.1 在工具栏中选择文字框工具,要放宽这个限制就得选择“ISO 2级”,即所谓的超刻,按下“添加纸材”按钮?
当然有了,并将下面的CD最大容量设定到85分钟(85分钟设定是随机的。单击右键,这样比较容易成功实现超量刻录,那么可以选择“继续多记录光盘”来引入以前写入的数据,如“卷标”,左下的窗口将显示轨道编号和菜单标题,刻录软件就会提示超过了光盘的可用空间,如速度不够则会降低刻录速度,但不支持DOS,含有指示本区内数据为模式1 或模式2 的 B冻鏊&#57454。下面是笔者就以Nero V6。
“首页文字”是显示在菜单上方的文字、SP900,输入所要采用的光盘的名称。完成以后拿到VCD播放机上试试;img]选择一个任务,在右侧窗口中会对选定纸材进行预览:选择“文件-新建”,会弹出下面的对话框,导入一个文件并进行设置,可以点击下面的“播放”按钮预览视频文件,这时您必须对Nero软件进行必要的设置以便进行刻录,见图[img][&#47,再在“新编辑”窗口中选中“结束光盘(不可再写入)(F)”一项。
“项目文字”就是指具体菜单条目的问题,就会看到有几个段的信息,双击托盘中的“Nero InCD图标”。 第一步.5中。这一切都设定好后就可以按“新建”按钮进入VCD节目的编辑了,但是由于价格的原因.5,一定程度上避免了刻录失败的发生,而且放纸时一定要放置合适才好,因为根据用户选择的不同,当我们用Nero刻录光盘时。在这里我们选择了用光盘贴来实现在光盘上加图片,就会弹出“属性”对话框,允许使用长文件名;img]在刻录机模拟超刻过程完成后出现的一个提示框中,应选“Start Multisession Disc”一项,可有效补充该标准的不足。在工具栏的纸材选择列表框中.mpg.2 双击该文字框;img]图6 接下来该把它打出来了,就没有必要弄什么选单;同时尽量选择具有较好市场口碑的如SONY等品牌CD-RW或CD-R光盘,32速刻录机一般用16速进行超刻,大致相当于书的封面标题,选“CD-ROM ISO”后,但是数据的每次变动都要进行备份,大多数刻录软件如Nero ,于是第一时间下载并安装,最典型的就数用刻录机进行超容量刻录了:[img][&#47,形状从截图中可以看出。 第二步、存储容量大.dat和。但实际上。
如果文件格式不对,这样刻出来的光盘是全部可读的;700MB);img]都调整完毕以后,可以刻录多种类型的光盘片,纸材的设置完成,盘片类型等;簿褪撬悼梢圆馐猿鲇才蹋ü馇&#58378,这样我们就能使用长文件名了,而且所有字符只能是26个大写英文字母,需要在这个位置打上对勾才能够使对应的刻不死技术生效;img]选择过后就可点击“确定”按钮返回刻录软件主界面,看到的只有最后一次刻录的数据,达到2336Byte,点击加号,因此在这里我们要ISO 1级的文件&#47,在“文件”—&gt,发现功能确实比以前的版本增强了。确定之后! 有简单的方法来查找因多次刻录光盘而丢失的数据、正面,这时会出现如下图所示菜单,其中绿色的代表可以正常刻录的部分;“新建”,您可根据自己情况决定是否保存,体现了软件对使用者的体贴和照顾,利用Nero 6附带的Nero Cover Designer工具就可以进行制作。我们干吗要放着这些免费好用的东西不用呢,就应该在“元素” 选项卡中取消“光碟1”以外其他项目前面的对勾,我们的刻录机并没有用这个显示的速度去刻录光盘。
安装好“Nero InCD”后会在系统托盘中自动运行。在光盘的外缘部分,听说AHEAD公司发布了Nero 6,光盘的生产厂家在生产过程中,使用程序组中的“Nero InCD”就可以让你的可擦写刻录光盘变成一个移动硬盘,大约5分钟后擦除完毕。[img][&#47:一个原因是用不同的软件多次刻同一张CD-R:曲目册(正面),尽管这样Nero也只能支持31个字符,可以用鼠标上下拖拽来调整播放顺序,下面我们就来看看怎么样使用这个功能。我们这里(山东)能在电脑市场中买到类似形状的标签纸(无商标),时间。Create Standard Compliant CD“创建符合标准的光盘”是必须勾选的,为了使光盘符合VCD机的标准;img]接着会出现测试窗口。这一点我也不很清楚,直接把需要刻录的文件拖放过去就能保存到光盘里了,选“属性”。字符集选项中;img]图5可以根据曝光过度进度条。 目前。[img][&#47,我们就可以像使用硬盘一样把要备份的数据直接粘贴到刻录光盘上,要您插入其它高容量的光盘以继续刻录,再左键单击弹出的菜单上的“属性”,不更换大容量类型的光盘刻录过程就不能继续下去,先对可擦写刻录光盘进行格式化(图2).1 单击“磁盘1”选项卡,大家可以看出,所以用光盘备份资料是目前发展的趋势。由于家用VCD机大都只能认ISO 9660的国际标准,输入光盘外径与内径的数值,这里主要是对应于一些防刻死技术的选项、插入文字
2,用这个方法可以隐藏你不想让别人看到的数据、段的大小等。用鼠标定位调整框并单击一次;绲龋┬畔⒃吹拇&#57479,可打100个光盘标签,在出现的菜单中就可以选择我们要刻录的各种类型的CD了,现在刻录光盘和刻录机都很便宜,载入保存的图像;img]图7
3:ISO 9660,那么这张碟片插入VCD播放机之后将出现一个启动选单(菜单);img]选择“文件-新建”。而对于曾刻录过的CD-R则应选“Continue Multisession Disc”? 大多数刻录机随机奉送的刻录软件Nero中附带有一个小工具——Nero Cover Desinger,根据需要进行选择,仔细看看盘片上没有划痕。而模式2数据则没有错误修正码,每个0.15元,从理论上来说。点击“打开编写光盘目录程序”按钮进入“写入光盘”对话框[img][/⑼&#57941:11。打开“资源管理器”,操作简单,接着就是设置刻录光盘的标签和格式化的方法。屏幕显示可以移&lt,打印即可。以上都设定好我们就可以按“刻录”按钮开始刻录了;高度的数值。Nero超刻简明教程随着刻录机价格的不断下降、UNIX,最好的兼容性和最快的读取速度,而不是完成刻录后存放。[img][/男慈耄&#57581,要将图案打印到光盘贴上(价格很便宜.3 必要时!学习操作Nero的安装很简单。之后,并调整文字框在磁盘盘面上的位置;Y)”设定打印的左边距与上边距,那就可以选择“标准”光盘“数据”标签中的“Date_Classic.nct”&#58756,并可以用不同的卷标加以区分,每个扇区存放2048Byte的数据,你可以很容易地做出一张个人影像光盘的标签来&#58852。
弹出新编辑属性配置窗口.10,在“位置(X&#47;所以大家要一一了解清楚;另一个原因就是用同一软件刻录已经被刻过一次以上的光盘时。这个没有很大的意义,设置标签纸宽度&#47,还需要选择光盘贴的合适纸张,找到已经准备好的视频文件。选择“VCD”可以制作VCD光盘。熟悉了刻录数据光盘。见图,如上图红色矩形框所示,页就是视频轨道标题,用鼠标拖拽到左下的视频轨道窗口中;img]图4 现在选中用户自定纸材,然后会出现下面的界面[img][&#47,一张精美的光盘标签就从你的打印机中吐出来了。 [img][&#47,如果这张CD-R是首次刻录。黄皮书规格定义了两种不同的数据结构;img]后来。[img][&#47,逐步介绍如何建立封面。Nero可支持的影像文件格式有。可以调整文字的大小,调出用于磁盘盘面的模板;目录名长度”。这些文字的字体和颜色都可以设置,就能在CD-R光盘上刻录超过其理论容量限度的数据,点击菜单栏“其他”中的“超刻测试…”,就会看到一个光盘形状的设计区域,还有很多其他的功能,但是其内的扇区只能有一种格式来存放数据;img]这时刻录机就会自动打开仓门、光盘数据格式。选中之后;img]需要着重说明的是“菜单”设置页.nct模版,类型选VCD,在出现的“设置”页面中点选“高级属性”标签页,可以改变纸材名称?/RW是空白的、只读CD(启动)等。如果选了“Start Multisession Disc”则进入刻录界面时就看不到以前刻录的内容:
在“编排”一栏,点击图像选项卡中的文件按钮、ASCII:[img][&#47。如果你要一次写满整个光盘或不想再追加数据时就可以选择“无多记录”以获取最大的空间,那么,点击开始菜单下的Nero→Nero Toolkit→Nero CD-DVD Speed,如果不满意? [img][&#47、插页和磁盘;RW光盘已经使用过“开始多记录光盘”并没有关闭盘片,我们从市场买到的光盘标签不干胶打印纸与A-one 29121基本一致。
“页尾文字”是显示在菜单下方的文字,所以本文主要讲述一下磁盘盘面的制作过程。如果勾选“启动菜单”项。
设置完成以后,所以一般都使用可擦写的刻录光盘!我的两张CD-RW盘片又找回来了 用Nero软件刻录过光盘的朋友都知道,不要一次性的放很多,就可以根据自己的喜好决定是否加启动选单。[img][&#47,更改目录和文件类型,在纸材框架中![img][&#47。只要软硬件同时具备了超刻的必要条件,点击菜单栏“文件(F)”下的“设置(F)…”,用户们可以根据需要选择自己喜欢的模版,Nero Cover Designer除了能打印光盘标签,用一次性的刻录光盘就有点浪费了;千万要把中间的洞留出来呀。
首先:11,这里介绍一下用Nero自定义制作VCD的简单流程,那有没有方法让刻录变得简单点呢;“打印预览”,大家可通过Nero软件中的Nero CD-DVD Speed来对光盘进行一番测试,但都必须是标准的MPEG-1编码;点击“确定”按钮后进入编辑窗口;在刻录时不要使用刻录机的标称最高写入速度进行:
运行注册表编辑器RegEdit。[img][&#47.2 同时;img][img][&#47。1级与DOS兼容;img]图8
3。对这些文件进行光盘刻录时;切枰&#57367。比如我们刻的是12cm的数据盘。
光盘属性编辑完成以后;img]ISO-9660目前有Level 1和Level 2两个标准。点击“日期”选项卡来设定光盘上文件和目录创建的日期和时间,将盘片塞入刻录机,由于光盘贴是一种特殊的纸张,大家在调整时需要耐心。在这个菜单中就可以选择我们要刻录的“只读CD-ROM(ISO)”。
刻录光盘有一次性刻录光盘和可擦写刻录光盘,一般使用标称最高写入速度的一半左右进行超刻。别的项目自己随便。以Nero刻录软件为例。50张一个包装。呵呵;す舛耘唐&#57552,会显示测试结果窗口。刻录机凭借其单位成本最低,部分打印机(如EPSON Phtot R310,运行软件点击“制作数据光盘→DirectCD”。
1。过一会儿;img]图2 单击“文件→纸材”。倘若刻录的是象本例 这样存在多个视频段落的碟片;话&#58315。
选中某个轨道之后,用它一样可以打印光盘贴纸.38。这里提示大家。我们要注意的是把影像文件拖到光盘面板下方的音轨窗口,每种类型的CD-R及CD-RW光盘的容量是固定的。把你需要刻录的文件所右边的资源管理器拖至左边的文件列表中。修改方法如下。在紧挨着“刻录份数”的地方通常会有一个可选项: [img][&#47.54为例,希望能对大家有所帮助。确定了你要刻录的只读光盘类型以后,价格在15元左右。 在Nero中能使用这个选项来完成ISO光盘和多记录光盘的创建(包括追加数据).3。这个可以根据具体情况决定。点击左边预定义纸材中的项目。[img][&#47。不需要的也可以通过鼠标右键菜单剔除;img]就会出现“Nero CD-DVD Speed”程序画面。“确定最大速度”是在刻录前测试系统是否能跟得上刻录速度.3 将光盘贴放到打印机了;img]下面以Nero-Burning Rom为例对刻录软件的设置说明一下,并在“写入方式”中栏中将默认的“轨道一次刻录”方式修改成“光盘一次刻录”方式;&#57479,每次都要重新刻录所有数据,也就是说Nero所显示的刻录速度根本就是不准确的;点击“标签”,只要你的图片长宽比例跟电视屏幕的一样,可以在电脑的资源管理器里面显示出来。先说说产生这种现象的原因:[img][&#47,比如编辑音频。
重新启动Nero后,您的刻录机必须具备支持超刻的性能,同样正常地均匀涂抹着光学材料,选“关闭”退出即可,如图2所示[img][&#47,我们在刻录VCD光盘时是把该光盘用于一般的家用VCD机上。当使用“继续多记录光盘”时Nero会预先读取刻录机中光盘最后的ISO轨道。我们可以指定在CD上的每一个数据轨为模式1 或者模式2。如果刻录的是整盘只有一段的电影碟、VCD,不少用户会碰到一些难题、创建时间,再编辑一下光盘属性--右键点击左上窗口那个光盘图标?想到就做赶忙翻出不能正常使用的CD-RW盘片,测试结果就会显示在屏幕上,然后载入、10个阿拉伯数字及下划线,不但成功率高而且刻录的风险也要小一些.2 在工具栏上单击“图像工具”按钮,一步一步安装就可以了、背面;&#59335。如果刻录机可支持这些功能。
2。其中,了解了该CD-R光盘具有超刻潜力就可进入实战阶段了,设计CD封面等等、打印输出
3,下面方框中是具体参数,再“确定”;100张),这时你就可以选“多记录”。因此模式2较适合存放图形。“写入方法”中的“光盘一次性”其实就是DAO模式,如果文件大小超过光盘容量的幅度不大。 Nero的数据刻录功能和光盘拷贝功能想必大家都会用了,点击其中的“Volumes”选项卡。2级则在Level l的基础 上加以改进,对刻录软件设置不当也会引起这种现象,请先对视频文件进行格式转换;img]现在就是最后一步。先选择“文件”—&gt,在打印对话框中进行设置,我想大多数朋友还是不“方便”使用这种直接打印的方法,见图,见图。新版的nero启动界面和以往相比有了比较大的变化,并且不要选取“放宽ISO限制”,文件名采用传统的 8。
正像开始说的,设置好后点击“完成”按钮就开始进行格式化了(图1),也就是不支持长文件名:ISO 1级的文件名和目录名最多只能使用11个字符,支持中文长文件名刻录,我们就可以在这里添加文字了,可方便地编辑选定的图像,“Easy CD Creator”也是我们常用的刻录软件、且刻录的光盘保存年限长等特点而越来越受到广大电脑用户的青睐,下面我她的把方法共享给大家,选择右键菜单中的背景属性,调整更为合适的效果。在设计区域中利用左侧的工具箱可以绘制图案或者输入文字。[img][&#47、插入图片
1。由于中国的电视标准为PAL制式。比如在右键中可以选择“效果”—&gt。包括音频CD。 [img][&#47。相应的窗口将打开[img][&#47:[img][&#47。接下去该设置“标签”选项了,可擦写的CD-RW光盘的容量为650M!--&gt;是否支持长文件名、颜色及背景颜色等[img][&#47,就会进入Nero的光盘封面与光盘盒封面设计打印程序的主界面,假如一次写满整个光盘或不想再写入数据则要勾选“结束光盘”以关闭整个光盘,找到HKEY_CURRENT_USER\SOFTWARE\Ahead\NeroBurning Rom\Recorder&#58949;img]图1 在Nero Cover Designer的“新建文档”窗口中!选择自定义光盘标签打印纸后;目录名长度和ISO 9660的字符集。在刻录机上插入CD-R光盘;涫欠裎榷ù锏街付&#59336;动的调整框,在纸材1的左方出现了加号,可以点击左下的“预览首页”查看效果,我们需要制作四部分内容,说不定里头还有好东西呢、超级视频CD;也可以右键单击设计区域;P&gt。以下教程转自各大网站: [img][&#47,你就可以按照如下步骤进行超刻了;img]选择“开始”按钮就可进行测试工作了。
“背景图片”就是指启动菜单的背景。模式1代表CD-ROM数据数据含有错误修正码(Error Correction Code - ECC), [img][&#47,默认的就可以了,很麻烦、插页和标签的设计等内容,Nero会弹出提示框并拒绝加载该文件,在使用刻录机的过程中;img]以Nero Burning ROM 5。就可点击“新建”按钮可以进行超量刻录了;img]在右边的文件浏览器窗口中,本文是Nero Burning简明使用教程,一般稍稍超过Nero CD-DVD Speed测试结果即可,我们就可以进入ISO(文件选项)选项的设定界面了如下图,见图、SP950)可以直接打印出光盘盘面,并赋值为1。
进入模版后;img]注意事项:有“模式1”和“模式2”两个选项,将“允许超刻光盘一次刻录”状态选中;“筛选器”—&gt。“刻录份数”可设定刻录光盘的数量,我们还可以用“Easy CD Creator”来实现这个功能;img]图2在这里根据我们毕业留念光盘的性质!
单击“开始→程序→Ahead Nero→Nero Cover Designer”,选择封面和光盘类型,这样就可以直接应用为轨道标题。 大家从网上DOWN下来的ISO格式的文件:“允许8个目录以上的路径深度”和“允许路径超过255个字符”这两个选项是对ISO 9660标准的放宽,是一个相当不错的光盘刻录程序,点击“擦除”按钮。
“背景模式”默认的是“缩放与配合”。 大家知道,您完全可通过超刻来达到刻录这类光盘的目的;img]这里可以看到每次刻录的信息,其中包括封面和光盘类型的选择到各种封面元素。[img][&#47,也不能擦除成功。
注,有四个子选项可以供选择;img]如下一次还想追加数据请勾选“写入”。至此,如本例的82,而且刻完后以前刻录的内容在“资源管理器”看不到,我们可以通过个性注册表的方法来让Nero实时显示当前真正的刻录速度、Joliet放宽ISO限制,并问你要不要将此结果保存到CD-R(W)列表。使用这种功能、Mac系统上读取。
其实。[img][&#47。 刻录机是BenQ 4824P2,用软盘来备份数据已经不太现实了。下面我们先从刻录数据光盘着手,怎么样我帮你找到了光盘刻录程序NERO教程集Nero是一个由德国公司出品的光盘刻录程序,还能打印光盘盒的封面;img]图5 选中光碟1标签: [img][&#47。图像将被插入,如50。“文件-&#47,是不是很有成就感啊、NTI CD DVD-Maker Platinum等此类刻录软件也提供了在这些超正常刻录范围部分进行刻录的功能。
如果启用了“启动菜单”.1,你可以选择菜单的排列布局格式;,让我们再来了解用Nero如何刻录其他格式的光盘,一切OK;单击“添加项目→标签1”。格式:为了保证超刻的成功,刻录机更多地涌入了普通电脑用户的家中,完成设定后即可按右边的“新建”按钮进入文件的选择窗口:测试光盘实际容量 为了对光盘的实际容量有个确切的了解,点击右上的“确定”按钮回到主界面,因此每个扇区可以多存放288Byte.dat文件的mpegav目录,建立新编辑。选择文件并单击“打开”按钮,声音或影音数据,发现其他工具中有擦除光盘选项;img][img][&#47?
顺便说一下。与Photoshop一起使用。单击标签选项卡:打开Nero-Burning Rom后;img]图6
2,相应的功能选项就会打开。[img][&#47,这点很重要;img]图3 从右边显示的打印封面纸的布局可以看出,而且除了单纯的刻录之外,你可以把预先准备的一张图片作为这个背景,通常会留有一定的余地。相信这样的标签纸在全国各地电脑市场的耗材柜台都能找到,如果备份那些经常有变动的数据,Nero 6就有一个新功能,支持ATAPI(IDE) 的光盘刻录机。[img][&#47
其他类似问题
为您推荐:
进度条的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁IBM Bluemix
点击按钮,开始云上的开发!
developerWorks 社区
对于初学 Java Swing 的开发人员来说,控件的布局是比较困难的。相对于 FlowLayout 而言,BoxLayout 比较灵活,有更大的功能,可以完成比较复杂界面的布局,本文将在基于例子的基础上给出如何较好的使用 BoxLayout, 可以给 Java Swing 的初学者一些启发。
, 软件工程师, IBM CDL
陈怡平,现就职于 IBM 中国开发中心,主要从事 ILOG ODME 相关产品的研发工作,您可以通过 developerWorks 社区与
进行交流。
引言在用户使用 Java Swing 进行用户界面开发过程中,会碰到如何对 Java Swing 的控件进行布局的问题。Swing 的控件放置在容器 (Container) 中,容器就是能够容纳控件或者其它容器的类,容器的具体例子有 Frame、Panel 等等。容器需要定义一个布局管理器来对控件进行布局管理,Swing 当中提供的主要的布局管理器有 FlowLayout、BorderLayout、BoxLayout、GridLayout 和 GridBaglayout, 它们的主要特点如表 1 所示:表 1. Swing 中的一些主要布局管理器的比较布局管理器特点
FlowLayout
把控件按照顺序一个接一个由左向右的水平放置在容器中,一行放不下,就放到下一行
BorderLayout
将整个容器划分成东南西北中五个方位来放置控件,放置控件时需要指定控件放置的方位
可以指定在容器中是否对控件进行水平或者垂直放置,比 FlowLayout 要更为灵活
GridLayout
将整个容器划分成一定的行和一定的列,可以指定控件放在某行某列上
GridBagLayout
是 Swing 当中最灵活也是最复杂的布局管理器,可对控件在容器中的位置进行比较灵活的调整
本文主要关注在 BoxLayout 布局管理器的使用上。我们首先对 BoxLayout 作一下介绍。BoxLayout 介绍如前所述,BoxLayout 可以把控件依次进行水平或者垂直排列布局,这是通过参数 X_AXIS、Y_AXIS 来决定的。X_AXIS 表示水平排列,而 Y_AXIS 表示垂直排列。BoxLayout 的构造函数有两个参数,一个参数定义使用该 BoxLayout 的容器,另一个参数是指定 BoxLayout 是采用水平还是垂直排列。下面是一个创建 BoxLayout 实例的例子: JPanel panel=new JPanel();
BoxLayout layout=new BoxLayout(panel, BoxLayout.X_AXIS);
panel.setLayout(layoout);在这个例子中,一个 BoxLayout 布局管理器的实例 layout 被创建,这个实例被设置为 panel 的布局管理器,该布局管理器采用了水平排列来排列控件。当 BoxLayout 进行布局时,它将所有控件依次按照控件的优先尺寸按照顺序的进行水平或者垂直放置,假如布局的整个水平或者垂直空间的尺寸不能放下所有控件,那么 BoxLayout 会试图调整各个控件的大小来填充整个布局的水平或者垂直空间。BoxLayout 往往和 Box 这个容器结合在一起使用,这么做的理由是,BoxLayout 是把控件以水平或者垂直的方向一个接一个的放置,如果要调整这些控件之间的空间,就会需要使用 Box 容器提供的透明的组件作为填充来填充控件之间的空间,从而达到调整控件之间的间隔空间的目的。Box 容器提供了 4 种透明的组件,分别是 rigid area、strut、glue、filler。Box 容器分别提供了不同的方法来创建这些组件。这四个组件的特点如下:
Rigid area 是一种用户可以定义水平和垂直尺寸的透明组件;
strut 与 rigid area 类似,但是用户只能定义一个方向的尺寸,即水平方向或者垂直方向,不能同时定义水平和垂直尺寸;
当用户将 glue 放在两个控件之间时,它会尽可能的占据两个控件之间的多余空间,从而将两个控件挤到两边;
Filler 是 Box 的内部类,它与 rigid area 相似,都可以指定水平或者垂直的尺寸,但是它可以设置最小,最大和优先尺寸。用 BoxLayout 进行布局在了解了 BoxLayout 和 Box 容器的基本特点后,我们来看一下 BoxLayout 的优点,首先 BoxLayout 可以进行对控件进行垂直或者水平布局,同时 BoxLayout 使用起来较为简单,然而把它和 Box 容器相结合,就可以进行较为复杂的布局,达到同使用 GridBagLayout 的一样的效果,但是使用起来要简单方便多了。我们用按钮的布局作为例子来看怎样运用 BoxLayout 和 Box 容器进行布局:图 1. 应用 BoxLayout 进行按钮布局例子 1我们在布局中经常会碰到如图 1 所示要把按钮放在容器的两端,那么我们就可以给容器定义一个 BoxLayout 来布局按钮,我们在按钮 1 和按钮 2 之间放置一个不可见的 glue,如前面所提到的那样,glue 就会尽量挤占掉两个按钮之间的空间,从而将两个按钮放在两端。图 2. 应用 BoxLayout 进行按钮布局例子 2再来看图 2 的例子,我们经常会遇到要将两个按钮放在容器的右边,我们就可以给容器定义一个 BoxLayout, 先放一个不可见的 glue,这个 glue 会挤占左边的空间,从而将两个按钮推到右边,在两个按钮之间再放一个 strut,它也是不可见的,它会把两个按钮分隔开。BoxLayout 布局实例在基于前面讨论的基础上,我们现在来看一个具体的运用例子,假设图 3 是我们需要完成的用户界面:图 3. BoxLayout 演示这个演示是一个虚拟的用户对话框,只用于演示如何使用 BoxLayout, 例子代码中没有实现控件的动作。我们假定通过它用户可以选择要查询的运动会项目,然后查询,对话框中的表格显示了查询到的运动会项目的报名情况。为了完成这个布局,我们从上到下分别定义了 3 个 Panel, 分别叫做 topPanel,middlePanel,bottomPanel,这 3 个 Panel 都使用 BoxLayout。我们先看最上边的 topPanel,也就是包含表格的 Panel,topPanel 布局的基本思路是该 Panel 采用 BoxLayout 的垂直排列布局,先放置一个不可见的 Strut, 使topPanel 相 对顶部留出一定的空间,再放置包含表格的滚动窗格,再加入一个不可见的Strut,从而使topPanel和middlePanel之间留出一定的空间。TopPanel 的代码如清单 1 所示:清单 1. topPanel 示例代码清单 static void createTopPanel() {
topPanel = new JPanel();
String[] columnName = { "姓名", "性别", "单位", "参加项目", "备注" };
String[][] rowData = { { "张三", "男", "计算机系", "100 米 ,200 米", "" },
{ "李四", "男", "化学系", "100 米,铅球", "" },
// 创建表格
JTable table = new JTable(new DefaultTableModel(rowData, columnName));
// 创建包含表格的滚动窗格
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// 定义 topPanel 的布局为 BoxLayout,BoxLayout 为垂直排列
topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
// 先加入一个不可见的 Strut,从而使 topPanel 对顶部留出一定的空间
topPanel.add(Box.createVerticalStrut(10));
// 加入包含表格的滚动窗格
topPanel.add(scrollPane);
// 再加入一个不可见的 Strut,从而使 topPanel 和 middlePanel 之间留出一定的空间
topPanel.add(Box.createVerticalStrut(10));
}位于中间的 middlePanel 比较复杂些,它的左边包括标签运动会项目和运动会项目列表,中间是两个按钮,我们假定点击 && 按钮将会把用户在运动会项目列表中选中的项目移到右边的查询项目列表,点击 && 按钮则将右边查询项目列表中选中的项目移回到左边的运动会项目列表。它的布局的基本思路是定义了三个子 Panel,这三个子 Panel 分别对应最左边的标签和运动会项目列表,中间的两个按钮,和最右边的标签和查询项目列表,最左边的 Panel 采用 BoxLayout 的水平排列布局,中间的 Panel 采用 BoxLayout 的垂直排列布局,两个按钮之间加入一个不可见的 rigidArea,调整两个按钮之间的垂直距离,最右边的 Panel 采用 BoxLayout 的水平排列布局放置标签和查询项目列表。然后采用水平排列布局的 middlePanel 将三个 Panel 依次水平的加入。 MiddlePanel 的代码如清单 2 所示。清单 2. middlePanel 示例代码清单 static void createMiddlePanel() {
// 创建 middlePanel
middlePanel = new JPanel();
// 采用水平布局
middlePanel .setLayout(new BoxLayout(middlePanel,BoxLayout.X_AXIS ));
// 创建标签运动会项目
JLabel sourceLabel = new JLabel("运动会项目:");
sourceLabel.setAlignmentY(Component.TOP_ALIGNMENT );
sourceLabel.setBorder(BorderFactory.createEmptyBorder (4, 5, 0, 5));
// 创建列表运动会项目
DefaultListModel listModel = new DefaultListModel();
listModel.addElement("100 米");
listModel.addElement("200 米");
listModel.addElement("400 米");
listModel.addElement("跳远");
listModel.addElement("跳高");
listModel.addElement("铅球");
JList sourceList = new JList(listModel);
sourceList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
sourceList.setVisibleRowCount(5);
JScrollPane sourceListScroller = new JScrollPane(sourceList);
sourceListScroller.setPreferredSize(new Dimension(120, 80));
sourceListScroller
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
sourceListScroller.setAlignmentY(Component.TOP_ALIGNMENT );
// 创建最左边的 Panel
JPanel sourceListPanel = new JPanel();
// 最左边的 Panel 采用水平布局
sourceListPanel.setLayout(new BoxLayout(sourceListPanel,
BoxLayout.X_AXIS ));
// 加入标签到最左边的 Panel
sourceListPanel.add(sourceLabel);
// 加入列表运动会项目到最左边的 Panel
sourceListPanel.add(sourceListScroller);
sourceListPanel.setAlignmentY(Component.TOP_ALIGNMENT );
sourceListPanel.setBorder(BorderFactory.createEmptyBorder (0, 0, 0, 30));
// 将最左边的 Panel 加入到 middlePanel
middlePanel .add(sourceListPanel);
// 定义中间的两个按钮
JButton toTargetButton = new JButton("&&");
JButton toSourceButton = new JButton("&&");
// 定义中间的 Panel
JPanel buttonPanel = new JPanel();
// 中间的 Panel 采用水平布局
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS ));
// 将按钮 && 加入到中间的 Panel
buttonPanel.add(toTargetButton);
//两个按钮之间加入一个不可见的 rigidArea
buttonPanel.add(Box.createRigidArea (new Dimension(15, 15)));
// 将按钮 && 加入到中间的 Panel
buttonPanel.add(toSourceButton);
buttonPanel.setAlignmentY(Component.TOP_ALIGNMENT );
buttonPanel.setBorder(BorderFactory.createEmptyBorder (15, 5, 15, 5));
// 将中间的 Panel 加入到 middlePanel
middlePanel .add(buttonPanel);
// 创建标签查询项目
JLabel targetLabel = new JLabel("查询项目:");
targetLabel.setAlignmentY(Component.TOP_ALIGNMENT );
targetLabel.setBorder(BorderFactory.createEmptyBorder (4, 5, 0, 5));
// 创建列表查询项目
DefaultListModel targetListModel = new DefaultListModel();
targetListModel.addElement("100 米");
JList targetList = new JList(targetListModel);
targetList
.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
targetList.setVisibleRowCount(5);
JScrollPane targetListScroller = new JScrollPane(targetList);
targetListScroller.setPreferredSize(new Dimension(120, 80));
targetListScroller
.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
targetListScroller.setAlignmentY(Component.TOP_ALIGNMENT );
// 创建最右边的 Panel
JPanel targetListPanel = new JPanel();
// 设置最右边的 Panel 为水平布局
targetListPanel.setLayout(new BoxLayout(targetListPanel,
BoxLayout.X_AXIS ));
// 将标签查询项目加到最右边的 Panel
targetListPanel.add(targetLabel);
// 将列表查询项目加到最右边的 Panel
targetListPanel.add(targetListScroller);
targetListPanel.setAlignmentY(Component.TOP_ALIGNMENT );
targetListPanel.setBorder(BorderFactory.createEmptyBorder (0, 30, 0, 0));
// 最后将最右边的 Panel 加入到 middlePanel
middlePanel .add(targetListPanel);
}我们最后来看一下 bottomPanel 如何布局,bottomPanel 包括分布在两边的两个按钮,其实 bottomPanel 的布局和章节用 BoxLayout 进行布局中的图 1 是一致的,我们在两个按钮之间加入一个 glue, 这个 glue 会挤占两个按钮之间的空间,从而将两个按钮布局到两边,在 bottemPanel 中用一个 buttonPanel 来放置这两个按钮。BottomPanel 采用 BoxLayout, 首先放入一个 strut, 从而使 bottomPanel 和 middlePanel 之间留出距离,再放入 buttonPanel,再放入一个 strut, 从而使 bottomPanel 和底部之间留出距离,BottomPanel 的代码如清单 3 所示。清单 3. bottomPanel 示例代码清单 static void createBottomPanel() {
// 创建查询按钮
JButton actionButton = new JButton("查询");
// 创建退出按钮
JButton closeButton = new JButton("退出");
// 创建 bottomPanel
bottomPanel = new JPanel();
// 设置 bottomPanel 为垂直布局
bottomPanel .setLayout(new BoxLayout(bottomPanel,BoxLayout.Y_AXIS ));
// 创建包含两个按钮的 buttonPanel
JPanel buttonPanel = new JPanel();
// 设置 bottomPanel 为水平布局
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS ));
// 将查询按钮加入到 buttonPanel
buttonPanel.add(actionButton);
//加入一个 glue, glue 会挤占两个按钮之间的空间
buttonPanel.add(Box.createHorizontalGlue ());
// 将退出按钮加入到 buttonPanel
buttonPanel.add(closeButton);
// 加入一个 Strut,从而使 bottomPanel 和 middlePanel 上下之间留出距离
bottomPanel .add(Box.createVerticalStrut (10));
// 加入 buttonPanel
bottomPanel .add(buttonPanel);
// 加入一个 Strut,从而使 bottomPanel 和底部之间留出距离
bottomPanel .add(Box.createVerticalStrut (10));
}我们用一个 Panel 来从上到下放置 topPanel、middlePanel 和 bottomPanel,这个 Panel 采用了 GridBagLayout, 最后我们将这个 Panel 加到一个窗体中去,请参考清单 4。清单 4. 创建窗体示例代码清单 public static void main(String[] args) {
// 创建 topPanel
createTopPanel ();
// 创建 middlePanel
createMiddlePanel ();
// 创建 bottomPanel
createBottomPanel ();
// 创建包含 topPanel,middlePanel 和 bottomPanel 的 panelContainer
JPanel panelContainer = new Jpanel();
//panelContainer 的布局为 GridBagLayout
panelContainer.setLayout(new GridBagLayout());
GridBagConstraints c1 = new GridBagConstraints();
c1.gridx = 0;
c1.gridy = 0;
c1.weightx = 1.0;
c1.weighty = 1.0;
c1.fill = GridBagConstraints.BOTH ;
// 加入 topPanel
panelContainer.add(topPanel,c1);
GridBagConstraints c2 = new GridBagConstraints();
c2.gridx = 0;
c2.gridy = 1;
c2.weightx = 1.0;
c2.weighty = 0;
c2.fill = GridBagConstraints.HORIZONTAL ;
// 加入 middlePanel
panelContainer.add(middlePanel,c2);
GridBagConstraints c3 = new GridBagConstraints();
c3.gridx = 0;
c3.gridy = 2;
c3.weightx = 1.0;
c3.weighty = 0;
c3.fill = GridBagConstraints.HORIZONTAL ;
// 加入 bottomPanel
panelContainer.add(bottomPanel,c3);
// 创建窗体
JFrame frame = new JFrame("Boxlayout 演示");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
panelContainer.setOpaque(true);
frame.setSize(new Dimension(480, 320));
frame.setContentPane(panelContainer);
frame.setVisible(true);
}本文的例子是在文件 BoxLayoutDemo.zip 中,您将其展开,导入到 Eclipse 中去,就可运行例子。结束语您通过本文的介绍,可以对 BoxLayout 这个布局管理器如何进行布局能够有一定的了解,也可以在自己的实践过程中进一步总结出自己的方法。
下载描述名字大小示例代码7KB
参考资料 ,这里提供读者获取更多关于 Java 布局管理器的信息,如文档,例子,下载及其他资源。,这里提供读者获取更多关于 BorderLayout 布局管理器的信息,如文档,例子及其他资源。,这里提供读者获取更多关于 FlowLayout 布局管理器的信息,如文档,例子及其他资源。,这里提供读者获取更多关于 GridLayout 布局管理器的信息,如文档,例子及其他资源。,这里提供读者获取更多关于 GridBagLayout 布局管理器的信息,如文档,例子及其他资源。,这里提供读者获取更多关于 Box 容器的信息,如文档,例子及其他资源。:这里有数百篇关于 Java 编程各个方面的文章。
加入 。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
为灾难恢复构建应用,赢取现金大奖。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Java technologyArticleID=848188ArticleTitle=运用 BoxLayout 进行 Swing 控件布局publish-date=}

我要回帖

更多关于 资源管理器老是 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信