我是初學者,我已經撰寫了這段代碼,但它似乎不起作用。我已經運行了代碼,但由于某些原因JFrame沒有出現(類名是匈牙利語,不要介意)。
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class f?Másolgató implements ActionListener {
JButton b;
JLabel label;
JTextField tfield;
JFrame frame;
public void f?Másolgató(){
frame = new JFrame();
b = new JButton("Másolás");
label = new JLabel("");
tfield = new JTextField();
frame.add(b);
frame.add(label);
frame.add(tfield);
b.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
label.setText(tfield.getText());
}
}
public class másolgatóHasználata {
public static void main(String args[]){
new f?Másolgató();
}
}
uj5u.com熱心網友回復:
void 方法 f?Másolgató 不是類建構式。
當您實體化一個新的 f?Másolgató 時,您只是在呼叫默認的無引數建構式,而不是在您顯示JFrame.
你應該像這樣重寫它:
public class f?Másolgató implements ActionListener {
JButton b;
JLabel label;
JTextField tfield;
JFrame frame;
//This is now YOUR no-args constructor not the default one provided by Java
public f?Másolgató(){
frame = new JFrame();
b = new JButton("Másolás");
label = new JLabel("");
tfield = new JTextField();
frame.add(b);
frame.add(label);
frame.add(tfield);
b.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
label.setText(tfield.getText());
}
}
uj5u.com熱心網友回復:
你的錯誤是
public void f?Másolgató(){ ... }
是函式而不是建構式。
如果您這樣做,您的代碼將起作用:
public class másolgatóHasználata {
public static void main(String args[]){
new f?Másolgató().f?Másolgató();
}}
因為在這里他將使用默認建構式。然后他會呼叫你的函式。或者您可以通過更改來修復它:
public void f?Másolgató(){ ... }
到
public f?Másolgató(){ ... }
那么你的塊就是建構式。
提示:您可以通過逐行運行來除錯它。這將讓您知道您的塊是否已運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/458799.html
