当前位置:  技术问答>java相关

各位大虾请帮忙!!AWT的问题,一段程序请读一下!(在线等待)

    来源: 互联网  发布时间:2015-09-15

    本文导语:  下面一段程序中,我不知道如何在Mousclicked中调用Graphics g 使其相应line的BUTTON划出直线?? 请大虾赐教!! import java.awt.*; import java.awt.event.*; public class line extends Frame{ static TheCanvas cv=new TheCanvas(); static TextField...

下面一段程序中,我不知道如何在Mousclicked中调用Graphics g
使其相应line的BUTTON划出直线??
请大虾赐教!!
import java.awt.*;
import java.awt.event.*;

public class line extends Frame{
static TheCanvas cv=new TheCanvas();
static TextField tf1=new TextField(10);
static TextField tf2=new TextField(10);
static TextField tf3=new TextField(10);
static TextField tf4=new TextField(10);


public static void main(String args[]){

line li=new line("canva");
li.setcalculator();
li.add(li.cv);
li.go();
}
line(String str){
super(str);
}
public void setcalculator()
{
Panel p1=new Panel();
Label first=new Label("opr1");
Label second=new Label("opr2");
Label third=new Label("opr3");
Label fourth=new Label("opr4");
p1.add(first);
tf1.setEditable(true);
tf1.resize(tf1.preferredSize());
p1.add(tf1);

p1.add(second);
tf2.setEditable(true);
tf2.resize(tf2.preferredSize());
p1.add(tf2);

p1.add(third);
tf3.setEditable(true);
tf3.resize(tf3.preferredSize());
p1.add(tf3);

p1.add(fourth);
tf4.setEditable(true);
tf4.resize(tf4.preferredSize());
p1.add(tf4);

Panel p2=new Panel();
Button drawline1=new Button("line");
drawline1.addMouseListener(new me1());
p2.add(drawline1);

add("South",p2);
add("North",p1);
}

public void go(){
TheAdapterTest tat=new TheAdapterTest();
addWindowListener(tat);
setSize(600,400);
setVisible(true);
}
}
class TheAdapterTest extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(1);
}
}

class TheCanvas extends Canvas 
{

public int m=0;
public int n=0;
public int i=50;
public int j=50;


 public void paint(Graphics g){
super.paint(g);
draw(g);
}
public void draw(Graphics g){
g.setColor(Color.pink);
g.drawLine(i,j,m,n);
}
}

class me1  implements MouseListener{
      public  void mouseClicked(MouseEvent e1){
         Graphics g;
String str1=line.tf1.getText();
String str2=line.tf2.getText();
String str3=line.tf3.getText();
String str4=line.tf4.getText();

i=Integer.parseInt(str1);
j=Integer.parseInt(str2);
m=Integer.parseInt(str3);
n=Integer.parseInt(str4);
g.drawLine(i,j,m,n);
//line.cv.draw(g.drawLine(i,j,m,n));
}

public void mousePressed(MouseEvent e1){}
public void mouseReleased(MouseEvent e1){}
public void mouseEntered(MouseEvent e1){}
public void mouseExited(MouseEvent e1){}
}

|
import java.awt.*;
import java.awt.event.*;

public class line extends Frame{

static TheCanvas cv;
static TextField tf1=new TextField(10);
static TextField tf2=new TextField(10);
static TextField tf3=new TextField(10);
static TextField tf4=new TextField(10);
static Panel p3=new Panel();

public static void main(String args[]){

line li=new line("canva");
li.setcalculator();
//li.add(BorderLayout.CENTER,li.cv=new TheCanvas(p3));
li.go();
}
line(String str){
super(str);
}
public void setcalculator()
{
Panel p1=new Panel();
Label first=new Label("opr1");
Label second=new Label("opr2");
Label third=new Label("opr3");
Label fourth=new Label("opr4");
p1.add(first);
tf1.setEditable(true);
tf1.resize(tf1.preferredSize());
p1.add(tf1);

p1.add(second);
tf2.setEditable(true);
tf2.resize(tf2.preferredSize());
p1.add(tf2);

p1.add(third);
tf3.setEditable(true);
tf3.resize(tf3.preferredSize());
p1.add(tf3);

p1.add(fourth);
tf4.setEditable(true);
tf4.resize(tf4.preferredSize());
p1.add(tf4);

Panel p2=new Panel();
Button drawline1=new Button("line");
drawline1.addMouseListener(new TheCanvas(p3));
p2.add(drawline1);

//Panel p3=new Panel();
//
add("Center",p3);
add("South",p2);
add("North",p1);
}

public void go(){
TheAdapterTest tat=new TheAdapterTest();
addWindowListener(tat);
setSize(600,400);
show();
}
}
class TheAdapterTest extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(1);
}
}

 class TheCanvas extends Canvas implements MouseListener
{

