我写了一个public class BaseFrame extends Frame的类文件 又写了一个 public class BombFrame extends BaseFrame的累文件 现在我的BombFrame 要继承BaseFrame的方法 ,但是我要现在BombFrame里面建个frame图 但是再eclipse里面 的BombFrame里面为什么不能使用frame方法?而且只能再main方法里面使用?
我是新手 不是很了解继承 求高手指点下 下面是我的代码
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class BaseFrame extends Frame {
private ConfirmDialog configDialog = null;
private static BaseFrame self = null;public BaseFrame(){self = this;
configDialog = new ConfirmDialog(this, "系统提示");
this.setSize(400,400);
this.setVisible(true);//关闭窗口是弹出Dialog提示框
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
configDialog.setVisible(true);
//弹出窗口显示中间
configDialog.ConfirmDialogsetCenter();
}
});}//居中
public void BaseFramesetCenter(){
double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
self.setLocation((int)(width-self.getWidth())/2,(int)(height-self.getHeight())/2);self.setVisible(true);
}
/**
* @param args
*/
}
***************************************************************************************************
import java.awt.CheckboxMenuItem;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
public class BombFrame extends BaseFrame {private static BaseFrame self = null;
public BombFrame(){
super();
self = this;
}
//居中
void setCenter(){
super.BaseFramesetCenter();
}/**
* @param args
*/
public static void main(String[] args) {
Frame frame = new Frame("扫雷");
frame.setSize(200,300);
frame.setVisible(true);
frame.setLayout(new FlowLayout());MenuBar menubar = new MenuBar();
frame.setMenuBar(menubar);Menu menuGame = new Menu("游戏");
Menu menuHelp = new Menu("帮助");
menubar.add(menuGame);
menubar.add(menuHelp);MenuItem menuItemBegin =new MenuItem("开始");
MenuItem menuItemLine1 =new MenuItem("-");
MenuItem menuItemSet = new MenuItem("自定义");
MenuItem menuItemOver = new MenuItem("退出");
MenuItem menuItemAbout = new MenuItem("关于");CheckboxMenuItem ckeckboxMenuItemLevel1 = new CheckboxMenuItem("初级");
CheckboxMenuItem ckeckboxMenuItemLevel2 = new CheckboxMenuItem("中级");
CheckboxMenuItem ckeckboxMenuItemLevel3 = new CheckboxMenuItem("高级");menuGame.add(menuItemBegin);
menuGame.add(menuItemLine1);
menuGame.add(ckeckboxMenuItemLevel1);
menuGame.add(ckeckboxMenuItemLevel2);
menuGame.add(ckeckboxMenuItemLevel3);
menuGame.add(menuItemSet);
menuGame.add(menuItemLine1);
menuGame.add(menuItemOver);
menuHelp.add(menuItemAbout);
// frame.setCenter();}}
- -BombFrame全写错了貌似 根本添加不进去父类的方法 。。为什么继承Frame 我都new不出来实例额?
我是新手 不是很了解继承 求高手指点下 下面是我的代码
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class BaseFrame extends Frame {
private ConfirmDialog configDialog = null;
private static BaseFrame self = null;public BaseFrame(){self = this;
configDialog = new ConfirmDialog(this, "系统提示");
this.setSize(400,400);
this.setVisible(true);//关闭窗口是弹出Dialog提示框
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
configDialog.setVisible(true);
//弹出窗口显示中间
configDialog.ConfirmDialogsetCenter();
}
});}//居中
public void BaseFramesetCenter(){
double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
self.setLocation((int)(width-self.getWidth())/2,(int)(height-self.getHeight())/2);self.setVisible(true);
}
/**
* @param args
*/
}
***************************************************************************************************
import java.awt.CheckboxMenuItem;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
public class BombFrame extends BaseFrame {private static BaseFrame self = null;
public BombFrame(){
super();
self = this;
}
//居中
void setCenter(){
super.BaseFramesetCenter();
}/**
* @param args
*/
public static void main(String[] args) {
Frame frame = new Frame("扫雷");
frame.setSize(200,300);
frame.setVisible(true);
frame.setLayout(new FlowLayout());MenuBar menubar = new MenuBar();
frame.setMenuBar(menubar);Menu menuGame = new Menu("游戏");
Menu menuHelp = new Menu("帮助");
menubar.add(menuGame);
menubar.add(menuHelp);MenuItem menuItemBegin =new MenuItem("开始");
MenuItem menuItemLine1 =new MenuItem("-");
MenuItem menuItemSet = new MenuItem("自定义");
MenuItem menuItemOver = new MenuItem("退出");
MenuItem menuItemAbout = new MenuItem("关于");CheckboxMenuItem ckeckboxMenuItemLevel1 = new CheckboxMenuItem("初级");
CheckboxMenuItem ckeckboxMenuItemLevel2 = new CheckboxMenuItem("中级");
CheckboxMenuItem ckeckboxMenuItemLevel3 = new CheckboxMenuItem("高级");menuGame.add(menuItemBegin);
menuGame.add(menuItemLine1);
menuGame.add(ckeckboxMenuItemLevel1);
menuGame.add(ckeckboxMenuItemLevel2);
menuGame.add(ckeckboxMenuItemLevel3);
menuGame.add(menuItemSet);
menuGame.add(menuItemLine1);
menuGame.add(menuItemOver);
menuHelp.add(menuItemAbout);
// frame.setCenter();}}
- -BombFrame全写错了貌似 根本添加不进去父类的方法 。。为什么继承Frame 我都new不出来实例额?
解决方案 »
- 小弟刚写了个参数特别多 ,方法特别长的方法怎么优化?
- 求一个正则表达式,如果不用正则表达式也能做到也好
- java.util.ConcurrentModificationException
- 请教高手:Socket.getInputStream().read(...) 返回-1是什么原因阿?
- java反射问题
- 使用ClassLoader.getSystemResourceAsStream遇到的问题
- 这个问题谁知道怎么搞定?
- applet中的JTextField不能够接受拷贝吗?(高分请教)
- 初学者的简单问题(解决后马上给分!)
- 类似这样的字符串“Thu Sep 5 14:05:56 2002”,怎么转化为Date对象?
- 为什么我的JPanel中加不进控件
- think in java下载
Frame frame = new Frame("扫雷");
改为
BombFrame frame = new BombFrame();
有什么区别?我刚学 思路很模糊