Java Swing 绝对布局管理方法,null布局(转)

首先把相关容器的布局方式设为 setLayout(null);

然后调用组件的  setBounds() 方法

设置button的位置为(100,100) 长宽分别为 60,25

jButton.setBounds(new Rectangle(100, 100, 60, 25));

 

?

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.Toolkit;

 

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

 

public class Log extends JFrame {

    public static void main(String[] args) {

        Log log = new Log();

    }

    private JButton btLog;

    private JTextField tfUser;

    private JPasswordField tfPwd;

    private JCheckBox pwdKeep;

    private JComboBox adminType;

 

    public Log() {

        super("固定资产管理系统");

        super.setSize(380, 292);

        super.setVisible(true);

        super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        centered(this);

        btLog = new JButton("登     录");

        btLog.setBounds(new Rectangle(93, 220, 180, 30));//参数分别是坐标x,y,宽,高

        this.setLayout(null);//设置布局管理器为空

        this.add(btLog);

        tfUser = new JTextField();

        tfUser.setBounds(new Rectangle(73, 115, 220, 25));

        this.add(tfUser);

        tfPwd = new JPasswordField();

        tfPwd.setBounds(new Rectangle(73, 150, 220, 25));

        this.add(tfPwd);

        pwdKeep = new JCheckBox("记住密码");

        pwdKeep.setBounds(new Rectangle(68, 185, 110, 25));

        this.add(pwdKeep);

        adminType = new JComboBox(new String[] { "普通职员", "管理员", "高级管理员" });

        adminType.setBounds(new Rectangle(183, 185, 100, 25));

        this.add(adminType);

 

    }

//布局居中方法

    public void centered(Container container) {

        Toolkit toolkit = Toolkit.getDefaultToolkit();

        Dimension screenSize = toolkit.getScreenSize();

        int w = container.getWidth();

        int h = container.getHeight();

        container.setBounds((screenSize.width - w) / 2,

                (screenSize.height - h) / 2, w, h);

    }

}

 

 

http://www.cnblogs.com/taoweiji/archive/2013/02/17/2914311.html

时间: 2024-09-30 18:39:33

Java Swing 绝对布局管理方法,null布局(转)的相关文章

关于Java Swing中的repaint()方法及setVisible()的问题

问题描述 关于Java Swing中的repaint()方法及setVisible()的问题 我写了一个JFrame, 加了一个JComponent,进行一些处理后使用removeAll()移除了JComponent中的所有组件,然后调用add(JPanel)添加了一个新的组件,最后调用repaint()方法显示这个JPanel 这时发现JPanel无法显示,但调整窗口大小后就能显示 因为调整窗口大小不是会自动调用repaint()方法吗?但是我自己调用了啊为什么不会显示嘞. 接下来, 我在re

java Swing布局管理之BoxLayout布局_java

本文为大家解析java Swing布局管理中的BoxLayout布局,供大家参考,具体内容如下 BoxLayout:可以指定在容器中是否对控件进行水平或者垂直放置,比 FlowLayout 要更为灵活 BoxLayout与其他布局管理器稍有不同,必须向其构造函数中传递容器实例的引用,由该容器使用BoxLayout.另外必须指定BoxLayout中组件的布局方式:垂直排列(按列)或水平排列(按行).用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂.1.

【Android开发】布局管理器-帧布局

在XML布局文件中定义帧布局管理器的基本语法: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"   属性列表 > </FrameLayout> FrameLayout支持的XML属性: android:foreground设置该帧布局的前景图像 android:foregroundGravity定义绘制前景图像的gravity属性,即前景图像显示的位置 实现例子效果:

【Android开发】布局管理器-表格布局

在XML布局文件中定义表格布局管理器的基本语法: <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"   属性列表 >   <TableRow 属性列表> 需要添加的UI组件</TableRow>   多个TableRow </TableLayout> TableLayout支持的XML属性: android:collapseColumns设置要被

【Android开发】布局管理器-相对布局

在XML布局文件中定义相对布局管理器的基本语法: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   属性列表 > </RelativeLayout> RelativeLayout支持的XML属性: android:gravity用于设置布局管理器中各子组件的对其方式 android:ignoreGravity用于指定哪个组件不受gravity属性的影响 实例效

【Android开发】布局管理器-线性布局

这里实现垂直布局和水平布局: 垂直布局效果图: 实现代码: 垂直线性布局 res/layout/main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layou

JAVA图形界面(GUI)之布局管理器

一个友好的读者界面是一款软件成功的关键因素之一.布局管理器就是用来管理读者的界面.摆放的效果直接影响到界面是否美观.布局管理器通过布局管理类来对各种读者组件进行管理. 使用布局管理器,不仅可以有序的排列组件,而且当窗体发生变化时,布局管理器很根据新版面来适配窗口大小. 如果设计时未指定组件的布局管理器,则使用默认布局管理器.默认布局管理器层次关系如图所示: 下面为大家介绍几种常用的布局管理器. BorderLayout(边框布局) BorderLayout是定义在AWT包中的布局管理器.Bord

JAVA学习Swing章节流布局管理器简单学习

package com.swing; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:流(FlowLayout)布局管理器是布局管理器中最基本的布局管理器,流布局管理器在整个容器中 * 的布局正如其名,像流一样从左到右摆放组件,直到占据了这

Qt之布局管理器

简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当通过这种方式布局以后,它负责以下任务: 布置子控件. 最高层窗口可感知的默认大小. 最高层窗口可感知的最小大小. 调整大小的处理. 当内容改变的时候自动更新: 字体大小.文本或者子控件的其它内容. 隐藏或者显示子控件. 移除一些子控件. 简述 Qt的布局类 水平垂直网格表单布局 代码布局 为布局添加