Java摇摆 |哑光边框
MatteBorder 是一个类,用于制作纯色或平铺图标的无光泽边框。它是 javax.swing.border 包的一部分,包含不同样式的组件边框。此类帮助我们将图标或纯色设置为边框,边框的插图也可以使用此类应用。
类的构造函数是:
- MatteBorder(Icon tileIcon) :使用指定的平铺图标创建一个无光泽边框。
- MatteBorder(Insets borderInsets, Color matteColor) :使用指定的插图和颜色创建一个哑光边框。
- MatteBorder(Insets borderInsets, Icon tileIcon) :使用指定的插图和平铺图标创建一个哑光边框。
- MatteBorder(int top, int left, int bottom, int right, Color matteColor) :使用指定的插图和颜色创建一个遮罩边框。
- MatteBorder(int top, int left, int bottom, int right, Icon tileIcon) :使用指定的插图和平铺图标创建一个遮罩边框。
常用的方法有:
method explanation getBorderInsets() Returns the insets of the border. getBorderInsets(Component c, Insets insets) Reinitialize the insets parameter with this Border’s current Insets. getMatteColor()
Returns the color used for tiling the border or null if a tile icon is being used. getTileIcon() returns the title icon for the border isBorderOpaque() returns whether border is opaque or not
下面的程序说明了 MatteBorder 类:
- 使用纯色应用哑光边框的程序:我们将创建一个名为“frame”的框架f ,并将创建一个面板作为容器。我们将创建两个标签 l1 和 l。我们将使用 setborder()函数将两个框架的边框设置为哑光边框,一个标签将具有红色边框,另一个标签将具有蓝色边框。我们将标签添加到面板和面板到框架。我们将使用 setSize(400,400) 将框架的大小设置为 400,400,并使用 show() 显示框架。
Java
// java Program to apply matte border using solid colors
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
class matte1 extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
matte1 s = new matte1();
// create a panel
JPanel p = new JPanel();
// create a label
JLabel l = new JLabel(" this is a matte border 2");
// create a label
JLabel l1 = new JLabel(" this is a matte border 1");
// set border for panel
l.setBorder(new MatteBorder(4, 4, 4, 4, Color.red));
// set border for label
l1.setBorder(new MatteBorder(4, 4, 4, 4, Color.blue));
// add button to panel
p.add(l1);
p.add(l);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
}
Java
// java Program to apply matte border using icons
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
class matte extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
matte s = new matte();
// create a panel
JPanel p = new JPanel();
// create a label
JLabel l = new JLabel(" this is a matte border 2");
// create a label
JLabel l1 = new JLabel(" this is a matte border 1");
// set border for panel
l.setBorder(new MatteBorder(new ImageIcon("f:\\gfg.png")));
// set border for label
l1.setBorder(new MatteBorder(new ImageIcon("f:\\gfg.jpg")));
// add button to panel
p.add(l1);
p.add(l);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
}
Java
// java Program to apply matte border using
// solid color and image by specifying insets
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
class matte3 extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
matte3 s = new matte3();
// create a panel
JPanel p = new JPanel();
// create a label
JLabel l = new JLabel(" this is a matte border 2");
// create a label
JLabel l1 = new JLabel(" this is a matte border 1");
// set border for panel
l.setBorder(new MatteBorder(new Insets(4, 7, 4, 10), Color.red));
// set border for label
l1.setBorder(new MatteBorder(new Insets(10, 4, 10, 4), new ImageIcon("f:\\gfg.png")));
// add button to panel
p.add(l1);
p.add(l);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
}
- 输出:
- 使用图标应用哑光边框的程序:我们将创建一个名为“frame”的框架,并将创建一个面板作为容器。我们将创建两个标签 l1 和 l。我们将使用 setborder()函数将两个框架的边框设置为哑光边框,一个标签将有一个图像图标作为边框,另一个标签将有另一个图像图标。我们将使用新的 ImageIcon()函数导入图像。我们将标签添加到面板和面板到框架。我们将使用 setSize(400,400) 将框架的大小设置为 400,400,并使用 show() 显示框架。
Java
// java Program to apply matte border using icons
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
class matte extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
matte s = new matte();
// create a panel
JPanel p = new JPanel();
// create a label
JLabel l = new JLabel(" this is a matte border 2");
// create a label
JLabel l1 = new JLabel(" this is a matte border 1");
// set border for panel
l.setBorder(new MatteBorder(new ImageIcon("f:\\gfg.png")));
// set border for label
l1.setBorder(new MatteBorder(new ImageIcon("f:\\gfg.jpg")));
// add button to panel
p.add(l1);
p.add(l);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
}
- 输出:
- 通过指定 insets 使用纯色和图像应用哑光边框的程序:我们将创建一个名为“frame”的框架 f,并将创建一个充当容器的面板。我们将创建两个标签 l1 和 l。我们将使用 setborder()函数将两个框架的边框设置为哑光边框,一个标签将有一个图像图标作为边框,另一个标签将有另一个图像图标。我们将使用新的 ImageIcon()函数导入图像。我们将使用新的 Insets()函数指定边框的插入或宽度。我们将标签添加到面板和面板到框架。我们将使用 setSize(400,400) 将框架的大小设置为 400,400,并使用 show() 显示框架。
Java
// java Program to apply matte border using
// solid color and image by specifying insets
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
class matte3 extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
matte3 s = new matte3();
// create a panel
JPanel p = new JPanel();
// create a label
JLabel l = new JLabel(" this is a matte border 2");
// create a label
JLabel l1 = new JLabel(" this is a matte border 1");
// set border for panel
l.setBorder(new MatteBorder(new Insets(4, 7, 4, 10), Color.red));
// set border for label
l1.setBorder(new MatteBorder(new Insets(10, 4, 10, 4), new ImageIcon("f:\\gfg.png")));
// add button to panel
p.add(l1);
p.add(l);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
}
- 输出: