请问为什么下面的程序画不出来矩形呢
请问为什么下面的程序画不出来矩形呢?import java.util.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Try extends JFrame {
Frame f1;
Canvas cvs;
Graphics gf;
public Try() {
cvs = new Canvas();
cvs.setSize(200,200);
this.getContentPane().add(cvs,BorderLayout.CENTER);
this.pack();
gf = cvs.getGraphics();
gf.setColor(Color.WHITE);
gf.fillRect(0,0, 100,100);
gf.setColor(Color.BLUE);
gf.fillRect(0,0, 50,50);
}
public static void main(String[] args) {
JFrame dd= new Try();
dd.setSize(300,300);
dd.setVisible(true);
}
} --------------------编程问答-------------------- 你有很多设置、换算的东西,可是。。。打印输出呢??? --------------------编程问答-------------------- 另一个类似的程序,也是得不到图画。
import java.util.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.Graphics;
import java.awt.Color;
public class Try extends JFrame {
Frame f1;
Canvas cvs;
Graphics gf;
public Try() {
cvs = new Canvas();
cvs.setSize(200,200);
this.getContentPane().add(cvs,BorderLayout.CENTER);
this.pack();
cvs.setBackground(Color.BLACK);
gf = cvs.getGraphics();
gf.setColor(Color.yellow);
Image ig = createImage(this.getSize().width, this.getSize().height);
Graphics gh = ig.getGraphics();
gh.fillRect(0,0,100,100);
gh.setColor(Color.BLUE);
gh.fillRect(0,0,50,50);
cvs.getGraphics().drawImage(ig,0,0,this);
}
public static void main(String[] args) {
JFrame dd= new Try();
dd.setSize(300,300);
dd.setVisible(true);
}
} --------------------编程问答-------------------- 你有很多设置、换算的东西,可是。。。打印输出呢???
=============
请问如何输出图画? --------------------编程问答-------------------- import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
/**
* Displays a JFrame and draws a ractangle on it using the Java 2D Graphics API
*
* @author www.javadb.com
*/
public class Java2DFrame extends javax.swing.JFrame {
/**
* Creates a new instance of Java2DFrame
*/
public Java2DFrame() {
initComponents();
}
/**
* This is the method where the rectangle is drawn.
*
* @param g The graphics object
*/
public void paint(Graphics g) {
Graphics2D graphics2 = (Graphics2D) g;
Rectangle2D rectangle = new Rectangle2D.Float(100, 100, 240, 160);
graphics2.draw(rectangle);
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
/**
* Starts the program
*
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Java2DFrame().setVisible(true);
}
});
}
}
--------------------编程问答-------------------- /**
* This is the method where the rectangle is drawn.
*
* @param g The graphics object
*/
public void paint(Graphics g) {
Graphics2D graphics2 = (Graphics2D) g;
Rectangle2D rectangle = new Rectangle2D.Float(100, 100, 240, 160);
graphics2.draw(rectangle);
}
补充:Java , Java SE