執行會產生一個按鈕和一個文字盒,文字盒裡面是出現123。但不能出現畫面,有錯誤
package javaapplication3;
import java.awt.*; //
import javax.swing.*; //匯入軟體
import java.awt.event.*; //為了 事件處理 ActionEvent
/**
*
* @author tsai
*/
public class Main {
public static void main(String[] args) {
MyFrame f=new MyFrame();
f.setSize(100,500);
f.setVisible(true);
}
}
class MyFrame extends JFrame implements ActionListener {
JButton b1=new JButton("第一個"); //產生一個元件物件(按鈕)
JTextField t1=new JTextField("第一個文字盒");
public MyFrame(){
setLayout(null);
b1.setBounds(50,50,100,20); //指定位置
add(b1); //加入畫面中
b1.addActionListener(this); //讓 按鈕可以聽 事件
t1.setBounds(50,200,100,20); //指定位置
add(t1); //加入畫面中
}
public void actionPerformed(ActionEvent e){
t1.setText("123");
}}
以下是錯誤訊息 (我是用NetBeans IDE 5.0)
---------------------------------------------------------------------
java.lang.Error: Do not use javaapplication3.MyFrame.add() use javaapplication3.MyFrame.getContentPane().add() instead
at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
at javax.swing.JFrame.addImpl(JFrame.java:491)
at java.awt.Container.add(Container.java:307)
at javaapplication3.MyFrame.
at javaapplication3.Main.main(Main.java:28)
Exception in thread "main"
Java Result: 1
BUILD SUCCESSFUL (total time: 16 seconds)
2007-03-16 17:23:45 · 1 個解答 · 發問者 天上的雲 2 in 電腦與網際網路 ➔ 程式設計
可是我不能執行,不知道是哪裡出問題?
2007-03-18 07:47:09 · update #1
從錯誤訊息 at javaapplication3.Main.main(Main.java:28) 可以看出發生在第 28 行。
java.lang.Error: Do not use javaapplication3.MyFrame.add() use javaapplication3.MyFrame.getContentPane().add() instead
則指出編譯器要求你使用 ContentPane 的 add(),而不要使用 JFrame 的 add()。因此請將程式碼中 add(b1); 改成下列兩行
Container contentPane = getContentPane();
contentPane.add(b1);
再將 add(t1); 改成 contentPane.add(t1); 就可以了
2007-03-19 07:31:17 · answer #1 · answered by ? 7 · 0⤊ 0⤋