当前位置:  技术问答>java相关

请给一点对话框输入参数的例子。

    来源: 互联网  发布时间:2017-03-10

    本文导语:  哪位大侠能不能给一点利用对话框输入参数的例子,如输入字符串,整数参数等。点击一个按钮弹出对话框,参数确定后就按确定按钮。 我的邮箱:jettyl@163.com | package untitled13; import java.awt....

哪位大侠能不能给一点利用对话框输入参数的例子,如输入字符串,整数参数等。点击一个按钮弹出对话框,参数确定后就按确定按钮。
我的邮箱:jettyl@163.com

|
package untitled13;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**
 * 

Title: 


 * 

Description: 


 * 

Copyright: Copyright (c) 2002


 * 

Company: 


 * @author unascribed
 * @version 1.0
 */

public class Frame2 extends JFrame {
  private JButton jButton1 = new JButton();
  public JLabel jLabel1 = new JLabel();
  public JLabel jLabel2 = new JLabel();
  public JLabel jLabel3 = new JLabel();
  public JLabel jLabel4 = new JLabel();

  public Frame2() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
    Frame2 frame2 = new Frame2();
    frame2.setSize(400,300);
    frame2.setVisible(true);
  }
  private void jbInit() throws Exception {
    jButton1.setBounds(new Rectangle(26, 20, 88, 31));
    jButton1.setFont(new java.awt.Font("Serif", 0, 12));
    jButton1.setText("输入参数");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    this.getContentPane().setLayout(null);
    jLabel1.setFont(new java.awt.Font("Serif", 0, 12));
    jLabel1.setText("参数1");
    jLabel1.setBounds(new Rectangle(78, 84, 100, 32));
    jLabel2.setFont(new java.awt.Font("Serif", 0, 12));
    jLabel2.setText("参数2");
    jLabel2.setBounds(new Rectangle(78, 136, 100, 32));
    jLabel3.setFont(new java.awt.Font("Serif", 0, 12));
    jLabel3.setText("参数3");
    jLabel3.setBounds(new Rectangle(78, 188, 100, 32));
    jLabel4.setFont(new java.awt.Font("Serif", 0, 12));
    jLabel4.setToolTipText("");
    jLabel4.setText("参数4");
    jLabel4.setBounds(new Rectangle(78, 244, 100, 32));
    this.getContentPane().add(jButton1, null);
    this.getContentPane().add(jLabel1, null);
    this.getContentPane().add(jLabel4, null);
    this.getContentPane().add(jLabel2, null);
    this.getContentPane().add(jLabel3, null);
  }

  void jButton1_actionPerformed(ActionEvent e) {

    Dialog1 dlog = new Dialog1(this,"",true);
    dlog.setSize(400,200);
    dlog.setVisible(true);
  }
}

|
import java.awt.*;
import javax.swing.*;

public class InputTest
{  
   public static void main(String[] args)
   {  
      // get first input
  JOptionPane.showMessageDialog(null, "消息") ;
  JOptionPane.showOptionDialog(null, "mess", "title", 0, 0, null, null, null);
      String name = JOptionPane.showInputDialog("What is your name?");
  JPanel jp = new JPanel();
  BorderLayout borderLayout1 = new BorderLayout();
  jp.setLayout(borderLayout1);

      // get second input
      String input = JOptionPane.showInputDialog("How old are you?");
  

      // convert string to integer value
      try{
int age = Integer.parseInt(input);
// display output on console
System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
  }
  catch(Exception e) {
  e.printStackTrace();
  }
  finally {
  System.exit(0);   
  }      
   }
}

|
你就自己继承JDialog为YouDialog了.
点击按钮后:
YouDialog youDialog=new YouDialog(this);//可以设为模式或者非模式
youDialog.show();
youDialog.getParam();//获取你要从其中获取的参数了.自己写就行了,不要找例子了.

|
很简单的说,
你可以扩展一个对话框,传一个JTextField参数进去即可(如果只想得到一个String对象,而不是需要将其放入主界面JTextField,则传入一个String对象进去即可),设置其构造器为:
private JTextField mText;//可以不显示出来
private JTextField mTextShow;//显示出来,用以接收用户输入数据

public mydialog(Frame frame,boolean modal,JTextField text) {
  super(frame,modal);
  this.mText= text;
}
//确定按钮返回后,给mText赋值即可
void jButton1_actionPerformed(ActionEvent e) {
    this.mText.setText(mTextShow.getText().trim());
    //也可以按需求处理,判断等
}

主界面调用如下:
    mydialog tp2 = new mydialog(this, true, jTextField2);
    tp2.show();


|
应该解决了
其实继承一个JDialog几可以实现了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3