java - Java Getter 和 Setter 在 Swing ActionListner 中不起作用
问题描述
我正在用 Java 制作代码编辑器,并使用RSyntaxTextArea
jar 文件来获取帮助。问题是 - 有一个ComboBox
我们可以切换语言的应用程序。RSyntaxTextArea
:中有两种方法,setSyntaxEditingStyle()
它们在动作侦听getSyntaxEditingStyle()
器中不起作用。ComboBox
请帮助我,我被严重卡住了。这是代码。两种方法:
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
and
String a = textArea.getSyntaxEditingStyle();
不能在动作事件函数中工作。它们在外面工作得很好,但没有办法在外面使用它。
public void actionPerformed(ActionEvent e) {
if ( language == "Python") {
try {
textArea.setSyntaxEditingStyle(null);
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON);
textArea.getSyntaxEditingStyle();
String command = "python " + opened_file;
Runtime.getRuntime().exec("cmd /c start cmd.exe /K " + command);
} catch (IOException e5) {
e5.printStackTrace();
}
}
else if (language == "Java") {
try {
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here {
textArea
.setSyntaxEditingStyle(
SyntaxConstants.SYNTAX_STYLE_JAVA
);
String a = textArea.getSyntaxEditingStyle();
System.out.println(a);
// Look Here }
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
// Look Here
String classpath = opened_file.replace(".java", "");
String [] last_name_list = opened_file.split("\\\\");
String lastname = last_name_list[last_name_list.length - 1];
String folderpath = opened_file.replace(lastname, "");
String []classpath_1 = classpath.split("\\\\");
String class_file = classpath_1[classpath_1.length-1];
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c start cmd.exe /K \"cd " + folderpath + " && javac " + opened_file + " && java " + class_file +"\"");
}catch (Exception e5) {
e5.printStackTrace();
}
}
解决方案
我解决了这个问题。有时 getter 和 setter 在动作函数中不起作用。为了解决这个问题,我们可以使用线程。首先将您的变量声明为 volatile。
然后在线程函数中使用 if else 并在那里使用 getter 和 setter
推荐阅读
- python - 根据列中存在的项目过滤数据框
- python - 在 python 中安装 ccxt 模块时经常出现错误
- javascript - Javascript - 从页面中获取元素点击它。getElementsByClassName 不起作用
- ios - 带有分页和缩放的嵌套 UIScrollView
- python - 根据 Python 实现有条件地从 requirements.txt 安装
- python - 如何更改 json 响应
- java - ConcurrentModificationException 逻辑分解
- git - 强制推送到远程存储库后无法执行 git revert
- html - Jekyll 包括在没有模板的情况下无法在 GitHub Pages 中工作
- python - 使用 pandas Python 循环文件