67,513
社区成员
发帖
与我相关
我的任务
分享
package JFrameTest;
import JFrameTest.ScrollablePicture;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class ImageDemo extends JFrame {
private MainCavas panel;
private boolean isDrawRect = false;
public ImageDemo() {
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((d.width - 800) / 2, (d.height - 600) / 2, 800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
panel = new MainCavas();
JButton b1 = new JButton("1");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("calling b1");
}
});
b1.setBounds(2, 2, 150, 30);
this.add(b1);
JButton b2 = new JButton("2");
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("calling b2");
}
});
b2.setBounds(200, 2, 150, 30);
this.add(b2);
panel.setBounds(2, 70, 400, 450);
this.add(panel);
setVisible(true);
}
public BufferedImage getCopy(BufferedImage in) {
BufferedImage temp = new BufferedImage(in.getWidth(), in.getHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = temp.createGraphics();
g2d.drawImage(in, null, 0, 0);
return temp;
}
public static void main(String[] args) throws IOException {
new ImageDemo();
}
class MainCavas extends JPanel {
public BufferedImage m_canvas;
public ImageIcon m_mainIcon;
public JScrollPane m_scrollPane = new JScrollPane();
public AffineTransform t;
public BufferedImage m_backGround;
public Graphics2D g2d;
public ScrollablePicture m_picture;
public int clc=0;
public MainCavas() {
m_canvas = new BufferedImage(400, 450, BufferedImage.TYPE_INT_BGR);
g2d =(Graphics2D)m_canvas.getGraphics();
g2d.setColor(Color.white);
g2d.fillRect(0, 0, this.getWidth(), this.getHeight());
m_canvas.flush();
}
public void paint(Graphics g)
{
// g.drawImage(m_canvas, 0, 0, Color.red, null);
g.drawImage(m_canvas, 0, 0, null);
}
// public void paintComponent(Graphics g) {
// System.out.println("calling paintComponent...");
// super.paintComponent(g);
//
//
// }
}
}