一个新开的商业源码站点,大家支持一下  
有ERP源码和文档  
http://www.czrx.com/get.asp?get=iamcfr

解决方案 »

  1.   

    数码管不一定要画到文本框中,你画到一个panel中就行了,写一个类从panel继承过来,把它的外观画成文本框就行了,数码管当然单独写个类方便点,如果文本框还要输入数字的画(好像附件里的只要点按钮就行),就自己处理panel的键盘响应啦。
      

  2.   

    显示数码的文本框最好是自己写,可以是一个从JPanel继承或Component继承的类,调用一些数字图片画在上面就可以了。要不自己用画图函数画数字也行。
      

  3.   

    在north的面板上画一些数字,怎么才能以north面板的左上角为(0,0)点画,还有我画的图应以什么为坐标基准,比如说什么的宽度。
    比如在面板上画12345,每个数字都有坐标,以什么为衡量标准来画。是不是一1的坐标为常量,后面的数字用x+y等等之类的函数表达式来画?
      

  4.   

    你应该从Jpanel中继承一个类出来,比如叫lcd,重载其中的repaint(),update()和paintcomponent()方法,在这些函数里面调用画图函数,再添加到你的JFrame上面去,当你点击某个按钮的时候,调用lcd中相应的函数。等会给你个例子
      

  5.   

    public class kkk
     {
        public static void main(String[] args)
        {
         SimpleFrame frame = new SimpleFrame();
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.show();
        }
     }
     class lcd extends JPanel
     {
      public  lcd()
      {
      this.setSize(200,200);
      }  public void paint( Graphics g)
      {
      g.setColor(Color.BLUE);
      g.drawLine(0,0,100,100);
      } }
     class SimpleFrame extends JFrame
     {
        public SimpleFrame()
       {
            lcd mylcd = new lcd();
            this.getContentPane().add(mylcd);
            this.setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
       }    public static final int DEFAULT_WIDTH = 300;
        public static final int DEFAULT_HEIGHT = 200;
     }
      

  6.   

    //下面是一个显示图片的例子,图片自己找,0到9的图片就可以了。import javax.swing.*;
    import java.awt.*;public class num extends JPanel{
    private ImageIcon digit[]=new ImageIcon[10];
    public num(){
    for(int i=0;i<10;i++){
    digit[i]=new ImageIcon("Images/num"+i+".GIF");

    setPreferredSize(new Dimension(200, 60));
    }

    public synchronized void paint(Graphics g){
    super.paint(g);
    g.drawImage(digit[0].getImage(),0,0,25,50,this);
    g.drawImage(digit[1].getImage(),20,0,25,50,this);
    }
    }
      

  7.   

    我写了一个类,画七段数码的,但是不知怎样调用,而且关键我的坐标不会处理,因为老师要求,把计算器放大,显示数码的面板也跟着放大。我头都大了,就是不会啊,我实在不知怎么处理坐标,所以把头一个坐标设为(50,50)。
    class SevenDigitalDemo 
    {
            public  int x=50;
            public  int y=50;
            public void UpDemoPainting(Graphics g)//UpDemoPainting
    {
    Polygon p1=new Polygon();
    p1.addPoint(x,y);
    p1.addPoint(x+20,y+20);
    p1.addPoint(x+80,y+20);
    p1.addPoint(x+100,y);
    g.drawPolygon(p1);
    g.setColor(Color.red);
    g.fillPolygon(p1);

    }

    public void RightDemoPainting(Graphics g)//RightDemoPainting
    {
    Polygon p2=new Polygon();
    p2.addPoint(x+83,y+23);
    p2.addPoint(x+83,y+83);
    p2.addPoint(x+96,y+96);
    p2.addPoint(x+103,y+89);
    p2.addPoint(x+103,y+3);
    g.setColor(Color.red);
    g.drawPolygon(p2);
    g.fillPolygon(p2);
    }
    public void LeftDemoPainting(Graphics g)//LeftDemoPainting
    {
    Polygon p3=new Polygon();
    p3.addPoint(x-3,y+3);
    p3.addPoint(x-3,y+89);
    p3.addPoint(x+4,y+96);
    p3.addPoint(x+17,y+83);
    p3.addPoint(x+17,y+23);
    g.setColor(Color.red);
    g.drawPolygon(p3);
    g.fillPolygon(p3);
    }


    public void  MidDemoPainting(Graphics g)//MidDemoPainting
    {
    Polygon p4=new Polygon();
    p4.addPoint(x+20,y+86);
    p4.addPoint(x+80,y+86);
    p4.addPoint(x+92,y+98);
    p4.addPoint(x+80,y+106);
    p4.addPoint(x+20,y+106);
    p4.addPoint(x+8,y+98);
    g.drawPolygon(p4);
    g.fillPolygon(p4);
    }

    public  void LeftdownDemoPainting(Graphics g)//LeftdownDemoPainting
    {
    Polygon p5=new Polygon();
    p5.addPoint(x+4,y+100);
    p5.addPoint(x+17,y+109);
    p5.addPoint(x+17,y+169);
    p5.addPoint(x-3,y+189);
    p5.addPoint(x-3,y+107);
    g.drawPolygon(p5);
    g.fillPolygon(p5);
    }

    public void RightdownDemoPainting(Graphics g)//RightdownDemoPainting
    {
    Polygon p6=new Polygon();
    p6.addPoint(x+96,y+100);
    p6.addPoint(x+103,y+107);
    p6.addPoint(x+103,y+189);  
    p6.addPoint(x+83,y+169);
    p6.addPoint(x+83,y+109);
    g.drawPolygon(p6);
    g.fillPolygon(p6);
    }

    public void DownDemoPainting(Graphics g)//DownDemoPainting
    {
    Polygon p7=new Polygon();
    p7.addPoint(x+20,y+172);
    p7.addPoint(x+80,y+172);
    p7.addPoint(x+100,y+192);
    p7.addPoint(x,y+192);
    g.drawPolygon(p7);
    g.fillPolygon(p7);
    }
    }
      

  8.   

    原来你不知道坐标是这么一回事呀!
    你的问题估计主要是不知道如何使显示变大吧!
    程序运行的时候显示数码的对话框的大小必须根据Frame的大小决定(如何获得Frame的大小查帮助文档,上面写很清楚的)。
    然后在计算出数字显示位置的一个比例值。也就是占变化后的对话框百分之多少了。
    数字的大小用同样的方法可以求的。
    你上面的算法全是固定值当然不行,改成相对值就可以了。算法你自己先写写!