作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我们的游戏代码。我们之前把它作为小程序查看器,并尝试转换为 jframe,但它一直给我们 ClassCastException
错误。请帮助我们从applet转换为jframe。这是代码并告诉我们该怎么做?
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.*;
public class gg extends JFrame implements MouseListener
{
private JButton table[][];
//private boolean bomb[][];
// private boolean flag[][];
private boolean exposed[][];
//private boolean checkwinbool[][];
private int row = 16, col = 30;
private int sizex = 780, sizey = 492;
private Font f ;
private JPanel P;
private JLabel TimeRemaning, NG;
private JButton RestartE, RestartM, RestartH;
private GridLayout gl;
public gg() {
setLayout (new BorderLayout ());
gl = new GridLayout (row, col);
P = new JPanel (gl);
f = new Font ("ComicSans", Font.BOLD, 17);
setFont (f);
TimeRemaning = new JLabel ("");
NG = new JLabel ("New Game");
RestartE = new JButton ("Easy");
table = new JButton [row] [col];
//flag = new boolean [row] [col];
exposed = new boolean [row] [col];
//checkwinbool = new boolean [row] [col];
for (int x = 0 ; x < row ; x++)
{
for (int y = 0 ; y < col ; y++)
{
table [x] [y] = new JButton ();
table [x] [y].addMouseListener (this);
P.add (table [x] [y]);
}
}
//these for loops set up the buttons and sets all the boolean arrays to = false
add (P, "Center");
NG.setBackground(Color.lightGray);
NG.setForeground(Color.black);
Restart_Game (row, col, row, col, sizex, sizey);
}
public void Restart_Game (int row, int col, int prow, int pcol, int sizex, int sizey)
{
setSize (sizex, sizey);
invalidate();
validate();
gl.setRows (row);
gl.setColumns (col);
for (int x = 0 ; x < prow ; x++)
{
for (int y = 0 ; y < pcol ; y++)
{
P.remove (table [x] [y]);
}
}
for (int x = 0 ; x < row ; x++)
{
for (int y = 0 ; y < col ; y++)
{
table [x] [y].setEnabled (true);
table [x] [y].setBackground (Color.gray);
table [x] [y].setForeground (Color.white);
P.add (table [x] [y]);
//flag [x] [y] = false;
exposed [x] [y] = false;
//checkwinbool [x] [y] = false;
}
}
setSize (sizex, sizey);
invalidate();
validate();
}
public void mouseClicked (MouseEvent e)
{
if (e.getSource () == RestartE)
{
row = 10;
col = 10;
sizex = 300;
sizey = 346;
}
}
列表项
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) {}}
最佳答案
您无法将一个类转换为另一个类,您需要重新设计程序。像这样的事情:
public class GameBoard extends JPanel {
// all your stuff from gg class
}
public class GameFrame extends JFrame {
public GameFrame() {
add(new GameBoard());
}
}
public class GameApplet extends JApplet {
public GameApplet() {
add(new GameBoard());
}
}
关于java - 如何将 Applet 转换为 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34879034/
我是一名优秀的程序员,十分优秀!