javaswing中怎样使用绝对布局
Swing 中窗体具有默认的布局管理器,如JFrame 使用是边界布局。虽然布局管理器能够简化程序的开发,但是为了获取最大的灵活性,可以使用绝对布局,即不使用任何布局管理器,是哦那个该布局的步骤如下:(1) 使用Container.setLayout(null)方式取消布局管理器。(2)使用Component.setBounds()方法来设置每个控件的大小与位置。
Java Swing初学,JFrame中的JLabel等元素紧靠边界,这个距离怎么写?
先要新建一个JPanel主面板,然后设置边距jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距具体实例import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;public class JPanelTest { public static void main(String[] args) { JFrame jFrame=new JFrame("JPanel面板测试"); JPanel jPanel=new JPanel(); jPanel.setLayout(new GridLayout(3, 2, 10, 10)); jPanel.setBorder(new EmptyBorder(10, 10, 10, 10)); // 设置边距 jFrame.add(jPanel); JLabel jl1=new JLabel("用户名:"); JTextField jtf=new JTextField(); JLabel jl2=new JLabel("密码:"); JPasswordField jpf=new JPasswordField(); JButton jb1=new JButton("登陆"); JButton jb2=new JButton("重置"); jPanel.add(jl1); jPanel.add(jtf); jPanel.add(jl2); jPanel.add(jpf); jPanel.add(jb1); jPanel.add(jb2); jFrame.setLocation(400, 200); jFrame.setSize(250, 150); jFrame.setVisible(true); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }} 运行效果图
Java Swing 中的setsize()在使用布局管理器的时候是失效的吗?
JFrame 缺省布局使用的是边界布局管理器(BorderLayout).
JPanel 缺省布局使用的是流式布局管理器(FlowLayout).
边界布局管理器(BorderLayout)是将容器控件划分为上北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST)、中间(CENTER)五个位置,使用此局布的时候可以将控件分别放置在这五个位置上进行显示.
流式布局管理器(FlowLayout)是按控件的放入顺序进行从左到右的排列,一行满了再自动换到下一行继续进行排列.
Swing,什么是布局管理器?
Java是跨平台语言,使用绝对坐标显然会导致问题,即在不同平台、不同分辨率下的显示效果不一样。Java为了实现跨平台的特性并且获得动态的布局效果,Java将容器内的所有组件安排给一个“布局管理器”负责管理,如:排列顺序,组件的大小,位置等,当窗口移动或调整大小后组件如何变化等功能授权给对应的容器布局管理器来管理,不同的布局管理器使用不同算法和策略,容器可以通过选择不同的布局管理器来决定布局。