public void paint(Graphics g)的问题??谢谢!! 在choice的事件处理中调用paint方法啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不明白paint是如何知道要在Canvas中画的?public void paint(Graphics g)并没有指定要画的对象 在Choice的actionPerformed时间里调用Canvas的repaint(Graphics g)方法 PAINT 方法是自动通过调用REPAINT来调用的,我用的时候是在PAINT方法中设个标志,这个标志是在你需要FRAME重画的时候调用你的画法(如画圆什么的)。但是我在用的时候还是没有很好的解决刷新的问题。不知道我提供的方法和不和你 方法paint的参数Graphics定义了修改小应用程序显示区域所需的图形环境。Graphics类由浏览器实例化,对象实例传递给paint,因此,你不必创建该对象参数。 现在也不明白??:(谢谢!!import java.awt.*;import java.awt.event.*;public class onehunderdthirtyfour implements ItemListener { protected Frame f; protected Panel p1,p2,p3; protected Menu m1,m2; protected MenuItem mi1,mi2,mi3; public MenuBar mb; protected Checkbox c1,c2,c3,c4,c5; protected CheckboxGroup cg; protected Choice co; protected Canvas cs; public void go( ) { f = new Frame("PaintGUI"); f.addWindowListener(new MyListener()); mb = new MenuBar(); m1 = new Menu ("File"); m2 = new Menu ("Help"); mi1 = new MenuItem("Clear"); mi2 = new MenuItem("Print"); mi3 = new MenuItem("Quit"); m1.add(mi1); m1.add(mi2); m1.add(mi3); mb.add(m1); mb.setHelpMenu(m2); f.setMenuBar(mb); p1 = new Panel(); p2 = new Panel(); p1.setBackground(Color.white); p2.setBackground(Color.cyan); f.add(p1,BorderLayout.CENTER); f.add(p2,BorderLayout.SOUTH); co = new Choice(); co.addItem("Round"); co.addItem("Square"); co.addItemListener(this); p2.add(co); cg = new CheckboxGroup(); c1 = new Checkbox("Red",false,cg); c2 = new Checkbox("Green",false,cg); c3 = new Checkbox("Blue",false,cg); c4 = new Checkbox("Black",false,cg); c5 = new Checkbox("Filled"); p2.add(c1); p2.add(c2); p2.add(c3); p2.add(c4); p2.add(c5); f.setSize(400,300); f.setVisible(true); cs = new Canvas(); cs.setBackground(Color.white); cs.setSize(f.getWidth(),200); p1.add(cs); } public void paint(Graphics g) { g.clearRect(30,30,30,30); } public void itemStateChanged(ItemEvent e) { if(e.getItem()== "Round") { 如何写牙???谢谢!! } if(e.getItem()== "Square") { 如何写牙???谢谢!! } } public onehunderdthirtyfour() { } public static void main(String[] args) { onehunderdthirtyfour one = new onehunderdthirtyfour(); one.go(); }} fishbob21(fishbob) 能把你写的让我看看吗?谢谢!! 最新改进的但是还是无法显示:)夜深了:( public void paint(Graphics g) { g.fillRect(20,40,90,55); } public void itemStateChanged(ItemEvent e) { if(e.getItem()== "Round") { cs.repaint(); } if(e.getItem()== "Square") { cs.repaint(); } public void paint(Graphics g) { g.fillRect(20,40,90,55); } public void itemStateChanged(ItemEvent e) { if(e.getItem().equals("Round")) { cs.repaint(); } if(e.getItem().equals("Square")) { cs.repaint(); } import java.awt.*;import java.awt.event.*;public class onehunderdthirtyfour implements ItemListener { protected Frame f; protected Panel p1, p2, p3; protected Menu m1, m2; protected MenuItem mi1, mi2, mi3; public MenuBar mb; protected Checkbox c1, c2, c3, c4, c5; protected CheckboxGroup cg; protected Choice co; protected Canvas cs; private int imgType = 0; private Color color = Color.black; private boolean isFilled;public onehunderdthirtyfour() {}public void go() { f = new Frame("PaintGUI"); // f.addWindowListener(new MyListener()); mb = new MenuBar(); m1 = new Menu("File"); m2 = new Menu("Help"); mi1 = new MenuItem("Clear"); mi2 = new MenuItem("Print"); mi3 = new MenuItem("Quit"); m1.add(mi1); m1.add(mi2); m1.add(mi3); mb.add(m1); mb.setHelpMenu(m2); f.setMenuBar(mb); p1 = new Panel() { public void paint(Graphics g) { super.paint(g); g.setColor(color); switch (imgType) { case 1 : if (!isFilled) g.drawRect(20, 20, 60, 60); else g.fillRect(20, 20, 60, 60); break; case 2 : if (!isFilled) g.drawOval(20, 20, 60, 60); else g.fillOval(20, 20, 60, 60); break; } } }; p2 = new Panel(); p1.setBackground(Color.white); p2.setBackground(Color.cyan); f.add(p1, BorderLayout.CENTER); f.add(p2, BorderLayout.SOUTH); co = new Choice(); co.addItem("Round"); co.addItem("Square"); co.addItemListener(this); p2.add(co); cg = new CheckboxGroup(); c1 = new Checkbox("Red", false, cg); c2 = new Checkbox("Green", false, cg); c3 = new Checkbox("Blue", false, cg); c4 = new Checkbox("Black", false, cg); c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); c4.addItemListener(this); c5 = new Checkbox("Filled"); c5.addItemListener(this); p2.add(c1); p2.add(c2); p2.add(c3); p2.add(c4); p2.add(c5); f.setSize(400, 300); f.setVisible(true); cs = new Canvas(); cs.setBackground(Color.white); cs.setSize(f.getWidth(), 200); //p1.add(cs);}public void itemStateChanged(ItemEvent e) { if (e.getSource() == this.co) { if (e.getItem() == "Round") { imgType = 2; //如何写牙???谢谢!! } else if (e.getItem() == "Square") { // 如何写牙???谢谢!! imgType = 1; } } else if (e.getSource() == c1) { if (c1.getState()) color = Color.red; } else if (e.getSource() == c2) { if (c2.getState()) color = Color.green; } else if (e.getSource() == c3) { if (c3.getState()) color = Color.blue; } else if (e.getSource() == c4) { if (c4.getState()) color = Color.black; } else if (e.getSource() == c5) { isFilled = c5.getState(); } p1.repaint(); f.repaint(); f.validate();}public static void main(String[] args) { onehunderdthirtyfour one = new onehunderdthirtyfour(); one.go();}} 究竟构造器是什么,怎么用? 谁有<java servlets编程指南>随书附赠光盘里的源代码 BBS的文档 怎么得到PreparedStatement对象executeQuery()函数所返回的结果集行数?? applet上显示字符串 流和文件 请问什么叫正则表达式? 谁能帮个忙,写个小程序,在下新手实在不会写, 如何实现圆角窗体和按钮? 如何执行两个“011100”和“101000”之类的0,1串的或操作? 如何让树的节点代有多重属性? jsp开发的前提!!!!!!??????????
public void paint(Graphics g)并没有指定要画的对象
import java.awt.*;
import java.awt.event.*;
public class onehunderdthirtyfour implements ItemListener {
protected Frame f;
protected Panel p1,p2,p3;
protected Menu m1,m2;
protected MenuItem mi1,mi2,mi3;
public MenuBar mb;
protected Checkbox c1,c2,c3,c4,c5;
protected CheckboxGroup cg;
protected Choice co;
protected Canvas cs; public void go( ) {
f = new Frame("PaintGUI");
f.addWindowListener(new MyListener());
mb = new MenuBar();
m1 = new Menu ("File");
m2 = new Menu ("Help");
mi1 = new MenuItem("Clear");
mi2 = new MenuItem("Print");
mi3 = new MenuItem("Quit");
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
mb.add(m1);
mb.setHelpMenu(m2);
f.setMenuBar(mb); p1 = new Panel();
p2 = new Panel();
p1.setBackground(Color.white);
p2.setBackground(Color.cyan);
f.add(p1,BorderLayout.CENTER);
f.add(p2,BorderLayout.SOUTH);
co = new Choice();
co.addItem("Round");
co.addItem("Square");
co.addItemListener(this);
p2.add(co);
cg = new CheckboxGroup();
c1 = new Checkbox("Red",false,cg);
c2 = new Checkbox("Green",false,cg);
c3 = new Checkbox("Blue",false,cg);
c4 = new Checkbox("Black",false,cg);
c5 = new Checkbox("Filled");
p2.add(c1);
p2.add(c2);
p2.add(c3);
p2.add(c4);
p2.add(c5);
f.setSize(400,300);
f.setVisible(true);
cs = new Canvas();
cs.setBackground(Color.white);
cs.setSize(f.getWidth(),200); p1.add(cs);
}
public void paint(Graphics g)
{
g.clearRect(30,30,30,30); }
public void itemStateChanged(ItemEvent e)
{
if(e.getItem()== "Round")
{
如何写牙???谢谢!!
}
if(e.getItem()== "Square")
{
如何写牙???谢谢!!
} } public onehunderdthirtyfour() {
}
public static void main(String[] args) {
onehunderdthirtyfour one = new onehunderdthirtyfour();
one.go();
}
}
public void paint(Graphics g)
{
g.fillRect(20,40,90,55);
}
public void itemStateChanged(ItemEvent e)
{
if(e.getItem()== "Round")
{
cs.repaint();
}
if(e.getItem()== "Square")
{
cs.repaint();
}
{
g.fillRect(20,40,90,55);
}
public void itemStateChanged(ItemEvent e)
{
if(e.getItem().equals("Round"))
{
cs.repaint();
}
if(e.getItem().equals("Square"))
{
cs.repaint();
}
import java.awt.event.*;
public class onehunderdthirtyfour implements ItemListener {
protected Frame f;
protected Panel p1, p2, p3;
protected Menu m1, m2;
protected MenuItem mi1, mi2, mi3;
public MenuBar mb;
protected Checkbox c1, c2, c3, c4, c5;
protected CheckboxGroup cg;
protected Choice co;
protected Canvas cs;
private int imgType = 0;
private Color color = Color.black;
private boolean isFilled;
public onehunderdthirtyfour() {
}
public void go() {
f = new Frame("PaintGUI"); // f.addWindowListener(new MyListener());
mb = new MenuBar();
m1 = new Menu("File");
m2 = new Menu("Help");
mi1 = new MenuItem("Clear");
mi2 = new MenuItem("Print");
mi3 = new MenuItem("Quit");
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
mb.add(m1);
mb.setHelpMenu(m2);
f.setMenuBar(mb); p1 = new Panel() {
public void paint(Graphics g) {
super.paint(g);
g.setColor(color);
switch (imgType) {
case 1 :
if (!isFilled)
g.drawRect(20, 20, 60, 60);
else
g.fillRect(20, 20, 60, 60);
break;
case 2 :
if (!isFilled)
g.drawOval(20, 20, 60, 60);
else
g.fillOval(20, 20, 60, 60);
break;
}
}
};
p2 = new Panel();
p1.setBackground(Color.white);
p2.setBackground(Color.cyan);
f.add(p1, BorderLayout.CENTER);
f.add(p2, BorderLayout.SOUTH);
co = new Choice();
co.addItem("Round");
co.addItem("Square");
co.addItemListener(this);
p2.add(co);
cg = new CheckboxGroup();
c1 = new Checkbox("Red", false, cg);
c2 = new Checkbox("Green", false, cg);
c3 = new Checkbox("Blue", false, cg);
c4 = new Checkbox("Black", false, cg);
c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
c4.addItemListener(this);
c5 = new Checkbox("Filled");
c5.addItemListener(this);
p2.add(c1);
p2.add(c2);
p2.add(c3);
p2.add(c4);
p2.add(c5);
f.setSize(400, 300);
f.setVisible(true);
cs = new Canvas();
cs.setBackground(Color.white);
cs.setSize(f.getWidth(), 200); //p1.add(cs);
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == this.co) {
if (e.getItem() == "Round") {
imgType = 2;
//如何写牙???谢谢!!
}
else
if (e.getItem() == "Square") {
// 如何写牙???谢谢!!
imgType = 1;
}
}
else
if (e.getSource() == c1) {
if (c1.getState())
color = Color.red;
}
else
if (e.getSource() == c2) {
if (c2.getState())
color = Color.green;
}
else
if (e.getSource() == c3) {
if (c3.getState())
color = Color.blue;
}
else
if (e.getSource() == c4) {
if (c4.getState())
color = Color.black;
}
else
if (e.getSource() == c5) {
isFilled = c5.getState();
}
p1.repaint();
f.repaint();
f.validate();
}
public static void main(String[] args) {
onehunderdthirtyfour one = new onehunderdthirtyfour();
one.go();
}
}