swing-JPanel-背景图片

JPanel没有直接设置背景图片的方法。如果你想做成有背景的jpanel,需要自己继承JComponent,重载paintComponent,画出设置的壁纸。很简单代码:

问题

很显然这白的颜色太难看了,要去掉就需要这样设置一下:

/setOpaque()/如果为 true,则该组件绘制其边界内的所有像素。

jslider.setOpaque(false);

package com.swing.panel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;

public class Demo extends JFrame {
	
	private boolean isShowing;
	private JLabel jlabel;
	private JPanelWithPhoto jpanel;
	private JButton jbutton1;
	private JButton jbutton2;
	private JSlider jslider;
	private JLabel jlabel2;
	private JLabel jlabel3;
	
	public Demo(){
		init();
	}
	
	public void init(){
		isShowing = false ;
		jlabel = new JLabel();
		jlabel.setForeground(Color.red);
		//jlabel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Tweaking Tooltips", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), java.awt.Color.red));
			
		jlabel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "good", TitledBorder.DEFAULT_POSITION	, TitledBorder.DEFAULT_POSITION	, new Font("utg-8", 0, 23), Color.green	));
		jlabel.setText("<html>\n<body>\n<center>\n<h2>\nPACIFIC OCEAN\n</h2>\n<p>\n<strong>\n<em>\nIt has been snowing for thousands of years!\n</em>\n</strong>\n</p>\n</center>\n</body>\n</html>");
	    
		jbutton1 = new JButton();
	    jbutton1.setText("begin....");
	    jbutton1.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				if(isShowing == true){
					jbutton1.setText("end!!!");
				}else{
					jbutton1.setText("begin...");
				}
				
			}
		});
	    jbutton2 = new JButton();
	    jbutton2.setText("stop");
	    jbutton2.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
				}
		});
	    
		jslider = new JSlider();
		j
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值