  int m;
  int n;
  int i;
  int j;
  Panel panel;
 public TheCanvas(Panel panel) {
    this.panel = panel;
 }
 public  void mouseClicked(MouseEvent e1){
String str1=line.tf1.getText();
String str2=line.tf2.getText();
String str3=line.tf3.getText();
String str4=line.tf4.getText();

i=Integer.parseInt(str1);
j=Integer.parseInt(str2);
m=Integer.parseInt(str3);
n=Integer.parseInt(str4);

    Graphics g=panel.getGraphics();
   g.drawLine(i,j,m,n);
    //Graphics g=((Component)e1.getSource()).getGraphics();
    //line.cv.getGraphics()   g.drawLine(i,j,m,n);
}

public void mousePressed(MouseEvent e1){}
public void mouseReleased(MouseEvent e1){}
public void mouseEntered(MouseEvent e1){}
public void mouseExited(MouseEvent e1){}



 //public void paint(Graphics g){
// super.paint(g);
// draw(g);
// }
// public void draw(Graphics g){
// g.setColor(Color.pink);
// g.drawLine(i,j,m,n);
// }
}

|
public void mousePressed(MouseEvent e){
  i=e.getX();
  j=e.getY();
}

public void mouseDragged(MouseEvent e){
  m=e.getX();
  n=e.getY();
}
repaint();

    
 
 

您可能感兴趣的文章:

  • 大虾们帮个忙吧。linux下可否有类似WaitForSingleObject的等待进程执行完毕的函数呢?
  • 请教大虾关于红旗5.0的安装问题(在线等待)
  • 大虾,Linux8.0中打印机如何设置?在线等待!!
  • 怎样让用户直接下载?(在线等待各位大虾的帮助)
  • 求助!!implements的用法与作用,那位大虾可以解释一下???(在线等待)
  • 求助!!关于两行代码的理解问题!请大虾近来看看!!(在线等待)
  • 急:我安装red hat linux,碰到小问题,各位大虾快帮帮我吧(在线等待。。。)
  • 100分大虾们请帮忙,删了linux分区后,无法进入win2000,在线等待
  • 高分求助,请教关于在ARM Linux下启动goahead服务器的问题。很急,在线等待,希望各位大虾帮帮,万分感激
  • 网页上的饼壮图和柱状图是怎么实现的?请大虾帮忙! iis7站长之家
  • 为什么我的输出在超出ie浏览器的宽度的时候就出错!下面的情况在仅仅输出4想的时候没有问题!大虾等待你的指点
  • 网页上的饼壮图和柱状图是怎么实现的?请大虾帮忙!
  • 哪位大虾帮忙,怎么修改Aix机器上某个帐户的密码?
  • QTextBrowser的拖影问题,各位大虾,帮帮忙
  • 关于聊天室的若干疑问!!!请各位大虾帮忙!
  • 大虾帮忙,怎样用JDBC-ODBC连接SQL2000并使用呀?
  • 救急!本人小菜,在安装linux下得vsftpd时遇到了问题,那位大虾帮帮忙啊
  • U盘的LINUX系统问题,大虾们帮帮忙。
  • DELL服务器,安装RedHat EAS3.0,装完了,连不上SSH。。。。。哪位大虾帮忙!!急啊 !!!!
  • 一个JButton的小问题。大虾请帮忙!
  • RedHat8上解压Oracle9磁盘丢失磁盘空间,请大虾帮忙!
  • 关于linux下sendmail的配置(请各位大虾帮忙,谢谢。)
  • RH9下装了wine-2005011,运行qq提示说有问题。大虾帮忙看看。
  • 各位大虾segmentation fault的问题。我都晕了,帮帮忙吧,仅有的10送给你
  • 大虾们,帮帮忙!
  • 大虾们,请帮忙!
  • 不太理解protected的意思,请大虾帮忙解释一下。
  • 求助,各位大虾帮忙
  • 急!各位大虾谁来帮忙?小妹感激不尽!!
  • 大虾帮忙看一下!谢谢!
  • 请各位大虾帮忙
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各位大虾,小弟有一事不明,请大虾赐教!
  • 在solaris下如何卸载wu-ftpd???????????????????????谢谢大虾!!!!!!!!!!
  • 请大虾们谈谈linux和unix的异同吧
  • 请大虾,详细介绍一下JavaBean的写法,和调用过程!
  • 对LDAP有研究的大虾请进,见者有分
  • 超级新手菜鸟请问各位大虾!
  • 各位大虾,一个初学者该怎样开始学习java?
  • 请问各位大虾,什么地方有Jsp学习资料?
  • 哪位大虾知道weblogic与websphere的差别?
  • 大虾救命!APACHE没有理睬JSP?!!!
  • 请问各位大虾,如何把一个String赋值给一个Char[]??
  • 大虾救命啊!!!50分!!!
  • 哪位大虾指点一下哪里有weblogic下载啊???
  • 请问各位unix大虾,哪有免费的unix下载?
  • 初学者求救!!哪位大虾给点源代码?
  • 在下初学java,请各位大虾推荐几个java学习网站吧!
  • 请各位大虾介绍几个好一点的linux论坛,谢谢!
  • 大虾救命,dos下面怎么输入中文?
  • 请问大虾们,如何学习linux?
  • session里面可以放整型数吗?大虾请指教!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3