Java小萌新学习日记(一) —— 对话框的应用

此文主要写了Java中常见的3种对话框,消息对话框,输入对话框 和 确认对话框。

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class DialogDemo extends JFrame implements ActionListener{
    
    

	JButton but1,but2,but3;
	JTextArea area;
	JPanel panel;
	Font f = new Font("宋体", Font.BOLD, 25);
	public DialogDemo(String title) {
    
    
		panel = new JPanel(); // 默认的流式布局
		but1 = new JButton("消息对话框");
		but2 = new JButton("输入对话框");
		but3 = new JButton("确认对话框");
		area = new JTextArea(6,40);
		but1.setFont(f);
		but2.setFont(f);
		but3.setFont(f);
		but1.addActionListener(this);
		but2.addActionListener(this);
		but3.addActionListener(this);
		panel.add(but1);
		panel.add(but2);
		panel.add(but3);
		panel.add(new JScrollPane(area)); // 滚动面板
		
		add(panel);
		setTitle(title);
		setBounds(300, 350, 550, 260);
		setResizable(false);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setVisible(true);
	}
	public static void main(String[] args) {
    
    
		DialogDemo win  =  new DialogDemo("对话框");
	}
	@Override
	public void actionPerformed(ActionEvent e) {
    
    
		String str = e.getActionCommand();
		if(str.equals("消息对话框")) {
    
    
			//弹出一个消息对话框
			JOptionPane.showMessageDialog(but1,"欢迎使用消息对话框","消息对话框",JOptionPane.WARNING_MESSAGE);
    	//第一个参数,相对于哪个中心对齐;第二个,提示内容;第三个,标题;第四个 提示类型(共5种)		
		}else if(str.equals("输入对话框")){
    
    
			//弹出一个输入对话框
			String s = JOptionPane.showInputDialog(but2,"输入数字,用空格分隔","输入对话框",JOptionPane.PLAIN_MESSAGE);
			double sum = 0;
			int k = 0;
			if(s != null) {
    
    
				
				Scanner scan = new Scanner(s);
				while(scan.hasNext()) {
    
    
					try {
    
    
					double num = scan.nextDouble();
					sum += num;
					if(k==0) {
    
    
						//area.append("\n");
						area.append("" + num);
					}else {
    
    
						area.append("+" + num);
					}
					
					k++;
					
					}catch(Exception exc){
    
    
						scan.next();
					}
				}
				
			}
			area.append("=" + sum);
		}
		else if(str.equals("确认对话框")) {
    
    
			//弹出一个确认对话框
		int chose = JOptionPane.showConfirmDialog(but3, "确认是否正确","确认对话框",JOptionPane.YES_NO_OPTION);// 三种选择,最后一个参数
		if(chose == JOptionPane.YES_OPTION) {
    
    
			area.setText(null);
			area.append("用户点击了\"是\"按钮");
		}
		else if (chose  == JOptionPane.NO_OPTION){
    
    
			area.setText(null);
			area.append("用户点击了\"否\"按钮");
		}
		}
		
		
	}
	
}

运行效果如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
showMessageDialog中的参数类型,如下图所示:
在这里插入图片描述
代码中所提到的消息对话框中的5种提示类型,如上图所示,这这里不详细叙述,感兴趣的可以自己在下面进行测试;
在这里插入图片描述showInputDialog中的参数类型,如上图所示:
在这里插入图片描述showConfirmDialog中的参数类型,返回类型为字符串(可参考代码中的样例)如上图所示:
确认对话框确认对话框中最后一个参数的类型,以及方法返回,注意这里返回的是一个整数类型,如上图所示。

猜你喜欢

转载自blog.csdn.net/PY_XAT_SFZL/article/details/106245835