我不太清楚VS2008,但我知道VB的“相对”:
vb里“绝对布局”是以整个窗体的长宽(height、width)做标准,搭启
比如按钮1(command1)要在窗体中央,
那么就把代码写在窗体变化的事件中(form_resize),
command1顶端窗体距顶端距离为窗体高度的1/2,左端距窗体顶端距离为窗宽度的1/2。这样command1的位明枝迟置就相对固定。
JPanel 放入到BorderLayout.CENTER , 那么会自动填充满整个contentPane的中间, 而JPanel内部还是流式布局, 一行排满 自动换到下一行,从上到下. 所以按钮还是在最上面.
(把JPanel的背景色改成蓝色,就可以清晰的看到JPanel填满了窗口)
解决办法:
方法一: [绝对布局],通过设置panel 为绝对布局,然后设置按钮的宽高和位置
参考代码
import javax.swing.*public class JFDemo1 extends JFrame{
public JFDemo1() {
JPanel panel=new JPanel()
panel.setLayout(null)//设置为空布局.或者叫绝对布局
JButton messageButton = new JButton("OK")
JButton closeButton = new JButton("Cancel")
panel.add(messageButton)
panel.add(closeButton)
//粗略的指定下位置,如果要精确的位置,需要进行计算
closeButton.setSize(80, 30)// 指定宽高
closeButton.setLocation(160, 75)//指定胡桥昌位置
messageButton.setBounds(80, 75, 60,30)// 同时指定宽高和位置
add(panel)//默认位置就是BorderLayout.CENTER
setTitle("Demo")// 标题
setSize(320, 230)// 窗口大小
setLocationRelativeTo(null)// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE)// 窗口点击关闭时,退出程序
}
public static void main(String[] args) {
new JFDemo1().setVisible(true)
}
}
方法二:[盒布局]
import javax.swing.*public class JFDemo2 extends JFrame{
public JFDemo2() {
JPanel pane=new JPanel()
BoxLayout layout=new BoxLayout(pane, BoxLayout.X_AXIS)// 水平的盒布局
pane.setLayout(layout)
JButton messageButton = new JButton("OK")
JButton closeButton = new JButton("Cancel")
pane.add(Box.createGlue()) // 挤占ok按钮和窗口左侧空间
pane.add(messageButton)
pane.add(Box.createHorizontalStrut(20))// 按钮之间的水平距离
pane.add(closeButton)
pane.add(Box.createGlue()) // 挤占cancel按钮和窗口右侧空间
add(pane)
setTitle("消游Demo")// 标题
setSize(320, 230)// 窗口大小
setLocationRelativeTo(null)// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE)// 窗口点击关闭时,退出程序
}
public static void main(String[] args) {
new JFDemo2().setVisible(true)
}
}
总结: 推荐使用方法二,使用盒布局来实现.
一般不推荐使用绝对布局/空布局 来布局窗口, 因为不同的 *** 作系统下显示的效果不完全一致.
并且还需要写大量的代码来计算组件的大小和位置, 当窗口放大裤扒和缩小时 还需要重新计算位置
1、首先设置要了解网页页面布局框架结构,设定宽高和边框誉大,以及设置好class或者ID名称。
2、打开Dreamweaver CS5,点击新建HTML。
3、根据设定的网页布局,设置div网页结庆滑竖构。
4、添加让肢div标签的class名称,这里也可以使用ID类名。
5、 编辑CSS控制div块的宽高和背景。
6、 这样就可以让子元素置于底部。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)