我试图在jTextArea中显示分析文本的结果,我正在通过Netbeans编写这个程序。下面是我试图修复的代码,以便在jTextArea3中显示结果,但其显示的非静态变量不能从静态内容错误中引用。因为在Netbeans中,jTextArea代码将自动生成,所以我无法更改任何内容。请帮帮我
public static void main(String[] args) throws NetworkException, AnalysisException {
File textSRC = new File("MyText.txt");
String myTextCount = null;
BufferedReader myTextBr = null;
String check = "";
try {
String myTextCurrentLine;
myTextBr = new BufferedReader(new FileReader(textSRC));
while ((myTextCurrentLine = myTextBr.readLine()) != null) {
myTextCount = myTextCount + " " + myTextCurrentLine;
}
// Sample request, showcasing a couple of TextRazor features
String API_KEY = "7d5066bec76cb47f4eb4e557c60e9b979f9a748aacbdc5a44ef9375a";
TextRazor client = new TextRazor(API_KEY);
client.addExtractor("words");
client.addExtractor("entities");
client.addExtractor("entailments");
client.addExtractor("senses");
client.addExtractor("entity_companies");
String rules = "entity_companies(CompanyEntity) :- entity_type(CompanyEntity, Company').";
client.setRules(rules);
AnalyzedText response = client.analyze(myTextCount);
File file = new File("Hello1.txt");
// creates the file
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// Writes the content to the file
for (Sentence sentence : response.getResponse().getSentences()) {
for (Word word : sentence.getWords()) {
System.out.println("----------------");
System.out.println("Word: " + word.getLemma());
for (Entity entity : word.getEntities()) {
///System.out.println("Matched Entity: " + entity.getEntityId());
}
for (Sense sense: word.getSenses()) {
//System.out.println("Word sense: " + sense.getSynset() + " has score: " + sense.getScore());
}
}
}
// Use a custom rule to match 'Company' type entities
for (Custom custom : response.getResponse().getCustomAnnotations()) {
for (Custom.BoundVariable variable : custom.getContents()) {
if (null != variable.getEntityValue()) {
for (Entity entity : variable.getEntityValue()) {
String CompanyFound = ("Variable: " + variable.getKey() +"\n"+ "Value:" + entity.getEntityId());
System.out.println(CompanyFound);
jTextArea3.append(CompanyFound);
writer.write(CompanyFound);
writer.flush();
writer.close();
}
}
}
}
}catch (IOException ex) {
}
}
你的错误很清楚,在静态上下文中,你不能引用非静态的东西。因为静态属于类级别,你不能在没有任何实例的情况下使用实例级别的东西。为此,您必须实例化一个对象才能使用它。
示例:
public class Test{
private JTextArea textArea;
public static void someMethod(){
//textArea = new JTextArea(); you can't do this
//you need an instance
Test test = new Test();
test.textArea = new JTextArea(10,10);
test.textArea.setText("Hello world");
}
}
我最近开始用Java编码,我有一个关于轮盘赌/挖掘游戏(终端)的问题。 每次尝试使用“bank.amount”购买特定商品时,都会出现以下错误: 这是我的shop.java文件 如果你需要更多的代码(例如,我的主类或银行类),请随时问我!
我正在尝试调用一个位于类的片段中的方法。现在我得到一个错误:非静态方法checkWriteStoragePermission()不能从静态内容引用。我真的没主意了。我搜索了两天没有任何结果。 我试图在其中调用方法的类: Fragment类中的方法: 我怎么能轻松搞定这个?因为我无法将其转换为静态方法。 亲切的问候,
我是Android编码的n00b,今天我想尝试使用定位服务。 我设置了一个简单的类和一个简单的main,只是为了得到经度和纬度。 但当我尝试调用retrive的构造时,long and latitude Android Studio弹出了一个错误: 错误:(33,16)错误:无法从静态上下文引用非静态变量纬度 这是我的位置班
我编写了以下测试代码: 但会出现以下错误: 我如何让我的方法识别我的类变量?
我试图从main方法中的类调用方法,但我一直得到这样的错误:我不能从静态上下文调用非静态变量。 多谢了。
我知道这个问题已经被问了很多很多次,我也读过很多答案,但是我不知道如何解决我的问题。以下是我的代码: 我最初确实通过更改来解决此问题: 到 虽然这确实有效,但我觉得这不是一个好方法。我读过一些关于实例变量的内容,但我不知道如何做到这一点。 谢谢