java 編譯哪裡有問題?

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class BorderLayout {

public static void main(String args[]) {

JFrame frame = new JFrame("BorderLayout");

//frame.setLayout(new BorderLayout());

BorderLayout b_layout = new BorderLayout();

frame.setLayout(b_layout);

JButton btnA = new JButton("A");

JButton btnB = new JButton("B");

JButton btnC = new JButton("C");

JButton btnD = new JButton("D");

JButton btnE = new JButton("E");

frame.add(btnA, BorderLayout.EAST);

frame.add(btnB, BorderLayout.WEST);

frame.add(btnC, BorderLayout.SOUTH);

frame.add(btnD, BorderLayout.NORTH);

frame.add(btnE, BorderLayout.CENTER);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(1024,768);

frame.setVisible(true);

}

}

請問這段程式一直編譯失敗,是哪裡錯誤啊?

還有這段寫法frame.setLayout(new BorderLayout());

能寫成這樣嗎?BorderLayout b_layout = new BorderLayout();

frame.setLayout(b_layout);

是簡化得寫法嗎?

其它的版面配置寫法Flow layout、Gride layout、Carder layout、等等的寫法,都能像上面那樣縮減嗎?

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    1.程式名字和java.awt.BorderLayout重覆了,所以你在new Instance的時候會分不清楚,改個名字就可以跑了。

    2.兩個寫法都是沒有問題的,第一個寫法適合使用Layout都是使用預設值的情況,第二個寫法適合你還要對Layout做一些預設之外的處理

    import java.awt.BorderLayout;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    public class BorderLayoutTest {

    public static void main(String args[]) {

    JFrame frame = new JFrame("BorderLayout");

    //frame.setLayout(new BorderLayout());

    BorderLayout b_layout = new BorderLayout();

    frame.setLayout(b_layout);

    JButton btnA = new JButton("A");

    JButton btnB = new JButton("B");

    JButton btnC = new JButton("C");

    JButton btnD = new JButton("D");

    JButton btnE = new JButton("E");

    frame.add(btnA, BorderLayout.EAST);

    frame.add(btnB, BorderLayout.WEST);

    frame.add(btnC, BorderLayout.SOUTH);

    frame.add(btnD, BorderLayout.NORTH);

    frame.add(btnE, BorderLayout.CENTER);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setSize(1024, 768);

    frame.setVisible(true);

    }

    }

  • Anonymous
    6 years ago

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    【 最新活動→迎接新會員,首存狂送20% 】

    【運動→電子→對戰→現場→彩球 】

    【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

Still have questions? Get your answers by asking now.