gpt4 book ai didi

java - 如何将 Applet 转换为 JFrame

转载 作者:行者123 更新时间:2023-12-01 10:34:16 25 4
gpt4 key购买 nike

这是我们的游戏代码。我们之前把它作为小程序查看器,并尝试转换为 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;
}
}
  1. 列表项

    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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com