一个很简单但很高分的问题!!在线等 如何写一个输入对话框,使它实现JOptionPane.showInputDialog类似的功能:弹出对话框之后,程序会等待你输入数据,直到你点击了“ok”or“cancel”,程序才又继续执行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你不会去看showInputDialog的源代码啊??? import javax.swing.*;public class K extends JFrame { JLabel l=new JLabel(); public K(){ String s=(String)JOptionPane.showInputDialog(null,"请输入数据:\n","客户选择",JOptionPane.PLAIN_MESSAGE,null,null,null); if((s!=null)&&(s.length()>0)){//输入了数据 l.setText("你输入的是:"+s); JOptionPane.showMessageDialog(null,l,"",JOptionPane.INFORMATION_MESSAGE); return; } else{//没有输入数据 l.setText("请输入内容!"); JOptionPane.showMessageDialog(null,l,"",JOptionPane.INFORMATION_MESSAGE); } } public static void main(String[] args){ K t=new K(); } }希望对你有帮助 画一个frame,放一个文本框,两个按钮就可以了啊 回去看一下JDialog的API,很容易就能做出来。 Dialog dlg = new Dialog();dlg.setModel(true);dlg.show(); new 一个frame,把这个frame放在最上层就行输入密码,帐号,点击按钮什么的,就直接这个frame上实现吧,当然还可以 System.exit();的 LZ同志,JOptionPane用过就知道,不点确定或者取消是做不了别的事情的貌似有点骑驴觅驴的味道啊!~ package Chapter3;/* * Simple1.java - 处理事件的第一种方法 * 在这个例子中,利用一个ActionListener来监听事件源产生的事件 * 用一些if语句来决定是哪个事件源 */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Simple1 { private static JFrame frame; // 定义为静态变量以便main使用 private static JPanel myPanel; // 该面板用来放置按钮组件 private JButton button1; // 这里定义按钮组件 private JButton button2; // 以便让ActionListener使用 public Simple1() // 构造器, 建立图形界面 { // 新建面板 myPanel = new JPanel(); // 新建按钮 button1 = new JButton("按钮1"); // 新建按钮1 button2 = new JButton("按钮2"); SimpleListener ourListener = new SimpleListener(); // 建立一个actionlistener让两个按钮共享 button1.addActionListener(ourListener); button2.addActionListener(ourListener); myPanel.add(button1); // 添加按钮到面板 myPanel.add(button2); } private class SimpleListener implements ActionListener { /* * 利用该内部类来监听所有事件源产生的事件 * 便于处理事件代码模块化 */ public void actionPerformed(ActionEvent e) { // 利用getActionCommand获得按钮名称 // 也可以利用getSource()来实现 // if (e.getSource() == button1) String buttonName = e.getActionCommand(); if (buttonName.equals("按钮1")) JOptionPane.showMessageDialog(frame, "按钮1 被点击"); else if (buttonName.equals("按钮2")) JOptionPane.showMessageDialog(frame, "按钮2 被点击"); else JOptionPane.showMessageDialog(frame, "Unknown event" ); } } public static void main(String s[]) { Simple1 gui = new Simple1(); // 新建Simple1组件 frame = new JFrame("Simple1"); // 新建JFrame // 处理关闭事件的通常方法 frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} }); frame.getContentPane().add(myPanel); frame.pack(); frame.setVisible(true); } } //====================================直接运行就行。 用不用这么麻烦啊直接用JDialog就可以了噻。 核心就是我标为红色的这句。你可以自己写一个继承Dialog或者JDialog的类,自己画上面需要显示的元素在设置其show或者setVisible(true)前,设其模态为true,即可。 最简单就是CLASS MYFRME EXTENDS JDialog{ .....这个就是模式对话窗口} 在线等库的问题 新手学java,请教一个简单的问题 如何一次性下载文件夹下所有文件? xylayout的问题 求:中文字符编码问题? 当一个运行线程抛出异常后,该线程会变成什么状态? JAVA的int占多少字节?请大家帮偶看看。内有说明。 怎么样能打出这种结果? package到底怎么用? 哪儿有侍魂(旧版)下载,谢谢!! 希望有高人前辈领个项目什么的,给我们这些菜鸟多点锻炼机会! 这段代码,麻烦帮我详细的解释一下
public class K extends JFrame {
JLabel l=new JLabel();
public K(){
String s=(String)JOptionPane.showInputDialog(null,"请输入数据:\n","客户选择",JOptionPane.PLAIN_MESSAGE,null,null,null);
if((s!=null)&&(s.length()>0)){//输入了数据
l.setText("你输入的是:"+s);
JOptionPane.showMessageDialog(null,l,"",JOptionPane.INFORMATION_MESSAGE);
return;
}
else{//没有输入数据
l.setText("请输入内容!");
JOptionPane.showMessageDialog(null,l,"",JOptionPane.INFORMATION_MESSAGE);
}
}
public static void main(String[] args){
K t=new K();
}
}
希望对你有帮助
dlg.setModel(true);
dlg.show();
输入密码,帐号,点击按钮什么的,就直接这个frame上实现吧,当然还可以 System.exit();的
貌似有点骑驴觅驴的味道啊!~
* Simple1.java - 处理事件的第一种方法
* 在这个例子中,利用一个ActionListener来监听事件源产生的事件
* 用一些if语句来决定是哪个事件源
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; public class Simple1
{
private static JFrame frame; // 定义为静态变量以便main使用
private static JPanel myPanel; // 该面板用来放置按钮组件
private JButton button1; // 这里定义按钮组件
private JButton button2; // 以便让ActionListener使用
public Simple1() // 构造器, 建立图形界面
{
// 新建面板
myPanel = new JPanel();
// 新建按钮
button1 = new JButton("按钮1"); // 新建按钮1
button2 = new JButton("按钮2"); SimpleListener ourListener = new SimpleListener();
// 建立一个actionlistener让两个按钮共享
button1.addActionListener(ourListener);
button2.addActionListener(ourListener); myPanel.add(button1); // 添加按钮到面板
myPanel.add(button2);
} private class SimpleListener implements ActionListener
{
/*
* 利用该内部类来监听所有事件源产生的事件
* 便于处理事件代码模块化
*/
public void actionPerformed(ActionEvent e)
{
// 利用getActionCommand获得按钮名称
// 也可以利用getSource()来实现
// if (e.getSource() == button1) String buttonName = e.getActionCommand();
if (buttonName.equals("按钮1"))
JOptionPane.showMessageDialog(frame,
"按钮1 被点击");
else if (buttonName.equals("按钮2"))
JOptionPane.showMessageDialog(frame,
"按钮2 被点击");
else
JOptionPane.showMessageDialog(frame,
"Unknown event" );
}
} public static void main(String s[])
{
Simple1 gui = new Simple1(); // 新建Simple1组件
frame = new JFrame("Simple1"); // 新建JFrame
// 处理关闭事件的通常方法
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{System.exit(0);} }); frame.getContentPane().add(myPanel);
frame.pack();
frame.setVisible(true);
}
}
//====================================
直接运行就行。
核心就是我标为红色的这句。
你可以自己写一个继承Dialog或者JDialog的类,自己画上面需要显示的元素
在设置其show或者setVisible(true)前,设其模态为true,即可。
CLASS MYFRME EXTENDS JDialog{
.....这个就是模式对话窗口
}