「javagraphic」javagraphics画图一下就没了
本篇文章给大家谈谈javagraphic,以及javagraphics画图一下就没了对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java graphic 问题
- 2、JAVA中的Graphics怎么用啊。
- 3、JAVA中的Graphics怎么用?
- 4、谁可以跟我讲讲java中的Graphics是用来干什么的???具体点,通俗点~
java graphic 问题
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ShowGraphics extends JFrame implements ActionListener {
JFrame frame = new JFrame("Graphics frame");
DPanel dp = new DPanel();
JPanel panel = new JPanel();
JButton b1 = new JButton("up");
JButton b2 = new JButton("down");
Graphics g;//---------
public ShowGraphics() {
frame.setLayout(new BorderLayout());
frame.add(panel, BorderLayout.SOUTH);
frame.add(dp, BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setVisible(true);
panel.setLayout(new FlowLayout());
panel.add(b1);
panel.add(b2);
b1.addActionListener(this); // add color and action lisener
b2.addActionListener(this);
}
public class DPanel extends JPanel {
public void paintComponent(Graphics g) {
// int x;
if (ShowGraphics.this.g == null) {//---------
ShowGraphics.this.g = g;//---------
}//---------
g.drawLine(350, 500, 350, 600);
g.drawOval(300, 400, 100, 100);
g.setColor(Color.RED);
g.fillOval(300, 400, 100, 100);
dp.repaint();
}
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
g.drawOval(300 + 5, 400 + 10, 100, 100);
g.drawLine(350 + 5, 500 + 10, 350, 600);
// g.fillOval(300+5,400+10,100,100);
}
if (e.getSource() == b2) {
g.drawOval(300 - 5, 400 + 10, 100, 100);
g.drawLine(350 - 5, 500 + 10, 350, 600);
// g.fillOval(300-5,400+10,100,100);
}
dp.repaint();
}
public static void main(String[] args) {
ShowGraphics sg = new ShowGraphics();
}
}
JAVA中的Graphics怎么用啊。
Graphics这个是抽象类,它的对象是用来传给paint()方法作为画笔的,示例程序如下:
import java.awt.*;//引入的包,Graphics所在的包
public class TestGraphics extends Frame{
public static void main(String[] args) {
TestGraphics gp = new TestGraphics();
gp.setBounds(300,300,100,100);
gp.setVisible(true);
}
/*下面的方法用的Graphics的对象g作为paint方法的参数
public void paint(Graphics g){
Color c = g.getColor();
g.fillOval(100, 100, 50, 50);
g.setColor(c);
}
}
JAVA中的Graphics怎么用?
Graphics这个是抽象类,它的对象是用来传给paint()方法作为画笔的,示例程序如下:
import java.awt.*;//引入的包,Graphics所在的包
public class TestGraphics extends Frame{
public static void main(String[] args) {
TestGraphics gp = new TestGraphics();
gp.setBounds(300,300,100,100);
gp.setVisible(true);
}
/*下面的方法用的Graphics的对象g作为paint方法的参数
public void paint(Graphics g){
Color c = g.getColor();
g.fillOval(100, 100, 50, 50);
g.setColor(c);
}
}
谁可以跟我讲讲java中的Graphics是用来干什么的???具体点,通俗点~
Graphics 类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。
Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。此状态信息包括以下属性:
要在其上绘制的 Component 对象。
呈现和剪贴坐标的转换原点。
当前剪贴区。
当前颜色。
当前字体。
当前逻辑像素操作函数(XOR 或 Paint)。
当前 XOR 交替颜色(参见 setXORMode(java.awt.Color))。
坐标是无限细分的,并且位于输出设备的像素之间。绘制图形轮廓的操作是通过使用像素大小的画笔遍历像素间无限细分路径的操作,画笔从路径上的锚点向下和向右绘制。填充图形的操作是填充图形内部区域无限细分路径操作。呈现水平文本的操作是呈现字符字形完全位于基线坐标之上的上升部分。
图形画笔从要遍历的路径向下和向右绘制。其含义如下:
如果绘制一个覆盖给定矩形的图形,那么该图形与填充被相同矩形所限定的图形相比,在右侧和底边多占用一行像素。
如果沿着与一行文本基线相同的 y 坐标绘制一条水平线,那么除了文字的所有下降部分外,该线完全画在文本的下面。
所有作为此 Graphics 对象方法的参数而出现的坐标,都是相对于调用该方法前的此 Graphics 对象转换原点的。
所有呈现操作仅修改当前剪贴区所限定区域内的像素,此剪贴区是由用户空间中的 Shape 指定的,并通过使用 Graphics 对象的程序来控制。此用户剪贴区 被转换到设备空间中,并与设备剪贴区 组合,后者是通过窗口可见性和设备范围定义的。用户剪贴区和设备剪贴区的组合定义复合剪贴区,复合剪贴区确定最终的剪贴区域。用户剪贴区不能由呈现系统修改,以反映得到的复合剪贴区。用户剪贴区只能通过 setClip 或 clipRect 方法更改。所有的绘制或写入都以当前的颜色、当前绘图模式和当前字体完成。
关于javagraphic和javagraphics画图一下就没了的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。