java边界布局中怎么调面板大小

Python011

java边界布局中怎么调面板大小,第1张

布局管理器。通常java边界布局可以通过布局管理器进行调整面板大小。Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

java我的世界加入边界的是最新版。边界只能由拥有世界建造者或操作员权限的创造模式玩家放置或摧毁,通常用来阻止学生进入特定区域。当边界被放置时,其上方和下方会发出红色粒子,并且会阻止除旁观模式玩家与拥有权限的创造模式玩家以外的所有玩家通过。可以通过投掷末影珍珠或使用命令越过边界。

// 该程序实现了,拖拽frame,遇到边缘则隐藏的功能。

import java.awt.Point

import java.awt.Rectangle

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.awt.event.MouseAdapter

import java.awt.event.MouseEvent

import java.awt.event.MouseMotionAdapter

import javax.swing.JFrame

import javax.swing.Timer

public class MyFrame implements ActionListener {

private static final long serialVersionUID = 1L

private Rectangle rect

// 窗体屏幕左边的距离

private int left

// 窗体离屏幕右边的距离;

private int right

// 屏幕的宽度;

private int screenXX

// 窗体离屏幕顶部的距离

private int top

// 窗体的宽

private int width

// 窗体的高

private int height

// 鼠标在窗体的位置

private Point point

private Timer timer = new Timer(10, this)

private int xx, yy

private boolean isDraging = false

private JFrame jFrame = new JFrame()

public MyFrame() {

super()

timer.start()

jFrame.setTitle("窗体在屏幕边缘隐藏演示")

jFrame.setSize(400, 300)

jFrame.setLocation(400, 300)

jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

jFrame.setAlwaysOnTop(true)

jFrame.setUndecorated(true)

jFrame.setVisible(true)

moveFrame()

}

public void actionPerformed(ActionEvent e) {

left = jFrame.getLocationOnScreen().x

top = jFrame.getLocationOnScreen().y

width = jFrame.getWidth()

height = jFrame.getHeight()

screenXX = java.awt.Toolkit.getDefaultToolkit().getScreenSize().width

right = screenXX - left - width

// 获取窗体的轮廓

rect = new Rectangle(0, 0, width, height)

// 获取鼠标在窗体的位置

point = jFrame.getMousePosition()

if (left <0 &&isPtInRect(rect, point)) {

jFrame.setLocation(0, top)// 隐藏在左边,鼠标指到后显示窗体;

} else if (left >-5 &&left <5 &&!(isPtInRect(rect, point))) {

jFrame.setLocation(left - width + 1, top)// 窗体移到左边便边缘隐藏到左边;

} else if ((top <0 &&left <0) &&isPtInRect(rect, point)) {//窗体在左上角;

jFrame.setLocation(0, 0)// 窗口隐藏了,鼠标指到他,就显示出来;

} else if ((top >-5 &&top <5) &&(left >-5 &&left <5)

&&!(isPtInRect(rect, point))) {

// 当窗体的上边框与屏幕的顶端的距离小于5时 ,

// 并且鼠标不再窗体上将窗体隐藏到屏幕的顶端

jFrame.setLocation(left - width + 1, 1)

} else if ((top <0) &&isPtInRect(rect, point)) {

jFrame.setLocation(left, 0)// 窗口隐藏了,鼠标指到他,就显示出来;

} else if (top >-5 &&top <5 &&!(isPtInRect(rect, point))) {

// 当窗体的上边框与屏幕的顶端的距离小于5时 ,

// 并且鼠标不再窗体上将窗体隐藏到屏幕的顶端

jFrame.setLocation(left, 1 - height)

} else if (right <0 &&isPtInRect(rect, point)) {

jFrame.setLocation(screenXX - width + 1, top)// 隐藏在右边,鼠标指到后显示;

} else if (right >-5 &&right <5 &&!(isPtInRect(rect, point))) {

jFrame.setLocation(screenXX - 1, top)// 窗体移到屏幕右边边缘隐藏到右边;

} else if (right <0 &&top <0 &&isPtInRect(rect, point)) {//窗体在右上角;

jFrame.setLocation(screenXX - width + 1, 0)// 隐藏在右边,鼠标指到后显示;

} else if ((right >-5 &&right <5) &&(top >-5 &&top <5)

&&!(isPtInRect(rect, point))) {

jFrame.setLocation(screenXX - 1, 1)// 窗体移到屏幕右边边缘隐藏到右边;

}

}

public boolean isPtInRect(Rectangle rect, Point point) {

if (rect != null &&point != null) {

int x0 = rect.x

int y0 = rect.y

int x1 = rect.width

int y1 = rect.height

int x = point.x

int y = point.y

return x >= x0 &&x <x1 &&y >= y0 &&y <y1

}

return false

}

public void moveFrame() {

jFrame.addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent e) {

isDraging = true

xx = e.getX()

yy = e.getY()

}

public void mouseReleased(MouseEvent e) {

isDraging = false

}

})

jFrame.addMouseMotionListener(new MouseMotionAdapter() {

public void mouseDragged(MouseEvent e) {

if (isDraging) {

int left = jFrame.getLocation().x

int top = jFrame.getLocation().y

jFrame.setLocation(left + e.getX() - xx, top + e.getY()

- yy)

jFrame.repaint()

}

}

})

}

public static void main(String[] args) {

new MyFrame()

}

}