【发布时间】:2015-08-13 19:54:41
【问题描述】:
我正在制作一个根据用户输入是或否做出反应的窗口。我在这部分代码中遇到了问题:
public class Mywindow {
public static void main (String [] args){
windowcontinued object = new windowcontinued();
object.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //ISSUE HERE
object.setSize(700, 1024); //ISSUE HERE
object.setVisible(true); //ISSUE HERE
}
}
这些简单的操作应该确保程序在关闭时终止,具有一定的大小,并且是可见的。但出于某种原因,在所有三个操作中,我都收到错误消息:
The method setDefaultCloseOperation(int) is undefined for the type windowcontinued
The method setSize(int, int) is undefined for the type windowcontinued
The method setVisible(boolean) is undefined for the type windowcontinued
虽然,所有这些都应该在导入后已经定义。完整代码如下:
主要代码:
package Myguipackage;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Mywindow {
public static void main (String [] args){
windowcontinued object = new windowcontinued();
object.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
object.setSize(700, 1024);
object.setVisible(true);
}
}
其他类:
package Myguipackage;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Windowcontinued{
public JLabel text;
public JTextField textfield;
public windowcontinued(){ //Constructor
/* super("CHAT");
setLayout(new FlowLayout()); */
text = new JLabel ("Would you like to talk to me?");
text.add(text);
textfield = new JTextField ("Yes or no? Erase this and type in your answer!");
}
class hear implements ActionListener{
public void actionPerformed(ActionEvent event){
String string = "";
if(event.getSource()==textfield)
string = String.format("You typed in %s", event.getActionCommand());
JOptionPane.showMessageDialog(null, string); //Open a new window that displays String string, which has changed based on which field you hit enter on.
}
}
}
按照 fdsa 的建议使用 extends 关键字后,这里是新代码:
包Myguipackage;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class mywindow extends JFrame{
public static void main (String [] args){
windowcontinued object = new windowcontinued();
object.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
object.setSize(700, 1024);
object.setVisible(true);
}
}
Class windowcontinued 还是一样的。
【问题讨论】:
-
您应该尽量尊重 Java 命名约定并且您的代码几乎不可读,您应该修复它。
-
您在
windowcontinued代码中看到您调用的任何方法吗?你为什么希望他们在那里? -
这些是基于上面代码中的导入。
-
Windowcontinued 还是 windowcontinued?当您不发布实际代码时,您希望人们如何提供帮助?
-
它声明“Class windowcontinued 仍然是一样的。”在帖子的前面,我已经发布了类窗口继续,最后部分是相同的代码,但带有扩展。这一切都写在帖子本身中
标签: java swing class user-interface