swing分组框
来源:互联网 发布:淘宝退款空包 编辑:程序博客网 时间:2024/06/05 22:44
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.GridLayout;
- import javax.swing.BorderFactory;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- public class JFrameBackground extends JFrame {
- public JFrameBackground(){
- this.setTitle("我的swing界面");
- this.setLayout(new FlowLayout());
- JPanel buttonPanel = new JPanel();
- buttonPanel.setBorder(BorderFactory.createTitledBorder("分组框")); //设置面板边框,实现分组框的效果,此句代码为关键代码
- buttonPanel.setBorder(BorderFactory.createLineBorder(Color.red));//设置面板边框颜色
- JButton button = new JButton("我的按钮");
- buttonPanel.add(button);
- this.setSize(300, 300);
- this.getContentPane().add(buttonPanel);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setVisible(true);
- }
- public static void main(String[] args) {
- new JFrameBackground();
- }
- }
对Swing Border的一个小总结:
使用方法:
TitledBorder nameTitle =new TitledBorder("FileName List");
JPanel panel1 = new new JPanel()
panel1.setBorder(nameTitle);
TitledBorder 该类实现在指定位置以指定对齐方式显示字符串标题的任意边框。
EtchedBorder 该类实现简单的浮雕化边框,它既可以是阴刻浮雕化边框,也可以是LineBorder 阳刻浮雕化边框。如果创建边框时未初始化任何高亮/阴影颜色,则这些颜色将从传递给 paintBorder() 方法的组件参数的背景色动态派生。
实现单色、任意厚度线边框的类。
MatteBorder 该类提供类似衬边的边框,衬边图案既可以是纯色也可以是平铺的图标。
BevelBorder 该类实现简单的双线斜面边框。
SoftBevelBorder实现某种斜面的类,这种斜面要么凸出要么凹入且拐角圆滑。
CompoundBorder一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。
例子:
- // : c14:Borders.java
- // Different Swing borders.
- // <applet code=Borders width=500 height=300></applet>
- // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
- // www.BruceEckel.com. See copyright notice in CopyRight.txt.
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Container;
- import java.awt.GridLayout;
- import javax.swing.JApplet;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.border.BevelBorder;
- import javax.swing.border.Border;
- import javax.swing.border.CompoundBorder;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- import javax.swing.border.MatteBorder;
- import javax.swing.border.SoftBevelBorder;
- import javax.swing.border.TitledBorder;
- public class Borders extends JApplet {
- static JPanel showBorder(Border b) {
- JPanel jp = new JPanel();
- jp.setLayout(new BorderLayout());
- String nm = b.getClass().toString();
- nm = nm.substring(nm.lastIndexOf('.') + 1);
- jp.add(new JLabel(nm, JLabel.CENTER), BorderLayout.CENTER);
- jp.setBorder(b);
- return jp;
- }
- public void init() {
- Container cp = getContentPane();
- cp.setLayout(new GridLayout(2, 4));
- cp.add(showBorder(new TitledBorder("Title")));
- cp.add(showBorder(new EtchedBorder()));
- cp.add(showBorder(new LineBorder(Color.BLUE)));
- cp.add(showBorder(new MatteBorder(5, 5, 30, 30, Color.GREEN)));
- cp.add(showBorder(new BevelBorder(BevelBorder.RAISED)));
- cp.add(showBorder(new SoftBevelBorder(BevelBorder.LOWERED)));
- cp.add(showBorder(new CompoundBorder(new EtchedBorder(),
- new LineBorder(Color.RED))));
- }
- public static void main(String[] args) {
- run(new Borders(), 500, 300);
- }
- public static void run(JApplet applet, int width, int height) {
- JFrame frame = new JFrame();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().add(applet);
- frame.setSize(width, height);
- applet.init();
- applet.start();
- frame.setVisible(true);
- }
- } ///:~
阅读全文
0 0
- swing分组框
- swing中JPanel如何实现分组框的效果以及设置边框颜色
- JAVA swing中JPanel如何实现分组框的效果以及设置边框颜色
- swing中JPanel如何实现分组框的效果以及设置边框颜色
- swing中JPanel如何实现分组框的效果以及设置边框颜色
- 分组框控件GroupBox(分组类控件)
- Swing提示框
- Swing 提示框
- Swing 各种提示框
- Java swing 下拉框
- Swing提示框
- swing中选择框
- Swing之下拉框
- Swing各种提示框
- java Swing 选择框
- Swing 各种提示框
- java swing 提示框
- Swing
- BZOJ 4916: 神犇和蒟蒻 杜教筛 数学
- Zookeeper + ActiveMQ 集群
- 【AtCoder Grand 015C】Nuske vs Phantom Thnook 题解
- 聊聊 Xcode 编译 ToolChain
- python中解析和生成pdf文件
- swing分组框
- React-Component(组件)
- 在树莓派上搭建LAMP服务
- 笔试编程经典(leetcode在线编程)
- android studio——替换全局的某个字符串
- 关于Objective C运行时(runtime)技术的几个要点总结
- java使用HttpClient模拟发送http的get、post请求
- Python的urllib3软件包详解
- [转] MySQL死锁问题分析及解决方法实例详解