📄 mydialogdemo.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -