這個程序的目的是從另一個類訪問私有變量jtextfield。我創建了這個簡單的程序,它接受來自JTextField的用戶輸入。我在一個類中有getter和setter方法,而另一個類中有按鈕和字段。因此,我想在用戶在文本框中輸入內容時打印某些內容。但按鈕被點擊時,程序不打印,並給出一個錯誤:如何在GUI中爲私有變量應用Getter/Setter方法?
錯誤:javax.swing.JTextField中[,140,62,124x20,佈局= javax.swing.plaf.basic.BasicTextUI中
我是否正確地初始化了getter和setter方法?
例1:
import javax.swing.*;
class Example1 {
private JTextField Name;
public Example1(){
Name = null;
}
public Example1(JTextField n){
Name = n;
}
public void setName(JTextField Name) {
this.Name = Name;
}
public JTextField getName() {
return Name;
}
}
例2:
import javax.swing.*;
import java.awt.event.*;
public class Example2
{
JFrame frame = new JFrame();
JPanel panel = new JPanel();
private JTextField Name = new JTextField();
private JButton Button = new JButton("Print");
public Example2(){
panel.setLayout(null);
Name.setBounds(140, 62, 124, 20);
Button.setBounds(320, 62, 133, 20);
panel.add(Name);
panel.add(Button);
frame.add(panel);
frame.setSize(470,310);
frame.setVisible(true);
Button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
add(Name);
}
});
}
public static void add(JTextField Name){
Example1 x = new Example1();
x.setName(Name);
JTextField a = x.getName();
System.out.println(a);
}
public static void main(String [] args){
Example2 print = new Example2();
}
}
作爲一個方面說明,在Java的標準是使用'lowerCamelCase'成員變量。 – 2013-03-08 17:51:28