Home >Java >javaTutorial >Java interface programming method to build a simple framework that can draw graphics

Java interface programming method to build a simple framework that can draw graphics

高洛峰
高洛峰Original
2017-03-09 19:03:051324browse

This article introduces the method of Java interface programming to build a simple framework that can draw graphics

Introduction: Use a total of 3.java files to build a simple interface programming framework.

The first file: NotHelloWorldComponent.java

//NotHelloWorldComponent.java
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class NotHelloWorldComponent extends JComponent {
    public static final int MESSAGE_X = 75;  //消息最左上角坐标
    public static final int MESSAGE_Y = 75;
    
    //定义此界面的默认尺寸
    private static final int DEFAULT_WIDTH = 300;  
    private static final int DEFAULT_HEIGHT = 300;
    
    //paintComponent()会被系统自动调用,并且系统会自动传递一个Graphics对象给它
    public void paintComponent(Graphics g){
        //将g转型成Graphics2D对象,作为画笔,用来画2D图形
        Graphics2D g2 = (Graphics2D)g;
        
      //创建一个Rectangle2D矩形对象
      //如果有其他图形需要绘制,可以先在此处定义,再在下个部分用g2作为画笔画出来
        double leftX = 50;
        double topY = 50;
        double width = 200;
        double height = 150;
        Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);
        
      //用画笔g2来绘制文字和矩形图形
        g2.drawString("Not a hello, World program", MESSAGE_X, MESSAGE_Y);  
        g2.draw(rect);
        
    }
    
    //覆盖此函数,设置首选的尺寸大小
    @Override
    public Dimension getPreferredSize() {
        return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    }
}

The second .java file: NotHelloWorldFrame.java

import javax.swing.JFrame;

public class NotHelloWorldFrame extends JFrame {
    public NotHelloWorldFrame(){
        add(new NotHelloWorldComponent());
        pack();    //使JFrame的大小适合其包含的组件的大小
    }
}

Description: JFrame is a frame class used to contain JPanel and JComponent.

The third .java file: NotHelloWorld.java

import java.awt.EventQueue;

import javax.swing.JFrame;

public class NotHelloWorld {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {  //使用匿名内部类技术,创建一个线程,用线程来创建窗口程序
            public void run() {
                JFrame frame = new NotHelloWorldFrame();
                frame.setTitle("NotHelloWorldFrame");    
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口的同时,程序结束,避免内存垃圾
                frame.setVisible(true);    //开启窗口可见
            }
        });
    }
}


The above is the detailed content of Java interface programming method to build a simple framework that can draw graphics. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn