有现成的颜色对话框吗 我用的是JDK1.1如果没有,只好自己编了,也不算太烦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写完 贴一下 大家seesee 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 } } 弄个测试代码,顺便把代码理清一下,让大家see see. : ) 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 } } 有几个问题:1,虽然new TextField(3); 但实际上可以输入三个以上字符2,滚动条太小3,如何设置Canvas大小?目前是设60, 最好是根据对话框大小,如何知道其它Component的大小,我想根据其它 Component的大小来设Canvas,比如tf[0].getBounds().height*3,但是不行 呵呵,如果你这样写的话,建议你用JColorChooserimport 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); }} 能帮忙指出下哪里出问题了 然后注释下。。谢谢各位 怎样学习用swing做记事本 怎么入门啊 java 中如何处理 SQL image类型 数据结构:树形结构的问题。 关于读取xml中格式的问题?请问回车是否能够读取到? 求助!文件Encoding的问题! 关于java打印的问题--给一串html的String,将它按html的格式打印出来 大家新年好!! PDF文件动态生成 船的航行模拟 面向对象 showConfirmDialog能否改变默认值? 一个数据库的设置
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 }
}
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 }
}
2,滚动条太小
3,如何设置Canvas大小?目前是设60, 最好是根据对话框大小,如何知道其它Component的大小,我想根据其它 Component的大小来设Canvas,比如tf[0].getBounds().height*3,但是不行
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);
}}