求救JAVA板面解答

設計兩個格子版面配置六個按鈕元件分別標 "一"、"二"、"三"、"四"

、"五","六",分別配置於第一至六格。第一個格子版面配置為二列三行

,第二個格子版面配置為三列二行,當您按其中一個按鈕時轉換格子版面

配置,第一轉第二,或第二轉第一。

以下範例碼↓

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import MyWindowListener;

public class MyGrid extends JFrame

{

private String name[] = {"一","二","三","四","五","六"};

private JButton button[] = new JButton[name.length];

private Container c;

public MyGrid()

{

super("MyGrid.java: GridLayout格子配置");

c = getContentPane();

c.setLayout(new GridLayout(2, 3, 4, 5));

for (int i=0; i<name.length; i++)

{

button[i] = new JButton(name[i]);

c.add(button[i]);

}

setSize(300, 150);

show();

}

public static void main( String args[] )

{

MyGrid app = new MyGrid();

app.addWindowListener(new MyWindowListener());

}

}

請大大們幫忙解答 小弟萬分感謝 ^_^

2 個解答

評分
  • 1 0 年前
    最佳解答

    package demo;

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    //import MyWindowListener;

    public class Demo extends JFrame {

    private String name[] = { "一", "二", "三", "四", "五", "六" };

    private JButton button[] = new JButton[name.length];

    private Container c;

    public Demo() {

    super("MyGrid.java: GridLayout格子配置");

    c = getContentPane();

    c.setLayout(new GridLayout(2, 3 ));

    for (int i = 0; i < name.length; i ) {

    button[i] = new JButton(name[i]);

    c.add(button[i]);

    }

    setSize(400, 200);

    setVisible(true);

    button[0].addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e) {

    c.setLayout(new GridLayout(2,3));

    setVisible(true);

    System.out.println("123");

    }

    });

    button[1].addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e) {

    c.setLayout(new GridLayout(3,2));

    System.out.println("456");

    setVisible(true);

    }

    });

    }

    public static void main(String[] args) {

    new Demo();

    }

    }

    2008-12-11 21:24:11 補充:

    不知道這是不是你要的!

    把所有app.addWindowListener(new MyWindowListener());先mark掉吧!

    然候你的button要記的註策,不然按也沒有反應的。

    接著c.setLayout(new GridLayout(2,3)); 去改變他的row與column

    再利用setVisible(true)重新show一次就可以了!

    2008-12-11 21:25:35 補充:

    你跟那個~誰誰誰的(忘了)~是同學嗎!你們都有什麼MyWindowListener( )這個東西的~真奇怪~

    2008-12-18 23:02:38 補充:

    謝謝!

  • 吉他
    Lv 5
    1 0 年前

    這裡一堆問作業的,當然會常常回答到相同的問題,而且還是同 個時間出現同樣的問題,JK,你自己看看自己的回答記錄就知道了,一排都是作業題,呵呵,作業解題達人

還有問題?馬上發問,尋求解答。