一只菜鸟想用eclipse写JAVA,构建的第一个超简单的图形界面程序,程序运行窗口却一闪而逝。

2025-02-25 04:48:25
推荐回答(4个)
回答1:

package com.swing;

import java.awt.*;
import java.awt.event.*;
import java.io.File;

import javax.swing.*;
public class Login extends JFrame implements ActionListener {

/** 
* @Fields serialVersionUID :
*/ 
private static final long serialVersionUID = 1L;

public JLabel j = null;
public JLabel j1 = null;

public JTextField jTextField = null;
public JTextField jTextField2 = null;

public JButton jButton=null;

public Login() {
//setLayout(new FlowLayout());
setLayout(new  FlowLayout(FlowLayout.LEFT,20,40));
setFont(new Font("Helvetica", Font.PLAIN, 14));
j = new JLabel("登录名");
j1 = new JLabel("密码");
jTextField = new JTextField(10);
jTextField2 = new JTextField(10);
jButton=new JButton();
Dimension preferredSize = new Dimension(400,400);//设置尺寸
jButton.setPreferredSize(preferredSize );
/*jButton.setBounds(0, 0, 85, 82);
 ImageIcon icon = new ImageIcon("E:\\workspace\\weixin-admin-pom\\src\\main\\java\\com\\swing\\dl.png"); 
 Image temp = icon.getImage().getScaledInstance(jButton.getWidth(),  
 jButton.getHeight(), icon.getImage().SCALE_DEFAULT);  
 icon = new ImageIcon(temp);
jButton.setIcon(icon);*/


getContentPane().add(j);

getContentPane().add(jTextField);

getContentPane().add(j1);

getContentPane().add(jTextField2);

getContentPane().add(jButton);

jButton.addActionListener(this);


jButton.addKeyListener(new KeyListener() {

@Override
public void keyTyped(KeyEvent e) {
}

@Override
public void keyPressed(KeyEvent e) {
                // CTRL+C按下  
                if ( e.getKeyCode()==KeyEvent.VK_ENTER) {  
                 System.err.println("回车了");
                }  
}

@Override
public void keyReleased(KeyEvent e) {


});
}

public static void main(String[] args) {
Login window = new Login();

window.setTitle("登录");

// 该代码依据放置的组件设定窗口的大小使之正好能容纳你放置的所有组件
window.pack();

window.setVisible(true);

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

window.setLocationRelativeTo(null); // 让窗体居中显示
}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==jButton) {
  JOptionPane.showMessageDialog(this, "这是一个简单的消息框");
}

}

}

回答2:

运行结果没问题

回答3:

本来就是这样的,你这个对话框就是一个提示,并没有交互功能,要加上判断“是”和“否”才会一直弹出

回答4:

你都没有实现窗口实例话。