Java “;实际或正式参数列表的长度不同”;
为什么我的代码不能Java “;实际或正式参数列表的长度不同”;,java,swing,user-interface,methods,compiler-errors,Java,Swing,User Interface,Methods,Compiler Errors,为什么我的代码不能AddQnA qa=newaddqna()在最后一段的DisplayQnA工作 我正在创建一个GUI,似乎无法创建调用方来调用AddQnA类中的arraylist,因此我想知道是否有人知道 public static class AddQnA extends JDialog { JLabel label, label2, label3, label4; JTextField question, answer; JButton input, reset;
AddQnA qa=newaddqna()代码>在最后一段的DisplayQnA
工作
我正在创建一个GUI,似乎无法创建调用方来调用AddQnA
类中的arraylist,因此我想知道是否有人知道
public static class AddQnA extends JDialog {
JLabel label, label2, label3, label4;
JTextField question, answer;
JButton input, reset;
JTextArea textarea;
ArrayList<String> ques = new ArrayList<>();
ArrayList<String> ans = new ArrayList<>();
public AddQnA(JFrame frame) {
super(frame, "Add Question & Answer", true);
setLayout(new FlowLayout());
label = new JLabel("Question :");
add(label);
question = new JTextField(60);
add(question);
label2 = new JLabel("Answer : ");
add(label2);
answer = new JTextField(60);
add(answer);
input = new JButton("Submit");
add(input);
reset = new JButton("Reset");
add(reset);
label3 = new JLabel("Please use the \"x\" on the top right to exit
this section");
add(label3);
label4 = new JLabel("");
add(label4);
textarea = new JTextArea(10, 25);
add(textarea);
textarea.setEditable(false);
Reset a = new Reset();
reset.addActionListener(a);
Submit b = new Submit();
answer.addKeyListener(b);
Submit c = new Submit();
input.addActionListener(c);
}
}
public static class DisplayQnA extends JDialog {
JLabel label;
JTextArea textarea;
AddQnA qa = new AddQnA();
public DisplayQnA(JFrame frame) {
super(frame, "Display Question & Answer", true);
setLayout(new FlowLayout());
label = new JLabel("Displaying All Questions And Asnwers");
add(label);
textarea = new JTextArea(10, 25);
add(textarea);
textarea.setEditable(false);
for (int i = 0; i < qa.ques.size(); i++) {
if (qa.ques.get(i) != null) {
System.out.println("Question: " + qa.ques.get(i));
System.out.println("Answer: " + qa.ans.get(i) + "\n");
} else {
System.out.println("There are no newly added questions or
answers");
}
}
}
公共静态类AddQnA扩展JDialog{
JLabel标签,标签2,标签3,标签4;
JTextField问题、答案;
按钮输入,复位;
JTextArea textarea;
ArrayList ques=新的ArrayList();
ArrayList ans=新的ArrayList();
公共AddQnA(JFrame){
超级(框架,“添加问题和答案”,正确);
setLayout(新的FlowLayout());
标签=新的JLabel(“问题:”);
添加(标签);
问题=新的JTextField(60);
加上(问题);
label2=新的JLabel(“答案:”);
添加(标签2);
答案=新的JTextField(60);
加(答);
输入=新按钮(“提交”);
添加(输入);
重置=新的按钮(“重置”);
添加(重置);
label3=新的JLabel(“请使用右上角的\“x\”退出
本条“);
添加(标签3);
label4=新的JLabel(“”);
添加(标签4);
textarea=新的JTextArea(10,25);
添加(文本区域);
textarea.setEditable(false);
重置a=新的重置();
reset.addActionListener(a);
提交b=新提交();
答:addKeyListener(b);
提交c=新提交();
input.addActionListener(c);
}
}
公共静态类DisplayQnA扩展JDialog{
JLabel标签;
JTextArea textarea;
AddQnA qa=新的AddQnA();
公共显示QNA(JFrame){
super(框,“显示问题和答案”,true);
setLayout(新的FlowLayout());
标签=新的JLabel(“显示所有问题和询问”);
添加(标签);
textarea=新的JTextArea(10,25);
添加(文本区域);
textarea.setEditable(false);
对于(int i=0;i
AddQnA有一个参数为JFrame的构造函数。因此必须发送JFrame对象
使用JFrame对象调用它。在代码中:
public static class DisplayQnA extends JDialog {
JLabel label;
JTextArea textarea;
AddQnA qa;
public DisplayQnA(JFrame frame) {
super(frame, "Display Question & Answer", true);
qa = new AddQnA(frame)
那么,我应该在哪里添加此代码呢?对不起,我有点模糊您需要它的地方,可以是public DisplayQnA(JFrame frame){public DisplayQnA(JFrame frame){super(frame,“Display Question&Answer”,true);setLayout(new FlowLayout());new AddQnA(frame);像这样?AddQnA qa qa=new AddQnA();
应该改为只AddQnA qa;
&qa=new AddQnA(frame);
需要在构造函数内部,其中frame
在范围内。顺便说一句“仅限编号ID”的人,祝贺2K代表:)对不起,我有点傻,因为这对我来说还是新的