我想调用父类里面的一个方法和变量,但是却一直没办法调用出来,,大家帮忙下
其中在调用的地方我用 //
谢谢了
代码如下class chessboard extends JPanel
{ /*
private URL blackImgURL = Gobang.class.getResource("black.gif");
private ImageIcon black = new ImageIcon(blackImgURL);
private URL whiteImgURL = Gobang.class.getResource("white.gif");
private ImageIcon white = new ImageIcon(whiteImgURL);
private URL currentImgURL = Gobang.class.getResource("current.gif");
private ImageIcon current=new ImageIcon(currentImgURL); */
public int i, j, k;
public void paintComponent(Graphics g)
{//绘制棋盘
super.paintComponent(g);
g.setColor(Color.BLACK);
for( i = 0; i < 16; i++)
{
for( j =0; j < 16; j++)
{
g.drawLine(50, 50 + j * 30, 500, 50 + j * 30);
g.drawLine(50 + j * 30, 50, 50 + j * 30, 500);
}
}
for ( i = 0; i < 16; i++)
{
String number = Integer.toString(i);
g.drawString(number, 46 + 30 * i, 45);
g.drawString(number, 33, 53 + 30 * i);
}
// updatePaint(g);
}
}class game extends chessboard
{
//在这里调用chessboard类的i
public int oldx, oldy;
Image black = getToolkit().getImage("black.gif");
Image white = getToolkit().getImage("white.gif");
class XiaZi extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
oldx = e.getX();
oldy = e.getY();
}
}
class game_easy extends Applet
{
//就在这里调用chessboard的 i, 和方法paintComponent
}
class game_secondly extends Applet
{
}
class game_difficulty extends Applet
{
}
}
其中在调用的地方我用 //
谢谢了
代码如下class chessboard extends JPanel
{ /*
private URL blackImgURL = Gobang.class.getResource("black.gif");
private ImageIcon black = new ImageIcon(blackImgURL);
private URL whiteImgURL = Gobang.class.getResource("white.gif");
private ImageIcon white = new ImageIcon(whiteImgURL);
private URL currentImgURL = Gobang.class.getResource("current.gif");
private ImageIcon current=new ImageIcon(currentImgURL); */
public int i, j, k;
public void paintComponent(Graphics g)
{//绘制棋盘
super.paintComponent(g);
g.setColor(Color.BLACK);
for( i = 0; i < 16; i++)
{
for( j =0; j < 16; j++)
{
g.drawLine(50, 50 + j * 30, 500, 50 + j * 30);
g.drawLine(50 + j * 30, 50, 50 + j * 30, 500);
}
}
for ( i = 0; i < 16; i++)
{
String number = Integer.toString(i);
g.drawString(number, 46 + 30 * i, 45);
g.drawString(number, 33, 53 + 30 * i);
}
// updatePaint(g);
}
}class game extends chessboard
{
//在这里调用chessboard类的i
public int oldx, oldy;
Image black = getToolkit().getImage("black.gif");
Image white = getToolkit().getImage("white.gif");
class XiaZi extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
oldx = e.getX();
oldy = e.getY();
}
}
class game_easy extends Applet
{
//就在这里调用chessboard的 i, 和方法paintComponent
}
class game_secondly extends Applet
{
}
class game_difficulty extends Applet
{
}
}
解决方案 »
- 关于对象数组浅克隆的问题,求解答
- 【请教】使用ObjectInputStream的readObject无法读出带有中文的对象
- 关于抽奖的小程序,数据类型int转String问题!!问了好多人都无法解决。。
- 已排序数组,用二分法查找,谁给个例子?
- javamail接收gmail邮件时一次只能接收一部分??
- 问一个简单的问题 关于j2ee得
- 如何理解反射(reflection)?
- 请问那里有visual age最新版本是多少?
- 请问我怎么将字符串按二进制方式输出?
- 刚下载jb5,我想要快速入门,请大虾花最少的时间解答但对YOU是小菜的问题?请用具体的操作教我做一个简单的数据库应用。当然只是说步鄹(从新建项目到打包运性,一定要详细罗,)代码不必了。
- 图像旋转
- java 传值和传引用疑惑
{
//就在这里调用chessboard的 i, 和方法paintComponent
int x = super.i; // 就在这里调用chessboard的 i
super.repaint(); // 在这会刷新时会调用父类的paintComponent,不要直接去调用super.paintComponent(g); // g是Graphics2D对象
}
super.paintComponent(g);那就试试直接调用方法呗
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JPanel;public class Test {
public static void main(String[] args) {
// 要使用内部类的话
game g = new game();
game.game_easy ge = g.new game_easy();
g.i = 100;
System.out.println(ge.getI()); // 应该输出100
ge.setI(200);
System.out.println(g.i); // 应该输出200
}
}class chessboard extends JPanel
{ /*
private URL blackImgURL = Gobang.class.getResource("black.gif");
private ImageIcon black = new ImageIcon(blackImgURL);
private URL whiteImgURL = Gobang.class.getResource("white.gif");
private ImageIcon white = new ImageIcon(whiteImgURL);
private URL currentImgURL = Gobang.class.getResource("current.gif");
private ImageIcon current=new ImageIcon(currentImgURL); */
public int i, j, k;
public void paintComponent(Graphics g)
{//绘制棋盘
super.paintComponent(g);
g.setColor(Color.BLACK);
for( i = 0; i < 16; i++)
{
for( j =0; j < 16; j++)
{
g.drawLine(50, 50 + j * 30, 500, 50 + j * 30);
g.drawLine(50 + j * 30, 50, 50 + j * 30, 500);
}
}
for ( i = 0; i < 16; i++)
{
String number = Integer.toString(i);
g.drawString(number, 46 + 30 * i, 45);
g.drawString(number, 33, 53 + 30 * i);
}
// updatePaint(g);
}
}class game extends chessboard
{
public int oldx, oldy;
Image black = getToolkit().getImage("black.gif");
Image white = getToolkit().getImage("white.gif");
class XiaZi extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
oldx = e.getX();
oldy = e.getY();
}
}
class game_easy extends Applet
{
// 所有的使用也好、调用也好都必须写在方法里,而不是类的声明里
// 所以你上面所有说的“在这里调用”云云的注释全部都标错地方了
// 所以即便你按照楼上大虾的方法写在那里依然报错
public void foo() {
// 使用i
i = 100;
paintComponent(null); // 调用方法,参数你自己写
}
// 你也可以这样
private int bar;
public game_easy() {
bar = i;
}
public void setI(int x) {
i = x;
}
public int getI() {
return i;
}
public int getBar() {
return bar;
}
}
class game_secondly extends Applet
{
}
class game_difficulty extends Applet
{
}
}LZ看看吧