パッケージswingtraining;public static void main(string args [])でstaticを使用しない方法はありますか?
import static java.awt.Color.BLACK;
import java.awt.GridBagConstraints;
import static java.awt.GridBagConstraints.CENTER;
import static java.awt.GridBagConstraints.NORTH;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.LayoutManager;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFrameTest extends JFrame{
public JFrameTest(){
setSize(800,800);
setTitle("Hello :D");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setResizable(true);
setVisible(true);
}
public class GridBagLayoutTest extends GridBagLayout{
public GridBagLayoutTest(){
setLayout(new GridBagLayout());
};
};
public static class JPanelTest extends JPanel{
public JPanelTest() {
setBackground(BLACK);
setOpaque(true);
}
}
public static class JButtonTest extends JButton{
public JButtonTest(){
};
};
public void main(String args[]){
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
JFrameTest T = new JFrameTest();
JPanelTest Jp1 = new JPanelTest();
JButtonTest Jb1 = new JButtonTest();
GridBagLayoutTest Gb1 = new GridBagLayoutTest();
GridBagConstraints c = new GridBagConstraints();
c.ipadx = 100;
c.ipady = 100;
c.gridheight = 1;
c.gridwidth = 1;
c.weightx = 1;
c.weighty = 1;
c.insets = (new Insets(0,0,0,500));
Jb1.setLayout((LayoutManager) c);
T.add(Jp1);
Jp1.add(Jb1);
}
});
}
}
これをコンパイルすると、私には主な方法がないというメッセージが表示されます。私のメインメソッドを静的にすると、私はrun()でlayoutManagerを使うことができないので、どうすればこのパスを作ることができるのだろうかと思っていました。あるいは、このインスタンスでlayoutManagerを動作させる別の方法かもしれません。
「私はrun()でlayoutManagerを使用できません」という意味はどうですか?それは私にとってうまくいくはずです。しかし、はい、 'main'は有効なエントリーポイントになるために静的でなければなりません。 –
まず 'public static void main(String [] args)'メソッドを持つ "main"クラスを作り、これを使って "main"クラスのインスタンスを作成します。実際にプログラムをビルドして起動するには、「main」クラスを使用します。一般的な経験則として、 'JFrame'からの拡張は避けてください。理由はいくつかありますが、1つのユースケースにロックされます。 – MadProgrammer
' GridBagConstraints'型の 'c'を' LayoutManager'にキャストすることはできません。投稿を編集して実際のエラーメッセージをコピーして貼り付けると、「レイアウトマネージャを使用できません」と思うようになります(メインの不足に関するメッセージではありません)。 –