mydialogdemo.java

来自「java课程的资料以及实验的代码」· Java 代码 · 共 87 行

JAVA
87
字号
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyDialogDemo extends JFrame implements ActionListener
{
	int row=6,col=30;
	JPanel p1=new JPanel(),p2=new JPanel();
	JTextArea ta=new JTextArea("文本区行数  "+row+"列数 "+col);
	JButton exit=new JButton("退出");
	JButton dialog=new JButton("对话框");
	MyDialogDemo()
	{
		setTitle("对话框的父窗口");
		Container c=this.getContentPane();
		setSize(350,200);
		c.add(p1,BorderLayout .CENTER);
		c.add(p2,BorderLayout.SOUTH);
		p1.add(ta);
		p2.add(exit);
		p2.add(dialog);
		exit.addActionListener(this);
		dialog.addActionListener(this);
		setVisible(true);
	}
	public static void main(String [] args)
	{
		new MyDialogDemo();
	}
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==exit)
		System.exit(0);
		else
		{
			MyDialog dlg=new MyDialog(this,true);
			dlg.show();
		}
	}


class MyDialog extends Dialog implements ActionListener
{
	JLabel label1=new JLabel("请输入行数");
	JLabel label2=new JLabel("请输入列数");
	JTextField rows=new JTextField(50);
	JTextField cols=new JTextField(50);
	JButton ok=new JButton("确定");
	JButton canel=new JButton("取消");
	MyDialog(MyDialogDemo parent,boolean modal)
	{
		super(parent,modal);
		this.setTitle("自定义对话框");
		setSize(260,140);
		this.setResizable(false);
		setLayout(null);
		add(label1);
		add(label2);
		label1.setBounds(50,30,65,20);
		label2.setBounds(50,60,65,20);
		add(rows);
		add(cols);
		rows.setText(Integer.toString(ta.getRows()));
		cols.setText(Integer.toString(ta.getColumns())) ;
	    rows.setBounds(120,30,90,20);
	    cols.setBounds(120,60,90,20);
	    add(ok);add(canel);
	    ok.setBounds(60,100,60,25);
	    canel.setBounds(140,100,60,25);
	    ok.addActionListener(this);
	    canel.addActionListener(this);
	    }
	    public void actionPerformed(ActionEvent e)
	    {
	    	if(e.getSource()==ok)
	    	{
	    		int row=Integer.parseInt(rows.getText());
	    		int col=Integer.parseInt(cols.getText());
	    		ta.setRows(row);
	    		ta.setColumns(col);
	    		ta.setText("文本区行数:"+row+"列数 "+col);
	    	}
	    	else
	    	dispose();//关闭自定义文本框
	    }
	    	
}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?