在swing中不仅有jframe、jdialog这样的顶级窗口,还拥有一些中间容器,这些容器不能单独存在,必须依存在顶级窗口中。最常见的是jpanel、jscrollpane。
jpanel
:jpanel和awt中的panel组件使用方法基本一致,他是一个无边框不能被放大、移动、关闭的面板,它的默认布局管理器是flowlayout,当然这是可以使用tlayout()方法重新设置的jscrollpane
:与jpanel不同的是,jscrollpane是一个带有滚动条的面板容器而且这个面板只能添加一个组件,如果想添加多个组件就必须先把多个组件添加到panel中再将panel添加到jscroollpane中import java.awt.*;import javax.swing.*; public class main extends jframe{public main(){thi青山处处埋忠骨何须马革裹尸还s.ttitle("paneldemo");jscrollpane scrollpane=new jscrollpane();//设置水平进度条需要时出现scrollpane.thorizontalscrollbarpolicy(scrollpaneconstants.horizontal_scrollbar_as_needed);//设置垂直进度条一直出现scrollpane.tverticalscrollbarpolicy(scrollpaneconstants.vertical_scrollbar_always);jpanel panel=new jpanel();panel.add(new jbutton("按钮1"));panel.add(new jbutton("按钮2"));panel.add(new jbutton("按钮3"));panel.add(new jbutton("按钮4"));for(int i=5;i<100;i++){panel.add(new jbutton("按钮"+i));}//将jpanel面板添加在滚动面板上显示scrollpane.tviewportview(panel);//将滚动面板添加到窗体的中部(center)this.add(scrollpane,borderlayout.center);//创建窗体可关闭按钮this.tdefaultclooperation(jframe.exit_on_clo);this.tsize(400,250);this.tvisible(true);}public static void main(string[] args)throws exception{ new main();}}
jframe
jdialog
japplet
1,任何画面类,必须是容器类的分支,任何界面树的顶层容器类必须是上面三个中的一个。
2,任何画面组件只能被容器类引用一次,如果复制他们到另外的容器类,它会被从第一个容器类中删除然后放在第二个容器类中。
3,顶层容器类都含有一个内容面板,包含了顶层容器要显示的内容
4,顶层容器类通常含有一个menu bar, 这个menu bar可以带来更好的使用体验,比如在mac系统中,menu bar会显示在screen顶上而不是app顶上。
注意,jpanel默认的排版方式是flowlayout
但是可以使用顶层容器类的tcontentpanel替换成自定义布局的jpanel类。
示例代码:
package com.jes.kotlin.com.jes.gui import java.awt.borderlayoutimport java.awt.dimensionimport javax.swing.* class windowmain { private val rootcontainer = jframe("gui demo") 幼儿童话故事 fun buildgui(){ rootcontainer.defaultcl蜜蜂作文借物喻人ooperation = jframe.exit_on_clo var label = jlabel("hello world") rootcontainer.contefullofntpane.add(label, borderlayout.center) rootcontainer.preferredsize = dimension(400, 300) var menupanel:jmenubar = jmenubar() menupanel.add(jmenu("help")) rootcontainer.jmenubar = menupanel rootcontainer.pack() r实事政治ootcontainer.isvisible = true }} fun main(args: array<string>) { swingutilities.invokelater { windowmain().buildgui() }}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 00:40:36,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/482d53a4624ffa4e697e77603fed0fc5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java基础入门 Swing中间容器的使用.doc
本文 PDF 下载地址:Java基础入门 Swing中间容器的使用.pdf
留言与评论(共有 0 条评论) |