📄 scribbler.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 + -