kudo
发贴: 15
积分: 0
|
于 2004-10-16 20:34
这个问题困扰我好几天了~拜托帮帮忙~ import java.awt.*; import java.awt.event.*; public class Change implements AdjustmentListener { static Frame fra=new Frame("改变颜色"); static Scrollbar scrRed=new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255); static Scrollbar scrGreen=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); static Scrollbar scrBlue=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255); static Button btn=new Button(); public static void main(String[] args) { //设定各Scrollbar的初始植,取的是按钮btn的底色 try{ scrRed.setValue(btn.getBackground().getRed()); scrGreen.setValue(btn.getBackground().getGreen()); scrBlue.setValue(btn.getBackground().getBlue());} catch(Exception e) {}; //注册事件监听器 fra.addWindowListener(new MyWindowEvent()); scrRed.addAdjustmentListener(new Change()); scrGreen.addAdjustmentListener(new Change()); scrBlue.addAdjustmentListener(new Change()); fra.setLocation(100,100); //设定各控件的位置和大小 btn.setBounds(120,120,150,150); scrRed.setBounds(120,50,150,30); scrGreen.setBounds(65,120,30,150); scrBlue.setBounds(300,120,30,150); //将各控件添加到fra上 fra.add(scrRed); fra.add(scrGreen); fra.add(scrBlue); fra.add(btn); fra.setLayout(null); fra.setSize(400,350); fra.setVisible(true); } public void adjustmentValueChanged(AdjustmentEvent e) { //使btn的底色随Scrollbar的变化而变化 btn.setBackground(new Color(scrRed.getValue(),scrGreen.getValue(),scrBlue.getValue())); } } class MyWindowEvent extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } /* 如果把try catch去掉,编译能通过,但运行出现以下错误: java.lang.NullPointerException at Change.main(Change.java:12) Exception in thread "main" Normal Termination 好像是null的异常~这个问题怎么解决呀?拜托了!!!!! */
|