用Java程序设计知识,编写一个窗口程序。实现在文本框中输入矩形的长和宽,单击“确认”按钮,弹出对

用Java程序设计知识,编写一个窗口程序。实现在文本框中输入矩形的长和宽,单击“确认”按钮,弹出对话框以显示矩形面积的计算结果... 用Java程序设计知识,编写一个窗口程序。实现在文本框中输入矩形的长和宽,单击“确认”按钮,弹出对话框以显示矩形面积的计算结果 展开
 我来答
zhuluquan
2016-03-19 · 简简单单的一个小小的店铺
zhuluquan
采纳数:515 获赞数:2083

向TA提问 私信TA
展开全部

import java.awt.Rectangle;

import java.math.BigDecimal;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import javax.swing.JTextField;


public class Test {

private static JTextField jf =null;//长度值

private static JTextField jf1 =null;//宽度值

public static void main(String[] args) {

JFrame frame=new JFrame("求矩形面积");

JPanel p = new JPanel(); // 建立一个面板

JLabel chang = new JLabel("长:");

chang.setBounds(new Rectangle(18, 53, 150, 38));

jf=new JTextField(20);

jf.setBounds(new Rectangle(50, 56, 150, 25));

JLabel kuan = new JLabel("宽:");

kuan.setBounds(new Rectangle(18, 107, 150, 38));

jf1=new JTextField(20);

jf1.setBounds(new Rectangle(50, 111, 150, 25));

JButton jb=new JButton("确认");

jb.setBounds(new Rectangle(18, 107*2-53, 150, 38));

jb.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

if(jf.getText()!=null&&jf1!=null){

JFrame f=new JFrame("结果:");

JPanel p1 = new JPanel();

String cd=jf.getText();

String kd=jf1.getText();

p1.setLayout(null);

String str = "";

boolean flag = true;

if(cd.equals("")){

str+="长不能为空,";

flag = false;

}

                    if(kd.equals("")){

str+="宽不能为空,";

flag=false;

}                   

                    if(flag){

                    if(Double.parseDouble(cd)<=0){

    str+="长度需为正数!";

    flag=false;

    }

                    if(Double.parseDouble(kd)<=0){

      str+="宽度需为正数!";

      flag=false;

      }

                    if(flag){                      

                          str="矩形长:"+jf.getText()+",宽:"+jf1.getText()+",面积:"+mianji(cd,kd);

                    }

                    }else{

                    str=str.substring(0, str.length()-1);

                    }

                    JTextArea text=new JTextArea();

text.setBounds(new Rectangle(18, 40, 100, 40));

text.setText(str);

text.setEditable(false);

text.setLineWrap(true);

text.setWrapStyleWord(true);

p1.add(text);

f.add(p1);

f.setSize(200,200);

f.setLocationRelativeTo(null);

f.setVisible(true);

f.setAlwaysOnTop(true);

}

}

});

p.add(chang,null);

p.add(jf);

p.add(kuan,null);

p.add(jf1);

p.setLayout(null);

p.add(jb);

frame.add(p);//将面板添加到窗口


frame.setSize(300,300);//设置窗口大小

frame.setAlwaysOnTop(true);//设置窗口始终在最上层

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认的关闭操作,关闭窗口后退出程序

frame.setLocationRelativeTo(null);//设置窗口居中

frame.setVisible(true);//设置窗口可见,尽快调用paint()方法

frame.setResizable(false);

}

/**计算面积的算法,为了使计算精确采用BigDecimal*/

public static  double  mianji(String cd,String kd) {

BigDecimal bdcd=new BigDecimal(cd);

BigDecimal bdkd=new BigDecimal(kd);

return bdcd.multiply(bdkd).doubleValue();

}

}


运行了下效果如图:

亓官鸿则
2016-03-19 · TA获得超过166个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:118万
展开全部
好久不写swing程序了,这个一点也不常用。我给您说一下大致思路。首先JFrame frame = new JFrame(String title);然后设置大小,定位。new 两个文本输入框(什么名字忘记了,JTextEdit什么的)和JLable标签,使用布局管理器进行布局。然后new JButton()。加上事件,获得前面两个输入框中的值并计算,然后弹出,弹出的方法是:JOptionPanel.showMessageDia......忘记了,你自己百度一下吧,几行代码的事。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式