私はブラック ジャック タイプのゲームを作成しており、実際のブラック ジャック フレームから、勝った/負けた金額を言って勝った/負けたときにポップアップする別のフレームに賭け金を渡したいと考えていました。私のコードは次のとおりです。
public int getBet() {
return (bet1);
}
public int getMoney() {
return (money1);
}
(上記のコードはすべてパブリック メソッドではなく、パブリック クラスにあります)。
コードで別のフレーム (ポップアップ) からこれらの get ステートメントのいずれかを使用しようとすると、
public class LoseFrame extends JFrame {
JLabel Lost;
int bet;
public LoseFrame(){
super("LoseFrame");
JFrame LoseFrame = new JFrame("");
JPanel panel = new JPanel();
panel.setBackground(Color.LIGHT_GRAY);
Lost = new JLabel("Sorry, you busted and lost $" + blackJackFrame.getBet());
panel.add(Lost);
LoseFrame.setBounds (300, 300, 400, 70);
LoseFrame.setContentPane (panel);
LoseFrame.setVisible (true);
}
}
エラーが表示されます:
C:\LoseFrame.java:27: error: non-static method getBet() cannot be referenced from a static context
Lost = new JLabel("Sorry, you busted and lost $" + blackJackFrame.getBet());
助けてくれた人に感謝します。さらに情報が必要な場合は投稿できます。しばらくこれに固執していましたが、おそらく単純なエラーです。ありがとう編集:これがblackjackframeの始まりです。2500行を超えるコードです。投稿してもよいかわかりませんが、getメソッドはパブリッククラス内にあります...読みやすくするためにいくつかのものを取り除きました
public class blackJackFrame extends JFrame implements ActionListener{
JLabel bet,money,card1,card2,card3,card4,card5,handscore;
JButton hit,deal,stand;
JRadioButton b10,b50,b100,b250,b500,b1000;
int bet1=1,money1=1000;
boolean gameinprogress = false,playerbust = false,dealerbust = false;
public blackJackFrame() {
編集 #2: blackjackFrame は、ボタンを介してメイン ページから開始されています。次のコードで開始されています。
public class PlayFrame extends JFrame implements ActionListener {
JButton slots,blackJack;
public PlayFrame(){
super("PlayFrame");
JFrame PlayFrame = new JFrame("Chrisino Lobby");
JPanel panel = new JPanel();
PlayFrame.setBounds (300, 300, 250, 100);
slots = new JButton("Slots");
blackJack = new JButton("BlackJack");
slots.addActionListener(this);
blackJack.addActionListener(this);
panel.add(slots);
panel.add(blackJack);
PlayFrame.setContentPane(panel);
PlayFrame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
JButton c = (JButton)e.getSource();
if (c.equals(slots)){
new SlotsFrame ();
}
else if (c.equals(blackJack)){
new blackJackFrame ();
}
}
}