我如何使用 java 和 BlueJ 来显示彩色房子?
How do I go about displaying a colored house using java with BlueJ?
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Point2D;
import java.util.Scanner;
import javax.swing.JComponent;
public class CircleComponent extends JComponent {
public void paintComponent(Graphics g){
Graphics2D g2= (Graphics2D) g;
//Rectangle rect= new Rectangle(50,100,100,100);
g2.setColor(Color.RED);
g2.fillRect(50,100,100,100);
g2.setColor(Color.ORANGE);
g2.fillRect(50,80,100,30);
g2.setColor(Color.BLUE);
g2.fillRect(100,150,30,50);
g2.setColor(Color.WHITE);
g2.fillOval(120, 180, 7, 7);
//Point2D.Double p = Tester.p;
g2.setColor(Color.CYAN);
g2.fillRect(120, 31, 30, 50);
}
}
每当我这样做时,我都会收到 BlueJ 的提示(如图所示):
Prompting for printing to console
有人可以帮忙吗?
不太了解 BlueJ 是什么,也不想讽刺,但通常您需要一个 main 方法来单独拥有 class 运行....
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.*;
public class CircleComponent extends JPanel {
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
//Rectangle rect= new Rectangle(50,100,100,100);
g2.setColor(Color.RED);
g2.fillRect(50,100,100,100);
g2.setColor(Color.ORANGE);
g2.fillRect(50,80,100,30);
g2.setColor(Color.BLUE);
g2.fillRect(100,150,30,50);
g2.setColor(Color.WHITE);
g2.fillOval(120,180,7,7);
//Point2D.Double p = Tester.p;
g2.setColor(Color.CYAN);
g2.fillRect(120,31,30,50);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Jframe");
CircleComponent a = new CircleComponent();
frame.add(a);
frame.setSize(250,250);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.black);
}
}
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.Point2D;
import java.util.Scanner;
import javax.swing.JComponent;
public class CircleComponent extends JComponent {
public void paintComponent(Graphics g){
Graphics2D g2= (Graphics2D) g;
//Rectangle rect= new Rectangle(50,100,100,100);
g2.setColor(Color.RED);
g2.fillRect(50,100,100,100);
g2.setColor(Color.ORANGE);
g2.fillRect(50,80,100,30);
g2.setColor(Color.BLUE);
g2.fillRect(100,150,30,50);
g2.setColor(Color.WHITE);
g2.fillOval(120, 180, 7, 7);
//Point2D.Double p = Tester.p;
g2.setColor(Color.CYAN);
g2.fillRect(120, 31, 30, 50);
}
}
每当我这样做时,我都会收到 BlueJ 的提示(如图所示):
Prompting for printing to console
有人可以帮忙吗?
不太了解 BlueJ 是什么,也不想讽刺,但通常您需要一个 main 方法来单独拥有 class 运行....
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.*;
public class CircleComponent extends JPanel {
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
//Rectangle rect= new Rectangle(50,100,100,100);
g2.setColor(Color.RED);
g2.fillRect(50,100,100,100);
g2.setColor(Color.ORANGE);
g2.fillRect(50,80,100,30);
g2.setColor(Color.BLUE);
g2.fillRect(100,150,30,50);
g2.setColor(Color.WHITE);
g2.fillOval(120,180,7,7);
//Point2D.Double p = Tester.p;
g2.setColor(Color.CYAN);
g2.fillRect(120,31,30,50);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Jframe");
CircleComponent a = new CircleComponent();
frame.add(a);
frame.setSize(250,250);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.black);
}
}