
package 练习代码;
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Example9_24 {
public static void main(String args[]) {
MyFrame f = new MyFrame();
f.setBounds(70, 70, 570, 289);
f.setVisible(true);
f.validate();
}
}
class MyFrame extends JFrame implements ActionListener {
PrintJob p = null;
Graphics g = null;
JTextArea text = new JTextArea(10,10);
JButton printTextField = new JButton("打印文本框"),
printFrame = new JButton("打印窗口"),
printButton = new JButton("打印按钮");
MyFrame() {
super("在应用程序中打印");
printTextField.addActionListener(this);
printFrame.addActionListener(this);
printButton.addActionListener(this);
add(text, "Center");
JPanel panel = new JPanel();
panel.add(printTextField);
panel.add(printFrame);
panel.add(printButton);
add(panel, "South");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == printTextField) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
text.printAll(g);
g.dispose(); //释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用 Graphics对象
p.end();
}
else if(e.getSource() == printFrame) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
this.printAll(g);
g.dispose();
p.end();
}
else if(e.getSource() == printButton) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
printTextField.printAll(g);
g.translate(78, 0);
g.dispose();
printFrame.printAll(g);
g.translate(66, 0);
printButton.printAll(g);
g.dispose();
p.end();
}
}
}
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Example9_24 {
public static void main(String args[]) {
MyFrame f = new MyFrame();
f.setBounds(70, 70, 570, 289);
f.setVisible(true);
f.validate();
}
}
class MyFrame extends JFrame implements ActionListener {
PrintJob p = null;
Graphics g = null;
JTextArea text = new JTextArea(10,10);
JButton printTextField = new JButton("打印文本框"),
printFrame = new JButton("打印窗口"),
printButton = new JButton("打印按钮");
MyFrame() {
super("在应用程序中打印");
printTextField.addActionListener(this);
printFrame.addActionListener(this);
printButton.addActionListener(this);
add(text, "Center");
JPanel panel = new JPanel();
panel.add(printTextField);
panel.add(printFrame);
panel.add(printButton);
add(panel, "South");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == printTextField) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
text.printAll(g);
g.dispose(); //释放此图形的上下文以及它使用的所有系统资源。调用 dispose之后,就不能再使用 Graphics对象
p.end();
}
else if(e.getSource() == printFrame) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
this.printAll(g);
g.dispose();
p.end();
}
else if(e.getSource() == printButton) {
p = getToolkit().getPrintJob(this, "ok", null);
g = p.getGraphics(); //p用于获取一个用于打印的Graghics对象
g.translate(120, 200);
printTextField.printAll(g);
g.translate(78, 0);
g.dispose();
printFrame.printAll(g);
g.translate(66, 0);
printButton.printAll(g);
g.dispose();
p.end();
}
}
}