我用的是JDK1.1如果没有,只好自己编了,也不算太烦

解决方案 »

  1.   

    写完 贴一下 大家seesee
      

  2.   

    GUI已画好,功能尚未实现,有啥意见?
    class CColor extends Canvas
     {int size;
      public CColor(int s) {size=s;}
      public Dimension getPreferredSize()  {return new Dimension(size,size); }
     }
    class DColor extends Dialog
     {public DColor(Frame f)
       {super(f,"Color",false);
        GridBagLayout gbl=new GridBagLayout(); setLayout(gbl);
        GridBagConstraints c=new GridBagConstraints(); 
        Panel p;  CColor cc; int i;   Checkbox cb1,cb2; Button b1,b2,b3,b4;
        Scrollbar s[]=new Scrollbar[3]; TextField tf[]=new TextField[3]; Label la[][]=new Label[3][2];    for(i=0;i<3;i++)
         {la[i][0]=new Label("0",Label.RIGHT); c.gridx=0; c.gridy=i; gbl.setConstraints(la[i][0],c); add(la[i][0]);
          s[i]=new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);
          c.gridx=1; c.gridy=i; gbl.setConstraints(s[i],c); add(s[i]);
          la[i][1]=new Label("255"); c.gridx=2; c.gridy=i; gbl.setConstraints(la[i][1],c); add(la[i][1]);
          tf[i]=new TextField(3); c.gridx=3; c.gridy=i; gbl.setConstraints(tf[i],c); add(tf[i]);
         }
        p=new Panel(); cb1=new Checkbox("int",true);    cb2=new Checkbox("float",false);    
        p.add(cb1); p.add(cb2);  c.gridx=0; c.gridy=3; c.gridwidth=4; gbl.setConstraints(p,c); add(p);    cc=new CColor(60); c.gridx=4; c.gridy=0; c.gridwidth=1; c.gridheight=3;                             gbl.setConstraints(cc,c); add(cc);
        
        p=new Panel(); b1=new Button("brighter"); b2=new Button("darker"); 
        b3=new Button("OK");  b4=new Button("Close"); p.add(b1);p.add(b2);p.add(b3);p.add(b4);  
        c.gridx=0; c.gridy=4; c.gridwidth=5; c.gridheight=1; gbl.setConstraints(p,c); add(p);
     
        pack();     setVisible(true);
    //tf[0].getBounds().height*3   }
      
     }
      

  3.   

    弄个测试代码,顺便把代码理清一下,让大家see see. : )
      

  4.   

    import java.awt.*;
    import java.awt.event.*;class test extends Frame implements ActionListener  
     {public test()
       {super("Welcome"); Button b=new Button("test"); 
        b.addActionListener(this); add(b); pack();setVisible(true);
       }
      public void actionPerformed(ActionEvent e)
       {String s=e.getActionCommand();
        if(s.equals("test")) new DColor(this);
       }
      public static void main(String args[])
       {test t=new test();    }
     }class CColor extends Canvas
     {int size;
      public CColor(int s) {size=s;}
      public Dimension getPreferredSize()  {return new Dimension(size,size); }
     }class DColor extends Dialog
     {public DColor(Frame f)
       {super(f,"Color",false);
        GridBagLayout gbl=new GridBagLayout(); setLayout(gbl);
        GridBagConstraints c=new GridBagConstraints(); 
        Panel p;  CColor cc; int i;   Checkbox cb1,cb2; Button b1,b2,b3,b4;
        Scrollbar s[]=new Scrollbar[3]; TextField tf[]=new TextField[3]; Label la[][]=new Label[3][2];    for(i=0;i<3;i++)
         {la[i][0]=new Label("0",Label.RIGHT); c.gridx=0; c.gridy=i; gbl.setConstraints(la[i][0],c); add(la[i][0]);
          s[i]=new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);
          c.gridx=1; c.gridy=i; gbl.setConstraints(s[i],c); add(s[i]);
          la[i][1]=new Label("255"); c.gridx=2; c.gridy=i; gbl.setConstraints(la[i][1],c); add(la[i][1]);
          tf[i]=new TextField(3); c.gridx=3; c.gridy=i; gbl.setConstraints(tf[i],c); add(tf[i]);
         }
        p=new Panel(); cb1=new Checkbox("int",true);    cb2=new Checkbox("float",false);    
        p.add(cb1); p.add(cb2);  c.gridx=0; c.gridy=3; c.gridwidth=4; gbl.setConstraints(p,c); add(p);    cc=new CColor(60); c.gridx=4; c.gridy=0; c.gridwidth=1; c.gridheight=3;                             gbl.setConstraints(cc,c); add(cc);
        
        p=new Panel(); b1=new Button("brighter"); b2=new Button("darker"); 
        b3=new Button("OK");  b4=new Button("Close"); p.add(b1);p.add(b2);p.add(b3);p.add(b4);  
        c.gridx=0; c.gridy=4; c.gridwidth=5; c.gridheight=1; gbl.setConstraints(p,c); add(p);
     
        pack();     setVisible(true);
    //tf[0].getBounds().height*3   }
      
     }
      

  5.   

    有几个问题:1,虽然new TextField(3); 但实际上可以输入三个以上字符
    2,滚动条太小
    3,如何设置Canvas大小?目前是设60, 最好是根据对话框大小,如何知道其它Component的大小,我想根据其它 Component的大小来设Canvas,比如tf[0].getBounds().height*3,但是不行
      

  6.   

    呵呵,如果你这样写的话,建议你用JColorChooser
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class Test extends JFrame
    {
    private Color bg ;
    JButton btnChoose;

    public Test()
    {
    btnChoose = new JButton("选择颜色");

    btnChoose.addActionListener(new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    bg = JColorChooser.showDialog(Test.this,"颜色选择",Color.RED);

    //repaint();
    btnChoose.setBackground(bg);
    }
    });

    getContentPane().add(btnChoose,BorderLayout.SOUTH);
    setSize(450,500);
    setVisible(true);

    } public static void main(String[] args)
    {
    Test app = new Test();

    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }}