我正在尝试创建一个程序,询问用户他们想要显示哪个形状,然后根据该输入,它会询问形状的尺寸,然后在窗口中显示它。我现在正在研究第一个形状,它是正方形,但我似乎无法让它显示在窗口中。我在这里发布了我对正方形的类和我的主要方法。
import java.util.Scanner;
import javax.swing.JComponent;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Frame;
import java.awt.Rectangle;
public class Square extends JComponent{
private static int length;
public double getArea() {
return length * length;
}
public int getPerimeter() {
return length * 4;
}
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
Rectangle square = new Rectangle(100,100,length,length);
g2.draw(square);
}
}
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.util.Scanner;
import javax.swing.JFrame;
public class Main {
static int input;
static int length;
public static void main(String[] args) {
Scanner sc1 = new Scanner(System.in);
while(true) {
System.out.print("Which shape do you want?\n1 for square\n2 for restangle\n3 for triangle\n4 for circle\n5 to exit");
input = sc1.nextInt();
if(input == (5)) {
break;
}
if(input == (1)) {
System.out.print("Input the length:");
length = sc1.nextInt();
Square mySquare = new Square();
mySquare.getPerimeter();
JFrame frame = new JFrame();
frame.setSize(300,400);
frame.setTitle("ShapeViewer");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(mySquare);
frame.setVisible(true);
}
}
}
}
我也试着放g2。画在主屏幕上,但它无法识别g2。我一直在为此出错。
就我所见,广场。长度始终为零。顺便说一句,为什么是静态的?
你需要换个班。你不是在为它设定长度。所以它默认为0,所以你看不到你的方块。也要使其非静态,因为每个方块都应该是不同的。
我添加了一个接受并设置长度的构造函数
public class Square extends JComponent{
private int length;
public Square(int length) {
this.length = length;
}
public double getArea() {
return length * length;
}
public int getPerimeter() {
return length * 4;
}
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
Rectangle square = new Rectangle(100,100,length,length);
g2.draw(square);
}
}
我正在制作一个java swing游戏。我听说swing组件不使用主动呈现(您只能重写paint方法),因此,我一直在使用BufferStrategy和Canvas。现在,我已经从JComponent和JPanel中发现了方法。如果我们可以在swing组件中进行主动呈现,为什么游戏教程仍然重写和?
问题内容: Java图形或图表库上有一个较早的线程,在该线程中发现JFreeChart相当不错, 但是 ,正如其常见问题解答所述,它并不意味着实时渲染。 谁能推荐一个支持实时渲染的类似库?只是一些基本的xy渲染-例如,从数据采集系统获取电压信号并对其进行绘制(x轴上的时间,y轴上的电压)。 问题答案: FAQ实际所说的是JFreeChart不支持硬实时图表,这意味着当新数据到达时或之后的确定时间间
问题内容: 下学期,我们有一个团队中的Java应用程序模块。该模块的要求是制作游戏。在圣诞节假期里,我一直在做一些练习,但是我想不出绘制图形的最佳方法。 我正在使用Java Graphics2D对象在屏幕上绘制形状,并每秒调用30次,但这非常闪烁。有没有更好的方法来绘制Java中的高性能2D图形? 问题答案: 您想要做的是创建一个带有BufferStrategy的canvas组件并对其进行渲染,下
问题内容: 有没有人对任何适用于Graph算法的Java库有丰富的经验。我已经尝试过JGraph并发现还可以,而且Google中有很多不同的产品。人们实际上在生产代码中成功使用了哪些东西,或者会推荐吗? 需要澄清的是,我不是在寻找可生成图形/图表的库,而是在寻找一种可用于图形算法的库,例如最小生成树,Kruskal算法的节点,边等。理想情况下,它具有一些良好的算法/数据一个漂亮的Java OO A
图形概述 理解图形系统是深入游戏开发的关键。本章详细介绍 Unity 的图形特性,例如光照和渲染。
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我想用Java绘制图形(节点和边)。但是,由于我不知道该怎么做,因此在开始之前我想寻求一些建议。 我应该怎么做? 使用Graphics2D包,对吗? 节点的标签怎么样?我应该使用诸如drawString之类的东西并手动处理所有“