首先,相信每个人在写程序的时候,都会碰到美工的问题,如果简单一点,也就是最基本的美工,应该就是窗口上每个组件的排版问题了,这是一个大问题,有时候如果排版的不好,就会造成非常大的影响,我在写程序的时候同样遇到了这样的问题。这里我看了两种,就先简单的介绍一下这两种吧 。
第一种排版的方法是在BoxLayout类下的方法,这个排本的结果是让你得到你想要得到的排版的方式。具体能够得到的方式就是能够按照自己的意愿去横向排列,或者是纵向排列,不要要求别的了,别的他做不到。具体效果如图
然后是具体的代码,
public class Test extends JFrame {
// set up GUI
public Test()
{
super( "Demostrating BoxLayout" );
// create Box containers with BoxLayout
Box horizontal1 = Box.createHorizontalBox();
Box vertical1 = Box.createVerticalBox();
Box horizontal2 = Box.createHorizontalBox();
Box vertical2 = Box.createVerticalBox();
final int SIZE = 3; // number of buttons on each Box
// add buttons to Box horizontal1
for ( int count = 0; count < SIZE; count++ )
horizontal1.add( new JButton( "Button " + count ) );
// create strut and add buttons to Box vertical1
for ( int count = 0; count < SIZE; count++ ) {
vertical1.add( Box.createVerticalStrut( 25 ) );
vertical1.add( new JButton( "Button " + count ) );
}
// create horizontal glue and add buttons to Box horizontal2
for ( int count = 0; count < SIZE; count++ ) {
horizontal2.add( Box.createHorizontalGlue() );
horizontal2.add( new JButton( "Button " + count ) );
}
// create rigid area and add buttons to Box vertical2
for ( int count = 0; count < SIZE; count++ ) {
vertical2.add( Box.createRigidArea( new Dimension( 12, 8 ) ) );
vertical2.add( new JButton( "Button " + count ) );
}
// create vertical glue and add buttons to panel
JPanel panel = new JPanel();
panel.setLayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) );
for ( int count = 0; count < SIZE; count++ ) {
panel.add( Box.createGlue() );
panel.add( new JButton( "Button " + count ) );
}
// create a JTabbedPane
JTabbedPane tabs = new JTabbedPane(
JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT );
// place each container on tabbed pane
tabs.addTab( "Horizontal Box", horizontal1 );
tabs.addTab( "Vertical Box with Struts", vertical1 );
tabs.addTab( "Horizontal Box with Glue", horizontal2 );
tabs.addTab( "Vertical Box with Rigid Areas", vertical2 );
tabs.addTab( "Vertical Box with Glue", panel );
getContentPane().add( tabs ); // place tabbed pane on content pane
setSize( 400, 220 );
setVisible( true );
} // end constructor
public static void main( String args[] )
{
Test application = new Test();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
这是具体的代码,不过这个看起来不方便,我抽取一些重要的说一下。
BoxLayout bl = new BoxLayout(jp2, BoxLayout.Y_AXIS);
jp2.setLayout(bl);
jp2.add(Box.createGlue());
我们使用这个代码就可以是我们的锁加上去的类似于按钮这样的东西可以进行竖直方向的排列了,其他的是虚的,主要决定排列方式的就是这一句BoxLayout.Y_AXIS,也就是最后决定的方法,其他的详情方法请参见API文档,或者是上述代码,上述代码,已经可以很详尽的说明这个Layout方法所能达到的效果了
- 大小: 14.9 KB
- 大小: 16.3 KB
分享到:
相关推荐
几个觉得布局还可以的门户网站
View的布局显示方式有下面几种:线性布局(LinearLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)、网格视图(GridView)、标签布局(TabLayout)、列表视图(ListView)、绝对布局(AbsoluteLayout...
简单的布局,适合初学者,先行布局,表格布局,绝对布局,相对布局
用Photoshop设计网页布局应注意的几个问题,包括网页文档尺寸与分辨率、颜色、字体字号、布局格式、图文搭配、参考线等。
flex布局与几个实例(含源码)
View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局...
指在同一个父容器中,子元素高度相等的布局. 从等高布局实现方式来说,又分为两类 伪等高 子元素高度差依然存在,只是视觉上给人感觉就是等高. 真等高 子元素高度相等 先来看看伪等高实现方式 通过负margin和Padding...
DIV+CSS经典布局,用来学习DIV+CSS不错
通过自定义扩展VirtualizingPanel,结合ListBox控件,实现了界面布局的灵活配置,支持1*2,1*3,2*2等任何布局方式,并且支持滚动条
本文主要讲了一下关于差分信号PCB布局布线时的几个常见误区,希望对你的学习有所帮助。
js的几个小弹框和div布局,左侧固定右边自适应的几个小例子
但这些高版本对一些常用的“老”器件已不支持,且其文本编辑器对汉字注释支持有点小问题),在我们使用过程中,发现布局布线(Place&Route)经常出现如下几个错误
> 骰子布局中主要强调几个属性的使用display justify-content align-items align-self等 .first-face { display: flex; justify-content: center; align-items: center; } .second-face { display: flex; ...
现在有些项目要求布局动态生成,我这个demo是通过一个xml的布局模板填充到代码中,在代码中直接写了一个填充布局的方法,通过调用这个方法,传入不同的参数实现动态添加布局,只需要抽取出你写好的死布局里面的几种...
这个对Web界面布局比较有帮助,感性趣的可以来看看!希望没有浪费你的积分……
vue项目多路由表头吸顶实现的几种布局方式 因为项目较大,有五个界面,每个界面有四个子组件,每个子组件都有一个table表格,需求是每个界面的每个table滚动到顶端表头吸顶,所以尝试用vux做这种需求, 一、先聊js。...
农产品仓储布局的问题主要有以下几个方面: 1. 仓储布局覆盖性不够:农产品仓储布局的覆盖性不够,无法满足农产品的仓储需求。 2. 农产品专用低温库、冷藏库严重短缺:我国农产品仓储设施不足,特别是低温库、冷藏...
用过win7或者正在用的朋友大概知道win7中有一个通过鼠标进行窗口布局的特效叫aero shake功能,而XP没有这个功能,如果您想让XP也拥有类似win7的这个功能的话,就要借助第3方软件来实现了,Shake4Xp就是一款XP仿win7...
讲述专利的挖掘方法,专利的布局,以及几个例子阐述专利发掘