我对Java很陌生,目前正在学习如何制作GUI。为了测试制作它们,我尝试自己制作一个。为了找出如何使文本框不可编辑,我在google网站上对其进行了搜索,并对其进行了尝试。不幸的是,当我尝试执行此操作时,出现错误“令牌上的语法错误,结构放置不正确”和“令牌上的语法错误” false”,删除此令牌”。到目前为止,这是我在文本区域中所拥有的:
JTextArea textArea = new JTextArea("Testing the text", 5, 10);
JScrollPane scrollPane = new JScrollPane(textArea);
textArea.setEditable(false);
错误发生在“ textArea”和“ setEditable”之间以及(当然)“ false”之间。尝试执行setText时,出现相同的错误。
如果有帮助,我导入的内容是:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
我还扩展了JFrame并实现了ActionListener
任何帮助,将不胜感激 :)
因此,应要求,我将其余代码发布在这里。不幸的是,我尚未在程序中走得很远,但是我将发布到目前为止的内容,并尝试尽快完成。
RunTestGui.java文件:
import javax.swing.JFrame;
public class RunTestGui {
public static void main(String[] args) {
// TODO Auto-generated method stub
TestGui gui = new TestGui();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
TestGui.java文件:
/*import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;*/
//import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
//import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;
public class TestGui extends JFrame /*implements ActionListener*/ {
//Global components
JTextArea textArea = new JTextArea("Testing the text", 5, 10);
JScrollPane scrollPane = new JScrollPane(textArea);
textArea.setEditable(false);
JTextField textBox;
//constructor
TestGui(String title){
super(title);
this.init();
this.pack();
this.setVisible(true);
}//end constructor
public void init(){
JLabel ltextBox = new JLabel("TextBox: ");
textBox = new JTextField(10);
JPanel leftPanel = new JPanel();
leftPanel.add(ltextBox);
leftPanel.add(textBox);
JPanel rightPanel = new JPanel();
rightPanel.add(textArea);
}
}
问题是您必须将此行textArea.setEditable(false);
放入方法主体中,因此可以放入构造函数或方法中:
public void init(){
JLabel ltextBox = new JLabel("TextBox: ");
textBox = new JTextField(10);
JPanel leftPanel = new JPanel();
leftPanel.add(ltextBox);
leftPanel.add(textBox);
JPanel rightPanel = new JPanel();
rightPanel.add(textArea);
textArea.setEditable(false); //<-- put it here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句