📄 addareaframe.java
字号:
package addarea;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.geom.*;/** * <p>Title: AddArea Demo</p> * <p>Description: This is a AddArea Demo</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: D6-125</p> * @author liujun * @version 1.0 */public class AddAreaFrame extends JFrame { JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); //Construct the frame public AddAreaFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(AddAreaFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("AddArea Frame Demo"); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void paint(Graphics g) { /**@todo: Override this java.awt.Container method*/ super.paint( g); Area area1,area2,area;//声明三个区域 Graphics2D g2 = (Graphics2D)g; g2.setColor(Color.magenta);//设置显示颜色 //面积1加上面积2 area1 = new Area(new Rectangle2D.Double(30, 30, 80, 80)); area2 = new Area(new Ellipse2D.Double(60, 60, 70, 70)); area = new Area(); area.add(area1); area.add(area2); g2.draw(area1); g2.draw(area2); g2.fill(area); g2.drawString("面积1加上面积2",30,180); //面积1减去面积2 int x=1; area1 = new Area(new Rectangle2D.Double(30+x*120, 30, 80, 80)); area2 = new Area(new Ellipse2D.Double(60+x*120, 60, 70, 70)); area = new Area(); area.add(area1); area.subtract(area2); g2.draw(area1); g2.draw(area2); g2.fill(area); g2.drawString("面积1减去面积2",30+x*120,180); //面积1与面积2的交集 x=2; area1 = new Area(new Rectangle2D.Double(30+x*120, 30, 80, 80)); area2 = new Area(new Ellipse2D.Double(60+x*120, 60, 70, 70)); area = new Area(); area.add(area1); area.intersect(area2); g2.draw(area1); g2.draw(area2); g2.fill(area); g2.drawString("面积1与面积2的交集",30+x*120,180); //面积1异或面积2 x=3; area1 = new Area(new Rectangle2D.Double(30+x*120, 30, 80, 80)); area2 = new Area(new Ellipse2D.Double(60+x*120, 60, 70, 70)); area = new Area(); area.add(area1); area.exclusiveOr(area2); g2.draw(area1); g2.draw(area2); g2.fill(area); g2.drawString("面积1异或面积2",30+x*120,180); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -