-1
を示し、これはこれは、メモリのゲームプログラムの一部であるは、GUIフレームを構築するが、それは空白の
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Frame extends JFrame
{
private static final int FRAME_WIDTH = 1000;
private static final int FRAME_HEIGHT = 800;
private final int FIELD_WIDTH = 10;
private ImageIcon image1;
private JLabel label1;
private ImageIcon image2;
private JLabel label2;
private ImageIcon image3;
private JLabel label3;
private JComboBox combo;
private JTextField textField1;
private JTextField textField2;
private JButton button;
private JPanel ChoosePanel;
private JPanel ImagePanel;
public Frame()
{
createImagePanel();
createChoosePanel();
add(ChoosePanel,BorderLayout.CENTER);
add(ImagePanel, BorderLayout.SOUTH);
setSize(FRAME_WIDTH,FRAME_HEIGHT);
}
//create a image panel for images
public void createImagePanel()
{
ImagePanel = new JPanel();
ImagePanel.setLayout(new GridLayout(2,3));
image1 = new ImageIcon(getClass().getResource("cover.jpg"));
label1 = new JLabel(image1);
ImagePanel.add(label1);
ImagePanel.add(label1);
ImagePanel.add(label1);
ImagePanel.add(label1);
ImagePanel.add(label1);
ImagePanel.add(label1);
}
//create a panel for combobox and textfield
public void createChoosePanel()
{
ChoosePanel = new JPanel();
ChoosePanel.setLayout(new GridLayout(1,4));
combo =new JComboBox();
combo.addItem("reveal");
combo.addItem("cover");
combo.addItem("done");
ChoosePanel.add(combo);
textField1 = new JTextField(FIELD_WIDTH);
textField2 = new JTextField(FIELD_WIDTH);
ChoosePanel.add(textField1);
ChoosePanel.add(textField2);
button = new JButton("check");
ChoosePanel.add(button);
}
//Frame uses BorderLayout by default
}
フレームクラスです。最初に、画像、ボタン、テキストフィールドを持つGUIフレームを構築する必要があります。コンパイルすることはできますが、実行すると空白のフレームしか表示されません。問題はわかりません。
1) 'ImagePanel.add(label1); ImagePanel.add(label1); .. ..各コンポーネントはGUIに一度だけ追加できます。あなたはそれを6回追加することで何を達成すると思いましたか? 2)一般的なJava命名法(命名規則 - 例えば 'EachWordUpperCaseClass'、' firstWordLowerCaseMethod() '、' firstWordLowerCaseAttribute'が 'UPPER_CASE_CONSTANT'以外の場合)を学び、それを一貫して使用してください。 –
1.メソッド 'public class Frame extends JFrame'は' public class MyFrame extends JFrame'でなければなりません。標準APIで定義されている 'java.awt.Frame'がコンテナ – mKorbel