JAVA程序不显示窗体
我在网上看到别人的程序packagening;importjava.awt.event.*;importjavax.swing.*;importjava.awt.*;pu...
我在网上看到别人的程序package ning;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class PlusAction {
public static void main(String[] args) {
new PlusActionFrame();
}
}
class PlusActionFrame extends JFrame {
private static final long serialVersionUID = 1L;
public PlusActionFrame() {
this.setSize(400, 200);
JLabel label1 = new JLabel("用户名:");
JLabel label2 = new JLabel("密码:");
JPanel panel = new JPanel();
final JTextField text1 = new JTextField(30);
//text1.setSize(20, 20);
final JTextField text2 = new JTextField(10);
final JTextField text3 = new JTextField(20);
//text1.setSize(20, 20);
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(text3);
JButton button = new JButton("登陆");
JButton button2 = new JButton("重置");
panel.add(button);
panel.add(button2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(panel);
this.setVisible(true);
}
}我自己也写了一个差不多的程序import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import java.awt.*;
public class moon{
public static void main(String[] args){
sun gui=new sun();
}}
class sun extends JFrame {
private static final long serialVersionUID = 1L;
Button select=new Button("查询");
Button insert=new Button("添加");
Button delete=new Button("删除");
Button modify=new Button("修改");
TextField tid=new TextField(200);
TextField tname=new TextField(12);
TextField tsex=new TextField(12);
TextField tcost=new TextField(12);
TextField twork=new TextField(12);
TextArea tshow=new TextArea(5,10);
void sun()
{
this.setSize(400, 200);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JLabel id=new JLabel("id:",JLabel.RIGHT);
JLabel name=new JLabel("name:",JLabel.RIGHT);
JLabel sex=new JLabel("sex:",JLabel.RIGHT);
JLabel cost=new JLabel("cost:",JLabel.RIGHT);
JLabel work=new JLabel("work:",JLabel.RIGHT);
panel1.add(id);panel1.add(tid);
panel1.add(name);panel1.add(tname);
panel1.add(sex);panel1.add(tsex);
panel1.add(cost);panel1.add(tcost);
panel1.add(work); panel1.add(twork);
panel1.add(select);panel1.add(insert);
panel1.add(delete);panel1.add(modify);
panel2.add(tshow);
this.add(panel1);this.add(panel2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}它就不显示窗体,点击运行,什么反应都没有!求助啊! 展开
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class PlusAction {
public static void main(String[] args) {
new PlusActionFrame();
}
}
class PlusActionFrame extends JFrame {
private static final long serialVersionUID = 1L;
public PlusActionFrame() {
this.setSize(400, 200);
JLabel label1 = new JLabel("用户名:");
JLabel label2 = new JLabel("密码:");
JPanel panel = new JPanel();
final JTextField text1 = new JTextField(30);
//text1.setSize(20, 20);
final JTextField text2 = new JTextField(10);
final JTextField text3 = new JTextField(20);
//text1.setSize(20, 20);
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(text3);
JButton button = new JButton("登陆");
JButton button2 = new JButton("重置");
panel.add(button);
panel.add(button2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(panel);
this.setVisible(true);
}
}我自己也写了一个差不多的程序import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import java.awt.*;
public class moon{
public static void main(String[] args){
sun gui=new sun();
}}
class sun extends JFrame {
private static final long serialVersionUID = 1L;
Button select=new Button("查询");
Button insert=new Button("添加");
Button delete=new Button("删除");
Button modify=new Button("修改");
TextField tid=new TextField(200);
TextField tname=new TextField(12);
TextField tsex=new TextField(12);
TextField tcost=new TextField(12);
TextField twork=new TextField(12);
TextArea tshow=new TextArea(5,10);
void sun()
{
this.setSize(400, 200);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
JLabel id=new JLabel("id:",JLabel.RIGHT);
JLabel name=new JLabel("name:",JLabel.RIGHT);
JLabel sex=new JLabel("sex:",JLabel.RIGHT);
JLabel cost=new JLabel("cost:",JLabel.RIGHT);
JLabel work=new JLabel("work:",JLabel.RIGHT);
panel1.add(id);panel1.add(tid);
panel1.add(name);panel1.add(tname);
panel1.add(sex);panel1.add(tsex);
panel1.add(cost);panel1.add(tcost);
panel1.add(work); panel1.add(twork);
panel1.add(select);panel1.add(insert);
panel1.add(delete);panel1.add(modify);
panel2.add(tshow);
this.add(panel1);this.add(panel2); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}它就不显示窗体,点击运行,什么反应都没有!求助啊! 展开
3个回答
展开全部
嗯,问题很明显,主要是子类sun的构造方法
void sun()
{
*****
}
看到没,sun方法使用void修饰,这意味着返回类型为空,即按常理而言它需要返回一个窗体(JFrame),而使用void之后,程序将不再显示窗体,因此,改成:
public sun()
{
*****
}
你再看看别人的,如你所见:
class PlusActionFrame extends JFrame {
public PlusActionFrame() {
*****
}
*****
}
此处构造方法就用public修饰就可以了,不能用空(void)修饰
//////////////////////-----------补充一些废话----------/////////////////////////
其实初次接触java时候,我也犯过这类错误,但是还是很显而易见的,最好的方法就是一一对比,就Over了,java这东西,接触多了就好,多练,good luck~~
void sun()
{
*****
}
看到没,sun方法使用void修饰,这意味着返回类型为空,即按常理而言它需要返回一个窗体(JFrame),而使用void之后,程序将不再显示窗体,因此,改成:
public sun()
{
*****
}
你再看看别人的,如你所见:
class PlusActionFrame extends JFrame {
public PlusActionFrame() {
*****
}
*****
}
此处构造方法就用public修饰就可以了,不能用空(void)修饰
//////////////////////-----------补充一些废话----------/////////////////////////
其实初次接触java时候,我也犯过这类错误,但是还是很显而易见的,最好的方法就是一一对比,就Over了,java这东西,接触多了就好,多练,good luck~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询