标题Java setOpaque(false) 使用方法
及设置背景
package WIN;
import java.awt.Color;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class MainJFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = -7102537269563953544L;
public void Icon(){
}
public MainJFrame() {
//Set title
super("Lan");
//Set size
setSize(1600,980);
//Setposition
setLocation(200, 50);
//背景图片的路径。(相对路径或者绝对路径。本例图片放于"java项目名"的文件下)
String path = "background.jpg";
// 背景图片
ImageIcon background = new ImageIcon(path);
// 把背景图片显示在一个标签里面
JLabel label = new JLabel(background);
// 把标签的大小位置设置为图片刚好填充整个面板
label.setBounds(0, 0, this.getWidth(), this.getHeight());
// 把内容窗格强制转化为JPanel,否则不能用方法setOpaque(false)来使内容窗口透明
JPanel imagePanel = (JPanel) this.getContentPane();
imagePanel.setOpaque(false);
// 把背景图片添加到分层窗格的最底层作为背景
this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
JPanel panel=new JPanel();
panel.setLayout(null);
panel.setOpaque(false);
label.add(panel);
panel.setBounds(200, 300, 500, 400);
//Id
JLabel label2=new JLabel("账号 :");
panel.add(label2);
label2.setBounds(100,80,50,40);
label2.setFont(new Font("华文彩体",Font.HANGING_BASELINE,18));
label2.setOpaque(false);
//
JTextField textField=new JTextField();
panel.add(textField);
textField.setBackground(Color.green);
textField.setBounds(160,80,200,34);
textField.setOpaque(false);
textField.setBackground(Color.black);
//password
JLabel label3=new JLabel("密码 :");
panel.add(label3);
label3.setBounds(100, 125, 50, 40);
label3.setFont(new Font("华文彩体",Font.HANGING_BASELINE,18));
label3.setOpaque(false);
// Set object To JPasswordField
JPasswordField jp = new JPasswordField(30);
panel.add(jp);
jp.setEchoChar('\u2605');//'\u2605' is star shape
jp.setOpaque(false);
jp.setBounds(160, 125, 200, 34);
//按钮块
JButton jButton=new JButton("登录");
panel.add(jButton);
jButton.setBounds(170, 175, 60, 30);
jButton.setFont(new Font("华文彩体",Font.HANGING_BASELINE,13));
jButton.setOpaque(false);
jButton.setBackground(Color.green);
//
JButton jButton2=new JButton("注册");
panel.add(jButton2);
jButton2.setBounds(270, 175, 60, 30);
jButton2.setBackground(Color.green);
jButton2.setFont(new Font("华文彩体",Font.HANGING_BASELINE,13));
jButton2.setOpaque(false);
//设置可见
setVisible(true);
//点关闭按钮时退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MainJFrame();
}
}
效果图