⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scribbler.java

📁 java程序设计 清华出版社 孙燮华老师编写的程序源代码
💻 JAVA
字号:
    //scribbler.java
    import java.awt.*;
    import java.awt.event.*;

    public class scribbler extends Frame implements 
                     ActionListener,KeyListener {
      String text="Hello from Java!";
      int x=0;int y=0;
      Button boldbutton,italicbutton,largebutton,
             romanbutton,courierbutton,clearbutton;
      boolean bBoldFlag=false,
              bItalicFlag=false,
              bLargeFlag=false,
              bRomanFlag=false,
              bCourierFlag=false;
      FontMetrics fontmetrics;

      public scribbler(){
        setLayout(new FlowLayout());
        boldbutton=new Button("Bold font");
        boldbutton.addActionListener(this);
        italicbutton=new Button("Italic font");
        italicbutton.addActionListener(this);
        largebutton=new Button("Large font");
        largebutton.addActionListener(this);
        romanbutton=new Button("Roman font");
        romanbutton.addActionListener(this);
        courierbutton=new Button("Courier font");
        courierbutton.addActionListener(this);
        clearbutton=new Button("Clear text");
        clearbutton.addActionListener(this);

        add(boldbutton);
        add(italicbutton);
        add(largebutton);
        add(romanbutton);
        add(courierbutton);
        add(clearbutton);
        addKeyListener(this);
        requestFocus();
        setSize(500,150);
        setVisible(true);
      }

      public void actionPerformed(ActionEvent e){
        if(e.getSource()==boldbutton){
          bBoldFlag=!bBoldFlag;
          requestFocus();
        }
        if(e.getSource()==italicbutton){
          bItalicFlag=!bItalicFlag;
          requestFocus();
        }
        if(e.getSource()==largebutton){
          bLargeFlag=!bLargeFlag;
          requestFocus();
        }
        if(e.getSource()==romanbutton){
          bRomanFlag=true;
          bCourierFlag=false;
          requestFocus();
        }
        if(e.getSource()==courierbutton){
          bCourierFlag=true;
          bRomanFlag=false;
          requestFocus();
        }
        if(e.getSource()==clearbutton){
          text=" ";
          requestFocus();
        }
        repaint();
      }

      public void paint(Graphics g){
        String fontname="Roman";
        int type=Font.PLAIN;
        int size=24;
        Font font;
        if(bBoldFlag){
          type=type|Font.BOLD;
        }
        if(bItalicFlag){
          type=type|Font.ITALIC;
        }
        if(bLargeFlag){
          size=48;
        }
        if(bRomanFlag){
          fontname="Roman";
        }
        if(bCourierFlag){
          fontname="Courier";
        }
        font=new Font(fontname,type,size);
        g.setFont(font);
        fontmetrics=getFontMetrics(font);
        x=(size().width-fontmetrics.stringWidth(text))/2;
        y=(size().height+fontmetrics.getHeight())/2;
        g.drawString(text,x,y);
      }
  
      public void keyTyped(KeyEvent e){
        text=text+e.getKeyChar();
        repaint();
      }
      public void keyPressed(KeyEvent e){}
      public void keyReleased(KeyEvent e){}

      public static void main(String args[]){
        scribbler s=new scribbler();
      }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -