zoukankan      html  css  js  c++  java
  • 带有对话框的父窗口

     

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

     

     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 }
  • 相关阅读:
    java_IO流之 NIO
    No enclosing instance of type Outer is accessible. Must qualify the allocation with an enclosing instance of type Outer (e.g. x.new A() where x is an instance of Outer)
    JAVA I/O流 之入门
    10年老司机经验总结--程序员兼职的那些事
    python 去除html 超链接href 如何实现?
    《模式分类(原书第二版)》pdf格式下载电子书免费下载
    通知-招财猫问题通知专用
    Centos6.5 安装 python3.5 虚拟环境 virtualenvwrapper
    5.区块链平台以太坊从入门到精通之 以太网区块链网络
    4.区块链平台以太坊从入门到精通之 以太币
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/3499281.html
Copyright © 2011-2022 走看看