十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
按钮只能是个矩形,按你是意思,应该是不显示按钮的边框,只显示图标是吧。
创新互联建站是一家专业从事成都网站制作、成都网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联建站依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!
你可以设置按钮背景为透明,设置边框为null
but.setBackground(new Color(255,255,255)); //but是按钮名称
but.setBorder(null); //but是按钮名称
我刚写的一个点击按钮交替变换图标的程序,代码如下:
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
//变换按钮图标
public class Button_Icon extends JFrame implements ActionListener{
private Container con;
private JButton but;
private Icon ic;
public Button_Icon() {
this.setTitle("欢迎");
this.setBounds(200, 200, 200, 234); //滑漏洞标搜历题栏高34
con=this.getContentPane();
con.setLayout(null);
Cursor cs=new Cursor(Cursor.HAND_CURSOR);
ic=new ImageIcon("j:\\Screenshot.png");
but=new JButton(ic);
but.setBounds(60, 70, 80, 60);
but.addActionListener(this);
but.setCursor(cs);
but.setBackground(new Color(255,255,255));
but.setBorder(null);
con.add(but);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
Icon ic2=but.getIcon();
if(ic2==null){but.setIcon(ic);}
else {but.setIcon(null);}
}
public static void main(String[] args) {
new Button_Icon();
}
}
你可信枯以看下效果,看是不是你想要的。
你的背景图片的Java程序,我帮你改完了,你看看吧(只是改了JM();构造函数中的内容,去掉了setOpaque函数,其它的地方没动)
import javax.swing.*;
public class JM extends JFrame {
JLabel yh = new JLabel("用户名");
JLabel mm = new JLabel("密码");
JTextField yh1 = new JTextField(15);
JPasswordField mm1 =new JPasswordField(15);
哗散宽JRadioButton jmm = new JRadioButton("记住密码");
JButton dl =new JButton("登陆");
JButton qx = new JButton("取消");
JButton zc = 掘慧new JButton("注册");
public JM (){
this.setTitle("登陆界面");
this.setSize(300, 270);
JPanel c = (JPanel)this.getContentPane();
c.setLayout(null);
//Container c = this.getContentPane();
yh.setBounds(20, 0, 100, 100);
yh1.setBounds(70,37, 200, 27);
mm.setBounds(20, 30, 100, 100);
mm1.setBounds(70, 67, 200,27);
jmm.setBounds(70, 95, 80, 30);
dl.setBounds(70, 135, 60, 35);
qx.setBounds(135, 135, 60, 35);
zc.setBounds(200, 135, 60, 35);
c.add(yh);
c.add(yh1);
c.add(mm);
c.add(mm1);
乱亮c.add(jmm);
c.add(dl);
c.add(qx);
c.add(zc);
JLabel bg = new JLabel(new ImageIcon("006Cx3u5ly1fbz7xwdx1sj30i40dydg4.jpg"));
bg.setBounds(0, 0, 300, 270);
c.add(bg);
c.setOpaque(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
//private void setOpaque(boolean b) {
// TODO Auto-generated method stub
//}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JM();
}
}
运行结果
这是我以前的一个小代码你可以看看
public class demo_9 extends JFrame {
JSplitPane jsp = null;
JList jlist;
JLabel jlabel;
public static void main(String[] args) {
demo_9 a = new demo_9();
}
public demo_9(){
String []words ={"boy","girl"};
JList jlist = new JList(words);
jlabel = new JLabel(new ImageIcon("Image//真颂吵三.gif")); //这里就是引入图片了
//拆分窗格
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jlabel);
jsp.setDividerLocation(70);
//设置可以伸缩
jsp.setOneTouchExpandable(true);
this.add(jsp);
this.setTitle("test");
this.setSize(400,300);
this.setLocation(400,200);
this.setVisible(true);
}
}
步骤:首先先在project里新建个文件夹(Folder),然谨腊后把你要插入的图片复制黏贴到这个文件祥樱滑夹里面。
例如我那个引入的图片代码:jlabel = new JLabel(new ImageIcon("Image//真三.gif"));
我new一个folder叫Image,图片名称叫"真三.gif"
一个图片时你知道,现在只是切悔御换的问碧配岩题?
给按钮添加一个 ActionListener,在它卖携的 actionPerformed 方法中做你的事情,把 jpanel.setIcon(..) 换张图片。