java Swing组件和事件处理(二)

1、BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing  border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一个盒式布局,不   允许盒式容器的布局。在策划程序布局的时候,可以利用容器的嵌套,将某个容器嵌入几个盒式容器,达到布局的目的。

使用盒式布局的容器组件将排列一行或一列,这取决于创建盒式布局对象时,是否确定行的排列和列的排列,

package com.Example2;

import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Example9_2 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        WinBoxLayout win = new WinBoxLayout();
        win.setBounds(100, 100, 343, 333);
        win.setTitle("嵌入式布局容器");

}

}

class WinBoxLayout extends JFrame {
    Box baseBox, box1, box2;

public WinBoxLayout() {
        setLayout(new java.awt.FlowLayout());
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

void init() {
        box1 = Box.createVerticalBox();
        box1.add(new JLabel("name"));
        box1.add(Box.createVerticalStrut(8));

box1.add(new JLabel("email"));
        box1.add(Box.createVerticalStrut(8));

box1.add(new JLabel("carrer"));

box2 = Box.createVerticalBox();
        box2.add(new JTextField(10));
        box2.add(Box.createVerticalStrut(8));
        box2.add(new JTextField(10));
        baseBox = Box.createHorizontalBox();
        baseBox.add(box1);
        baseBox.add(box2);
        baseBox.add(Box.createHorizontalStrut(10));
        add(baseBox);

}
}

2、null 布局

可以把一个布局设置成NULL(空)布局,空布局容器可以准确的定位组件在容器的位置和大小,setBounds()

原文地址:https://www.cnblogs.com/xinxianquan/p/9425576.html

时间: 2024-11-12 15:31:06

java Swing组件和事件处理(二)的相关文章

java Swing组件和事件处理

1.常见的容器 JComponent是 Container 的子类,中间容器必须添加到底层容器中才能够发挥作用, JPanel 面板 :使用jPanel 创建一个面板,再通过添加组件到该面板上面,JPanel默认的布局方式是FlowLayout JScrollPanel 滑动窗格:  滑动窗格只可以添加一个组件,可以将一个组件放到滑动窗格中,通过滚动条查看,JTextArea不带滚动条可以放到JScrollPanel中. JScorollPanel scroll=new JScorollPane

JAVA Swing 组件演示***

下面是Swing组件的演示: package a_swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.Ac

java Swing组件之JSplitPane使用

使用 JSplitPane.HORIZONTAL_SPLIT 可让分隔窗格中的两个 Component 从左到右排列,或者使用 JSplitPane.VERTICAL_SPLIT 使其从上到下排列.改变 Component 大小的首选方式是调用 setDividerLocation,其中 location 是新的 x 或 y 位置,具体取决于 JSplitPane 的方向. 要将 Component 调整到其首选大小,可调用 resetToPreferredSizes. 1.常见构造方法 JSp

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

实现原理很简单, 1清空布局(使用绝对布局) 2添加监听器(监听窗口是否被拖动) 3在监听器里面动态调整 组件的位置 效果如下: 拖动之后效果: 代码实现: import java.awt.EventQueue; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import javax.swing.JFrame; import javax.swing.JLabel; import java

Java Swing组件JScrollPane

当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到.滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板.JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件.JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中.这样,从界面上看,在滚动面板上,好像也有多个组件.在S

Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)

本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力. 首先看一下效果图吧, 原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label用来分别显示进度和进度信息,而Dialog的宽度和高度正是闪屏图片的宽度和高度.然后将闪屏图片贴到Dialog中作为整个窗体的背景,Dialog显示时覆盖闪屏所处的区域.由于Dialog显示时闪屏并没有消失,且Dialog的X.Y及宽高都与闪屏图片一致,因此实际切换时,非常流畅,用户感觉不到有异常,

【Java Swing探索之路系列】之三:Java Swing布局管理器组件

作者:郭嘉 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 BorderLayout BorderLayout是一种简单的布局策略,可以将其看作一个组件.它把容器分为东.南.西.北.中5个区域,每个组件将占据某个区域.而 这5个区域分别被命名为NORTH, WEST, EAST, CENTER, SOUTH,它们都被定义为静态 常量.静态常量可以直接引用,如

Java Swing界面编程(24)---事件处理:键盘事件及监听处理

在Swing的事件处理中也可以对键盘的操作进行监听,直接使用KeyListener接口即可. package com.beyole.util; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax

Java Swing界面编程(25)---事件处理:鼠标事件及监听处理

如果想对一个鼠标的操作进行监听,如果鼠标按下.松开等,则可以使用MouseListener接口. package com.beyole.util; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import