当前位置: 代码迷 >> Java相关 >> 在awt中如何来设计灰色按钮
  详细解决方案

在awt中如何来设计灰色按钮

热度:367   发布时间:2010-05-18 17:02:21.0
在awt中如何来设计灰色按钮
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-18 09:02:21
baifenghan

等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
  得分:0 
设置成灰色的目的是什么?
要是只是设置成灰色,b.setBackground(Color.gray);这个就足够了啊。
----------------解决方案--------------------------------------------------------
回复 2楼 baifenghan
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 04:42:33
linjx0123

等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
  得分:0 
b.setEnabled(false);
这个方法就够了。

不过看楼主的需求,跟单选按钮radiobutton有点相似
----------------解决方案--------------------------------------------------------
回复 4楼 linjx0123
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 06:41:21
linjx0123

等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
  得分:0 
你要可以重新使用,是要有触发条件的。比如你点一个按钮后,第二个按钮不可以用,那么要什么条件下第二个按钮可以重新激活呢
假设有第三个按钮,当点击第三个按钮,就把第2个按钮设为可以用。b.setEnabled(true);

当然触发条件不一定是第三个按钮,但是必须要有触发条件的
----------------解决方案--------------------------------------------------------
回复 6楼 linjx0123
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 08:05:05
linjx0123

等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
  得分:10 
程序代码:
public class Test1 extends javax.swing.JFrame {
    private JButton jButton1;
    private JButton jButton3;
    private JButton jButton2;

    /**
    * Auto-generated main method to display this JFrame
   
*/
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Test1 inst = new Test1();
                inst.setLocationRelativeTo(null);
                inst.setVisible(true);
            }
        });
    }
   
    public Test1() {
        super();
        initGUI();
    }
   
    private void initGUI() {
        try {
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            getContentPane().add(getJButton2(), BorderLayout.CENTER);
            getContentPane().add(getJButton3(), BorderLayout.SOUTH);
            getContentPane().add(getJButton1(), BorderLayout.NORTH);
            pack();
            setSize(100, 120);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    private JButton getJButton1(){
        if(jButton1==null){
            jButton1 = new JButton();
            jButton1.setText("jButton1");
            jButton1.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent e) {
                    getJButton2().setEnabled(false);
                }});
        }
        return jButton1;
    }

    private JButton getJButton2() {
        if (jButton2 == null) {
            jButton2 = new JButton();
            jButton2.setText("jButton2");
            jButton2.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent e) {
                    getJButton1().setEnabled(false);
                }});
        }
        return jButton2;
    }

    private JButton getJButton3() {
        if (jButton3 == null) {
            jButton3 = new JButton();
            jButton3.setText("jButton3");
            jButton3.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent e) {
                    getJButton2().setEnabled(true);
                    getJButton1().setEnabled(true);
                }});
        }
        return jButton3;
    }
}

----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-19 08:22:14
linjx0123

等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
  得分:0 
回复 9楼 wtuaimmmm
awt是重量级组件,已经过时了.swing是轻量级组件,能用swing的组件一般都不用awt
----------------解决方案--------------------------------------------------------
  相关解决方案