绘制矩形和椭圆
Drawing rectangles and oval
如果之前有人问过我的问题(我搜索过但找不到答案),首先抱歉
这是问题:
我想在用户键入 1 或 2 时绘制矩形和椭圆形。我正在使用 JAVA 进行编程,这是我的代码。
package shapes;
import java.awt.Graphics;
import javax.swing.JPanel;
public class shapes extends JPanel
{
private int choise;
public shapes (int userchoise)
{
choise=userchoise;
}
public void paintcomponent (Graphics g)
{
super.paintComponent(g);
for (int i=0; i<=10; ++i)
{
switch (choise)
{
case 1 :
g.drawRect(10+i*10, 10+i*10, 50+i*10, 50+i*10);
break;
case 2:
g.drawOval(10+i*10, 10+i*10, 50+i*10, 50+i*10);
break;
}
}
}
}
这是主要的class:
package shapes;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class shapestest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String input= JOptionPane.showInputDialog("Please enter 1"
+ " to drawing rectangel"+"Please enget 2 to drawing oval");
int choise = Integer.parseInt(input);
shapes myshape=new shapes (choise);
JFrame application = new JFrame();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.add(myshape);
application.setSize(300, 300);
application.setVisible(true);
}
}
问题是当我 运行 程序(类型 1 和 2 之后)
时我什么都看不到
如何解决这个问题?
....
伙计们,我终于找到了解决问题的方法(感谢 @kiheru
此代码的唯一问题是区分大小写:paintcomponent
与 paintComponent
public void paintcomponent (Graphics g)
不同。因此,如果您进行此更改,代码将起作用。
public void paintcomponent (Graphics g)
在此方法声明之前使用@Override
表示法。这将显示编译错误。
要修复它,请为 Component
使用大写字母:
@Override
public void paintComponent (Graphics g)
如果之前有人问过我的问题(我搜索过但找不到答案),首先抱歉 这是问题: 我想在用户键入 1 或 2 时绘制矩形和椭圆形。我正在使用 JAVA 进行编程,这是我的代码。
package shapes;
import java.awt.Graphics;
import javax.swing.JPanel;
public class shapes extends JPanel
{
private int choise;
public shapes (int userchoise)
{
choise=userchoise;
}
public void paintcomponent (Graphics g)
{
super.paintComponent(g);
for (int i=0; i<=10; ++i)
{
switch (choise)
{
case 1 :
g.drawRect(10+i*10, 10+i*10, 50+i*10, 50+i*10);
break;
case 2:
g.drawOval(10+i*10, 10+i*10, 50+i*10, 50+i*10);
break;
}
}
}
}
这是主要的class:
package shapes;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class shapestest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String input= JOptionPane.showInputDialog("Please enter 1"
+ " to drawing rectangel"+"Please enget 2 to drawing oval");
int choise = Integer.parseInt(input);
shapes myshape=new shapes (choise);
JFrame application = new JFrame();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.add(myshape);
application.setSize(300, 300);
application.setVisible(true);
}
}
问题是当我 运行 程序(类型 1 和 2 之后)
时我什么都看不到如何解决这个问题? .... 伙计们,我终于找到了解决问题的方法(感谢 @kiheru
此代码的唯一问题是区分大小写:paintcomponent
与 paintComponent
public void paintcomponent (Graphics g)
不同。因此,如果您进行此更改,代码将起作用。
public void paintcomponent (Graphics g)
在此方法声明之前使用@Override
表示法。这将显示编译错误。
要修复它,请为 Component
使用大写字母:
@Override
public void paintComponent (Graphics g)