📄 borderdemowithicon.java
字号:
package swing.border;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.MatteBorder;
import swing.WindowDestroyer;
/**
Class to demonstrate adding icons to a border.
*/
public class BorderDemoWithIcon extends JFrame implements ActionListener
{
public static final int WIDTH = 400;
public static final int HEIGHT = 300;
private JTextField name;
public BorderDemoWithIcon()
{
setTitle("Name Tester with Borders");
setSize(WIDTH, HEIGHT);
addWindowListener(new WindowDestroyer());
Container content = getContentPane();
content.setLayout(new GridLayout(2, 1));
JPanel namePanel = new JPanel();
namePanel.setLayout(new BorderLayout());
namePanel.setBackground(Color.WHITE);
name = new JTextField(20);
//The following border is not as dramatic as others,
//but look closely and you will see it.
name.setBorder(new EtchedBorder(Color.GREEN, Color.BLUE));
namePanel.add(name, BorderLayout.SOUTH);
JLabel nameLabel = new JLabel("Enter your name here:");
//The following does insert space around the label.
//To see the difference, comment out the following line:
nameLabel.setBorder(new EmptyBorder(20, 10, 0, 0));
namePanel.add(nameLabel, BorderLayout.CENTER);
namePanel.setBorder(new LineBorder(Color.BLACK, 10));
content.add(namePanel);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
JButton testButton = new JButton("Test");
testButton.addActionListener(this);
testButton.setBorder(new BevelBorder(BevelBorder.LOWERED));
buttonPanel.add(testButton);
JButton clearButton = new JButton("Clear");
clearButton.addActionListener(this);
clearButton.setBorder(new BevelBorder(BevelBorder.RAISED));
buttonPanel.add(clearButton);
ImageIcon smileyIcon = new ImageIcon(this.getClass().getResource("smiley.gif"));
buttonPanel.setBorder(
new MatteBorder(60, 40, 30, 20, smileyIcon));//带一个图标边框
content.add(buttonPanel);
}
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand().equals("Test"))
name.setText("A very good name!");
else if (e.getActionCommand().equals("Clear"))
name.setText("");
else
name.setText("Error in window interface.");
}
public static void main(String[] args)
{
BorderDemoWithIcon w = new BorderDemoWithIcon();
w.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -