Maison > Java > javaDidacticiel > Méthode de programmation d'interface Java pour créer un cadre simple capable de dessiner des graphiques

Méthode de programmation d'interface Java pour créer un cadre simple capable de dessiner des graphiques

高洛峰
Libérer: 2017-03-09 19:03:05
original
1322 Les gens l'ont consulté

Cet article présente la méthode de programmation d'interface Java pour créer un cadre simple capable de dessiner des graphiques

Introduction : utilisez un total de 3 fichiers .java pour créer un cadre de programmation d'interface simple.

Le premier fichier : 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);
    }
}
Copier après la connexion

Le deuxième fichier .java : NotHelloWorldFrame.java

import javax.swing.JFrame;

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

Explication : JFrame est une classe frame, utilisée pour contiennent JPanel et JComponent.

Le troisième fichier .java : 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);    //开启窗口可见
            }
        });
    }
}
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal