我云 area TextPanel() 里面定义的啊 怎么 zai GetString()里面用呢 。。 局部变量来的啊
类的成员才可以在类的方法内使用,你这里的area只是构造函数内的一个局部变量,当然不能用了
太好了,终于知道问题所在了。改好了。 import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; public class TextCount { public static void main(String[] args) { TextFrame frame = new TextFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } }class TextFrame extends JFrame { public TextFrame() { setTitle("Text Count"); setSize(300, 300); Container contentPane = getContentPane(); TextPanel panel = new TextPanel(); contentPane.add(panel); } }class TextPanel extends JPanel { TextPanel() { //add a label to show number of content display = new JLabel("0"); add(display, BorderLayout.NORTH);
//add a button to do the count action button1 = new JButton("Count"); //1 add(button1, BorderLayout.SOUTH); //2 CountAction action1 = new CountAction(); //3 button1.addActionListener(action1); //4
//add a textarea to fill sth area = new JTextArea(12, 25); scrollPane = new JScrollPane(area); add(scrollPane, BorderLayout.CENTER); }
public String getString() { return area.getText(); }
private class CountAction implements ActionListener { public void actionPerformed(ActionEvent event) { text = TextPanel.this.getString(); //String text = textArea.getText(); //length = text.length(); //String a = (String)length; //display.setText(a);
area TextPanel()
里面定义的啊
怎么 zai GetString()里面用呢 。。 局部变量来的啊
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
public class TextCount
{
public static void main(String[] args)
{
TextFrame frame = new TextFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class TextFrame extends JFrame
{
public TextFrame()
{
setTitle("Text Count");
setSize(300, 300);
Container contentPane = getContentPane();
TextPanel panel = new TextPanel();
contentPane.add(panel);
}
}class TextPanel extends JPanel
{
TextPanel()
{
//add a label to show number of content
display = new JLabel("0");
add(display, BorderLayout.NORTH);
//add a button to do the count action
button1 = new JButton("Count"); //1
add(button1, BorderLayout.SOUTH); //2
CountAction action1 = new CountAction(); //3
button1.addActionListener(action1); //4
//add a textarea to fill sth
area = new JTextArea(12, 25);
scrollPane = new JScrollPane(area);
add(scrollPane, BorderLayout.CENTER);
}
public String getString()
{
return area.getText();
}
private class CountAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
text = TextPanel.this.getString();
//String text = textArea.getText();
//length = text.length();
//String a = (String)length;
//display.setText(a);
}
}
JButton button1;
JScrollPane scrollPane;
JLabel display;
JTextArea area;
String text;
int length;
}谢谢各位大哥!给分给分。
----------------------
http://osdev.m165.com/osdev3.htm