Swing007——绝对布局

Posted 江州益彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swing007——绝对布局相关的知识,希望对你有一定的参考价值。

一、API简介



二、实例

2.1、分开设置按钮位置和大小

package com.absulote;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public interface TestNullLayout 
	public static void main(String[] args) 
		// 1、创建一个顶层容器
		JFrame jFrame = new JFrame("绝对布局");
		// 设置大小
		jFrame.setSize(500, 400);
		// 居中
		jFrame.setLocationRelativeTo(null);
		// 设置关闭时推出虚拟机JVM
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 创建一个中间容器
		JPanel jPanel = new JPanel(null);

		// 创建按钮
		JButton jButton1 = new JButton("按钮1");
		// 设置位置
		jButton1.setLocation(100, 100);
		// 设置按钮大小
		jButton1.setSize(80, 35);
		// 添加到指定位置
		jPanel.add(jButton1);

		// 将中间容器添加到顶层容器中
		jFrame.setContentPane(jPanel);
		// 显示窗口
		jFrame.setVisible(true);

	



2.2、同时设置按钮位置和大小

package com.absulote;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public interface TestNullLayout 
	public static void main(String[] args) 
		// 1、创建一个顶层容器
		JFrame jFrame = new JFrame("绝对布局");
		// 设置大小
		jFrame.setSize(500, 400);
		// 居中
		jFrame.setLocationRelativeTo(null);
		// 设置关闭时推出虚拟机JVM
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 创建一个中间容器
		JPanel jPanel = new JPanel(null);

		// 创建按钮
		JButton jButton1 = new JButton("按钮1");
		// 设置位置
		jButton1.setLocation(100, 100);
		// 设置按钮大小
		jButton1.setSize(80, 35);
		// 添加到指定位置
		jPanel.add(jButton1);

		// 创建按钮
		JButton jButton2 = new JButton("按钮2");
		// 设置位置和按钮大小
		jButton2.setBounds(200, 200, 120, 45);
		// 添加到指定位置
		jPanel.add(jButton2);

		// 将中间容器添加到顶层容器中
		jFrame.setContentPane(jPanel);
		// 显示窗口
		jFrame.setVisible(true);

	



2.3、设置按钮位置不随窗口大小变换而变换位置

package com.absulote;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public interface TestNullLayout 
	public static void main(String[] args) 
		// 1、创建一个顶层容器
		JFrame jFrame = new JFrame("绝对布局");
		// 设置大小
		jFrame.setSize(500, 400);
		// 居中
		jFrame.setLocationRelativeTo(null);
		// 设置关闭时推出虚拟机JVM
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 创建一个中间容器
		JPanel jPanel = new JPanel(null);

		// 创建按钮1
		JButton jButton1 = new JButton("按钮1");
		// 设置位置
		jButton1.setLocation(100, 100);
		// 设置按钮大小
		jButton1.setSize(80, 35);
		// 添加中间容器
		jPanel.add(jButton1);

		// 创建按钮2
		JButton jButton2 = new JButton("按钮2");
		// 设置位置和按钮大小
		jButton2.setBounds(200, 200, 120, 45);
		// 添加中间容器
		jPanel.add(jButton2);

		// 将中间容器添加到顶层容器中
		jFrame.setContentPane(jPanel);
		// 显示窗口
		jFrame.setVisible(true);

		// jFrame.setVisible(true);要放在前面,因为只有将面板添加到窗口才知道宽高
		// 创建按钮3
		JButton jButton3 = new JButton("按钮3");
		// 设置位置和按钮大小
		jButton3.setBounds(jPanel.getWidth() - 100, jPanel.getHeight() - 50, 120, 45);
		// 添加中间容器
		jPanel.add(jButton3);

	




修改窗口大小后

以上是关于Swing007——绝对布局的主要内容,如果未能解决你的问题,请参考以下文章

Java图形界面Swing

在JAVAswing布局设置FlowLayout和GridLayout中了怎么调节组件的大小。

java Swing组件随着窗口拖动等比移动或等比放大

Swing 7坐标陷阱与单个组件拖放

Java - Swing - 充满组件的窗口

java GridBagLayout布局,下面的代码怎么修改让一个按钮占两行一列,