• 带有对话框的父窗口


     

    程序功能:创建一个带有文本区及“对话框”按钮的父窗口,单击“对话框”按钮可打开一 个自定义对话框,从中可以定义行和列的数值,关闭对话框其设置的设置会显示在父窗口的文本区中。产生界面如下图所示:

     

     1 import javax.swing.*;
     2 
     3 import java.awt.*;
     4 import java.awt.event.*;
     5 
     6 
     7 public class LX9_20 extends JFrame implements ActionListener
     8 {
     9     int row =10,col =40;
    10     JPanel p1 = new JPanel(), p2=new JPanel();
    11     JTextArea ta = new JTextArea("文本区行数:"+row+"列数:"+col,row,col);
    12     JScrollPane scrollPane = new JScrollPane(ta);
    13     Button exit = new Button("关闭");
    14     Button dialog = new Button("对话框");
    15     JPanel panel = new JPanel();
    16     LX9_20()
    17     {
    18         setContentPane(panel);
    19         setTitle("带有对话框的父窗口");
    20         panel.setPreferredSize(new Dimension(200, 200));
    21         panel.setLayout(new BorderLayout());
    22         panel.add("Center",p1);
    23         panel.add("South",p2);
    24         p1.add(scrollPane);
    25         p2.add(exit);
    26         p2.add(dialog);
    27         exit.addActionListener(this);
    28         dialog.addActionListener(this);
    29         pack();
    30         show();
    31     }
    32     public static void main(String args[])
    33     {
    34         new LX9_20();
    35     }
    36 
    37     @Override
    38     public void actionPerformed(ActionEvent e) {
    39         if(e.getSource()==exit)
    40             System.exit(0);
    41         else
    42         {
    43             MyDialog dlg = new MyDialog(this,true);
    44             dlg.show();
    45         }
    46     }
    47 
    48     class MyDialog extends Dialog implements ActionListener
    49     {
    50         Label label1 = new Label("请输入行数");
    51         Label label2 = new Label("请输入列数");
    52         TextField rows = new TextField(50);
    53         TextField columns = new TextField(50);
    54         Button OK = new Button("确定");
    55         Button Cancel = new Button("取消");
    56         MyDialog(LX9_20 parent,boolean modal)
    57         {
    58             super(parent,modal);
    59             setTitle("自定义对话框");
    60             setSize(260,140);
    61             setResizable(false);
    62             setLayout(null);
    63             add(label1);
    64             add(label2);
    65             label1.setBounds(50,30,65,20);
    66             label2.setBounds(50,60,65,20);
    67             add(rows);
    68             add(columns);
    69             rows.setText(Integer.toString(ta.getRows()));
    70             columns.setText(Integer.toString(ta.getColumns()));
    71             rows.setBounds(120,30,90,20);
    72             columns.setBounds(120,60,90,20);
    73             add(OK);
    74             add(Cancel);
    75             OK.setBounds(60,100,60,25);
    76             OK.addActionListener(this);
    77             Cancel.addActionListener(this);
    78         }
    79         @Override
    80         public void actionPerformed(ActionEvent e) {
    81             if(e.getSource()==OK)
    82             {
    83                 int row = Integer.parseInt(rows.getText());
    84                 int col = Integer.parseInt(columns.getText());
    85                 ta.setRows(row);
    86                 ta.setColumns(col);
    87                 ta.setText("文本区行数:"+row+"列数:"+col);
    88                 show();
    89             }
    90             dispose();
    91         }
    92     }
    93 }
  • 相关阅读:
    结对作业(1)--疫情统计可视化(原型设计)
    软工实践寒假作业(2/2)疫情统计程序
    最长回文
    吉哥系列故事——完美队形II ——Manacher算法
    友情链接
    代码互改——第二次个人编程作业
    汉字编程——第一次个人编程作业
    谈谈自己
    OO第一次博客
    OO第一单元作业总结
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/3499281.html
Copyright © 2020-2023  润新知