java - 从 JFrame 访问方法

标签 java jframe

我创建了以下类StringToolsNS123,它由许多方法组成

public class StringToolsNS123 {

private String str;

public StringToolsNS123(String s) {
    str = s;
}

public String getString() {
    return str;
}

public void setString(String s) {
    str = s;
}

public String toString()    {
    return str;
}

public int countWord()    {

     String st = " " + str;
     char curr, prev ;
     int count =0;
     for (int i = 0; i <= st.length()-2; i++)
     {
        prev = st.charAt(i);
        curr = st.charAt(i+1);
        if (Character.isLetter(prev) == false && Character.isLetter(curr) == true)
         {
             count++;
         }
     }
     return count;
}
public void firstCaps (String str)
{
    String temp = " " + str ;
    temp = temp.toLowerCase();
    String newStr= "";
    char prev , curr ; 
    for (int loop = 1; loop < temp.length()-1; loop++)
    {
        prev = temp.charAt(loop - 1);
        curr = temp.charAt(loop);
        if (Character.isLetter(prev)== false && Character.isLetter(curr)== true )

        {
            newStr = newStr + Character.toUpperCase(curr);

        }
        else
        {
            newStr = newStr + curr ;
        }

    }
}
public void removeVowels(String str)
{
    String temp = " " + str ;
    temp = temp.toLowerCase();
    String newStr = " ";
    char prev , curr ;
    final String VOWELS = "aeiouAEIOU";

    for (int i = 1; i < temp.length()-1; i++)
    {
        prev = temp.charAt(i-1);
        curr = temp.charAt(i);
        if (Character.isLetter(prev)== false && VOWELS.indexOf(temp.charAt(i))>= 0 || VOWELS.indexOf(temp.charAt(i))== - 1 )
        {
            newStr = newStr + temp.charAt(i);
        }
    }
   str = newStr ;

}
private String encodeWord (String w )
{
    final String VOWELS = "aeiouAEIOU";
    if (VOWELS.indexOf(w.charAt(0))== -1 )

    {
        w = w.substring(1) + w.charAt(0);

    }
     w = w + "ay";
     return  w; 
}
public void pigLatin (String str)
{
    String singleWord, temp = " " + str + " ";
    int begin = 0;
    temp = temp.toLowerCase ();
    String pigStr = " ";
    char prev, curr;
    for (int loop = 1; loop < temp.length ()-1; loop++)
    {
        prev = temp.charAt(loop-1);
        curr = temp.charAt(loop);
        if (Character.isLetter(prev) == false && 
                Character.isLetter(curr) == (true))
        {
            begin = loop;
        }
        if (Character.isLetter(prev) == true && 
                Character.isLetter(curr) == (false))
    {
        singleWord = temp.substring (begin,loop);
        pigStr = pigStr + encodeWord (singleWord) + " "; 
    }
    }
}
public String reverse(String str){
    int strLeng = str.length()-1;
    String reverse = "", temp = "";

    for(int i = 0; i <= strLeng; i++){
        temp += str.charAt(i);
        if((str.charAt(i) == ' ') || (i == strLeng)){
            for(int j = temp.length()-1; j >= 0; j--){
                reverse += temp.charAt(j);
                if((j == 0) && (i != strLeng))
                {
                    reverse += " ";
                }
            }
            temp = "";
        }
    }

    return reverse;
}




}

我遇到的问题是从同一包中的 JFrame 访问这些方法,我尝试过

   StringToolsNS123 str = new StirngToolsNS123 () ; 

但是它给出了一个错误,说未找到类

提前致谢!

最佳答案

StringToolsNS123 的构造函数需要一个 String

StringToolsNS123 str = new StringToolsNS123("some string");

您需要从 getFirstCaps 返回一个字符串才能从 JFrame 类获取访问权限:

public String firstCaps(String str) {
   ...
   return newStr;
}
<小时/>

通常,此类类是作为具有静态方法的实用程序类实现的。在这种情况下,不需要实例,其用法将是:

String firstCaps = MyStringUtilities.getFirstCaps("some string");

关于java - 从 JFrame 访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15907480/

相关文章:

java - Android应用无法构建-出现异常失败

java - 如何知道一个类是来自 JRE 还是来自外部 Jar?

java - 仅使用 If 语句查找数组中的元素

java - 如何在 netbeans 中使用 choice.showOpenDialog(parent) ?

java - 我的 JFrame 不刷新

java - 我向框架添加了按钮,但它们仍然不会显示

java - HashMaps 中带有自定义比较器的 TreeMaps

工作队列的 Java 并发抽象

java - 将控制权返回给小程序

java - 为具有多个页面的Java应用程序创建可执行文件