一个简单的java frame画图(paint)问题
packagedrawstring;//继承frame来画字符串。importjava.awt.Button;importjava.awt.Color;importjav...
package drawstring;//继承frame来画字符串。
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DrawString extends Frame implements ActionListener{
static boolean b1 =false;
static boolean b2= false;
Button btn1;
Button btn2;
Button btn3;
DrawString()//析构函数
{
setSize(300,400);
btn1=new Button("显示字符串");
btn2=new Button("显示图形");
btn3=new Button("退出");
setLayout(new FlowLayout());
add(btn1);
add(btn2);
add(btn3);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="退出")
{ System.exit(0);}
if(e.getActionCommand()=="显示图形")
{
// setSize(300,500);
b2= true;
}
if(e.getActionCommand()=="显示字符串")
{
// setSize(300,500);
b1 = true;
}
}
public void repaint(Graphics g)//frame类里面的函数,继承过来的。
{
if(b1==true){
g.setColor(Color.red);
g.drawString("hello,september", 100, 200);
}
if(b2==true){
g.drawOval(60, 100, 200, 200);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new DrawString();
}
}
为什么我点击了按钮他不响应,不会自动运行paint规定的操作?
正常来说应该是会按照paint里条件来的,为什么点击了也不会? 展开
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DrawString extends Frame implements ActionListener{
static boolean b1 =false;
static boolean b2= false;
Button btn1;
Button btn2;
Button btn3;
DrawString()//析构函数
{
setSize(300,400);
btn1=new Button("显示字符串");
btn2=new Button("显示图形");
btn3=new Button("退出");
setLayout(new FlowLayout());
add(btn1);
add(btn2);
add(btn3);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="退出")
{ System.exit(0);}
if(e.getActionCommand()=="显示图形")
{
// setSize(300,500);
b2= true;
}
if(e.getActionCommand()=="显示字符串")
{
// setSize(300,500);
b1 = true;
}
}
public void repaint(Graphics g)//frame类里面的函数,继承过来的。
{
if(b1==true){
g.setColor(Color.red);
g.drawString("hello,september", 100, 200);
}
if(b2==true){
g.drawOval(60, 100, 200, 200);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new DrawString();
}
}
为什么我点击了按钮他不响应,不会自动运行paint规定的操作?
正常来说应该是会按照paint里条件来的,为什么点击了也不会? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询