java透明按钮颜色代码 Java按钮颜色

JAVA Swing中JButton按下后变色

这种一般通过改对应的UI类来实现,如果不想该UI类(有点复杂),下面的方式也行:

成都创新互联网络公司拥有10余年的成都网站开发建设经验,上1000家客户的共同信赖。提供网站建设、成都网站建设、网站开发、网站定制、外链、建网站、网站搭建、自适应网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

class MyButton extends JButton{

MyButton(String txt){     

super(txt); 

this.setOpaque(false); // 设置为透明

}  

public void paint(Graphics g) {

g.fillRect(0,0,getWidth(),getHieght()); // 自己绘制背景

super.paint(g); 

}

JAVA中的JButton的背景颜色设置问题。用的是MacBook pro,用eclipse写的。

mac os 默认的border是aqua border(look and feel设置),这个border是一个灰白色填充外加灰色边界的矩形,在初始化button的时候默认是显示border的,所以你会发现这个aqua border layer把你的button覆盖了。此时button上的图层从底向上分别是backgroundforegroundborder layer.所以你看到的灰白色其实是你的默认border。

设置button颜色的解决有两种,你可以设置background颜色,然后设置button foreground透明,border层不显示。

button.setBackground(Color.RED);//设置background颜色

button.setOpaque(true); //foreground设置透明

button.setBorderPainted(false); //最后显示红色

或者设置foreground颜色,这样会把background盖住,然后设置border层不显示。

button.setBackGround(Color.RED); // 随便设,反正会被盖

button.setForeGround(Color.BLUE); //盖住背景色

button.setBorderPainted(false); //最后显示蓝色

另外,你也可以自己设置一个lineBorder代替mac os默认的aqua border。

originBorder=BorderFactory.createLineBorder(Color.LIGHT_GRAY, 1);//这个是windows的默认border

button.setForeGround(Color.BLUE);

button.setBorder(originBorder);//最后会显示一个蓝色,带浅灰边框的button

这个问题在window是不存在的,因为window的默认border是swing border,是无填充透明边界,不会盖住foreground layer和background layer。所以你在windows情况下只要设置好前景色背景色的覆盖关系就行了(比如设置button透明并设置背景色,或者直接设置前景色)。

覆盖关系,覆盖关系,覆盖关系。重说三。

另外mac第三种解决方式:自己网上关键字查找mac java swing look and feel,下载对应的包加入自己的库,然后在swing的window或者panel主函数第一句先:

try{

UIManager.setLookAndFeel(#这里是对应的look and feel包名字#);

}catch(Exception e){e.printStackTrace()}

不过我不推荐这个做法,因为换地方的时候没有库会异常,然后使用默认的lookandfeel。

java 的按钮半透明化

找本好点的教材吧……

protected void paintComponent(Graphics g) {

Image im = Toolkit.getDefaultToolkit().getImage(“back.jpg");//背景图,不要放在这里,放在构造函数里

g.drawImage(im, 0, 0, this);

l1 = new MyLabel(new Point(90, 10));//不要放在这里,放在构造函数里

l1.addMouseListener(this);//不要放在这里,放在构造函数里

add(l1);//不要放在这里,放在构造函数里

}

public void mouseEntered(MouseEvent e) {

l1.setbk();//关键!!不是在Point(90,10) 处添加调整Label的background

repaint();//主动调用才会立即重画

}

public void mouseExited(MouseEvent e) {

l1.setBackground(new Color(0,0,0,50));//颜色是不会自己设置回来的

repaint();//主动调用才会立即重画

}

你再自己看看吧……

java swing 的jPanel背景颜色能否设置为透明,代码怎么写

设置颜色:

把pan - pan6的Background设为Null,这样他们就变为透明的了,以后只需要改变inquestFrame的颜色就可以改变全部的颜色,代码如下:

// 设置整体布局

JPanel pan = new JPanel();

pan.setLayout(new GridLayout(6, 1));

pan.add(pan1);

pan.add(pan2);

pan.add(pan3);

pan.add(pan4);

pan.add(pan5);

pan.add(pan6);

pan.setBackground(null);

pan1.setBackground(null);

pan2.setBackground(null);

pan3.setBackground(null);

pan4.setBackground(null);

pan5.setBackground(null);

pan6.setBackground(null);

r1.setBackground(null);

r2.setBackground(null);

inquestFrame.setBackground(Color.LIGHT_GRAY);

inquestFrame.setContentPane(pan);

inquestFrame.setSize(300, 250);

inquestFrame.setVisible(true);

设置图片需要改的比较多,自己比较那不一样吧:

import java.awt.Graphics;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.net.URL;

import javax.swing.ButtonGroup;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

public class Inquest {

JFrame inquestFrame;

JLabel lab1, lab2, lab3, lab4, lab5, lab6;

JTextField text1, text2, text4, text5, text6;

JRadioButton r1, r2;

JButton inqButton;

public Inquest() {

inquestFrame = new JFrame("教育经历管理系统-查询窗口");

MyPanel pan1 = new MyPanel();

lab1 = new JLabel("请输入编码:");

text1 = new JTextField(10);

inqButton = new JButton(" 查询");

inqButton.addActionListener(new ButtonHandler());

pan1.add(lab1);

pan1.add(text1);

pan1.add(inqButton);

MyPanel pan2 = new MyPanel();

lab2 = new JLabel("姓名:");

text2 = new JTextField(10);

pan2.add(lab2);

pan2.add(text2);

MyPanel pan3 = new MyPanel();

lab3 = new JLabel("性别:");

r1 = new JRadioButton("男");

r2 = new JRadioButton("女");

// 把两个单选按钮放到一个群组中,保持二选一

ButtonGroup group = new ButtonGroup();

group.add(r1);

group.add(r2);

pan3.add(lab3);

pan3.add(r1);

pan3.add(r2);

MyPanel pan4 = new MyPanel();

lab4 = new JLabel("单位:");

text4 = new JTextField(10);

pan4.add(lab4);

pan4.add(text4);

MyPanel pan5 = new MyPanel();

lab5 = new JLabel("职位:");

text5 = new JTextField(10);

pan5.add(lab5);

pan5.add(text5);

MyPanel pan6 = new MyPanel();

lab6 = new JLabel("年龄:");

text6 = new JTextField(10);

pan6.add(lab6);

pan6.add(text6);

// 设置整体布局

MyPanel pan = new MyPanel();

pan.setLayout(new GridLayout(6, 1));

pan.add(pan1);

pan.add(pan2);

pan.add(pan3);

pan.add(pan4);

pan.add(pan5);

pan.add(pan6);

pan.setBackground(null);

pan1.setBackground(null);

pan2.setBackground(null);

pan3.setBackground(null);

pan4.setBackground(null);

pan5.setBackground(null);

pan6.setBackground(null);

r1.setBackground(null);

r2.setBackground(null);

MyPanel pan0 = new MyPanel();

pan0.setPreferredSize(pan.getPreferredSize());

pan0.setLayout(null);

pan.setBounds(0, 0, pan.getPreferredSize().width, pan.getPreferredSize().height);

URL url = Inquest.class.getResource("Winter.jpg");

ImageIcon img = new ImageIcon(url);

JLabel lab = new JLabel(img);

lab.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());

pan0.add(pan);

pan0.add(lab);

inquestFrame.setContentPane(pan0);

inquestFrame.pack();

inquestFrame.setVisible(true);

}

public static class MyPanel extends JPanel {

public void paint(Graphics g) {

paintChildren(g);

}

}

public void setBack() {

((JPanel) inquestFrame.getContentPane()).setOpaque(false);

// Winter.jpg这个图片的位置要跟当前这个类是同一个包下

URL url = Inquest.class.getResource("Winter.jpg");

ImageIcon img = new ImageIcon(url);

JLabel background = new JLabel(img);

inquestFrame.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());

}

class ButtonHandler implements ActionListener {

public void actionPerformed(ActionEvent e) {

// 生成SQL语句

String s = "select * from information where id=" + "'" + text1.getText() + "'";

String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

String url = "jdbc:odbc:test";

// DB db = new DB(driver, url, "sa", "");

// ResultSet rs = db.query(s);

// try {

// while (rs.next()) {

// text2.setText(rs.getString(2));

// String sex = rs.getString(3);

// if (sex.trim().equals("男"))

// r1.setSelected(true);

// else

// r2.setSelected(true);

//

// text4.setText(rs.getString(4));

// text5.setText(rs.getString(5));

// text6.setText(rs.getString(6));

// }

// } catch (Exception e2) {

// e2.printStackTrace();

// }

}

}

public static void main(String args[]) {

new Inquest();

}

}

Android中按钮如何设置透明或半透明,求代码

在main.xml里面加入如下代码,就可以Android中按钮如何设置透明或半透明;

Button

android:text="@+id/Button01"

android:id="@+id/Button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="#00000000"

/

java怎么把JButoon设置为透明

java swing中应该用 setContentAreaFilled(false) 和 setBorderPainted(false),将button的背景设置为透明。

public void setContentAreaFilled(boolean b)

设置 contentAreaFilled 属性。如果该属性为 true,则按钮将绘制内容区域。如果希望有一个透明的按钮,比如只是一个图标的按钮,那么应该将此属性设置为 false。不要调用 setOpaque(false)。contentAreaFilled 属性的默认值为 true。 此方法可能造成组件的不透明属性发生更改


新闻标题:java透明按钮颜色代码 Java按钮颜色
网站URL:http://scjbc.cn/article/hidpgh.html

其他资讯