java swing 编写一个界面, A:———————— B :———————— L:—————— 值:——————

java swing 编写一个界面, A:———————— B :———————— L:—————— 值:——————,第1张

按照你的要求编写的java swing界面的程序如下(注意 当光标离开L的横线时,检查ABL是否输入,并计算ABL+B的值)

import javaawtBorderLayout;

import javaawtColor;

import javaawteventFocusEvent;

import javaawteventFocusListener;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJOptionPane;

import javaxswingJPanel;

import javaxswingJTextField;

import javaxswingborderMatteBorder;

public class DDD extends JFrame implements FocusListener{

 JLabel jla=new JLabel("A:");//定义A B L 值 的标签

 JLabel jlb=new JLabel("B:");

 JLabel jll=new JLabel("L:");

 JLabel jlv=new JLabel("值:");

 JTextField jtfa=new JTextField(5);//定义A B L 值 的文本输入框

 JTextField jtfb=new JTextField(5);

 JTextField jtfl=new JTextField(5);

 JTextField jtfv=new JTextField(5);

 JPanel jp=new JPanel();//定义一个JPanel存放界面的控件

 DDD(){

  setTitle("ABL计算");//设置标题

  jtfvsetEditable(false);//设置值的文本框不可编辑

  jtfasetBackground(getBackground());//把JFrame的背景色设为ABL值文本框的背景色 

  MatteBorder border = new MatteBorder(0, 0, 1, 0,ColorBLACK);//创建花色边框为一条黑线  

  jtfasetBorder(border);//设置ABL值的文本框边框为一条黑线

  jtfbsetBackground(getBackground());  

  jtfbsetBorder(border);

  jtflsetBackground(getBackground());  

  jtflsetBorder(border);

  jtfvsetBackground(getBackground());  

  jtfvsetBorder(border);

  jtfladdFocusListener(this);//为jtfl添加光标监听器

  jpadd(jla);jpadd(jtfa);jpadd(jlb);jpadd(jtfb);//把ABL值的标签和文本框加入到JPanel中

  jpadd(jll);jpadd(jtfl);jpadd(jlv);jpadd(jtfv);

  add(jp,BorderLayoutCENTER);//把JPanel加入到JFrame中央

  setSize(250,200);//设置JFrame的大小

  setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);//设置JFrame关闭窗口

  setLocationRelativeTo(null);//让JFrame显示到屏幕中央

  setVisible(true);//让JFrame显示出来

 }

 @Override

 public void focusGained(FocusEvent arg0){}

 @Override

 public void focusLost(FocusEvent fe) {//监听jtfl失去光标时检查ABL文本框是否为空并计算ABL+B的值

  if(fegetSource()==jtfl){

   if(jtfagetText()==null || jtfagetText()equals("")){//检查ABL文本框是否为空

    JOptionPaneshowMessageDialog(this, "请输入A!");

    jtfarequestFocus();

    return;

   }

   if(jtfbgetText()==null || jtfbgetText()equals("")){

    JOptionPaneshowMessageDialog(this, "请输入B!");

    jtfbrequestFocus();

    return;

   }

   if(jtflgetText()==null || jtflgetText()equals("")){

    JOptionPaneshowMessageDialog(this, "请输入L!");

    jtflrequestFocus();

    return;

   }

   double a=DoubleparseDouble(jtfagetText()trim());//把ABL转换成双精度值

   double b=DoubleparseDouble(jtfbgetText()trim());

   double l=DoubleparseDouble(jtflgetText()trim());

   double v=abl+b;  //计算ABL+B的值

   jtfvsetText(Stringformat("%2f",v));//输出ABL+B的值,并保留两位小数

  }

 }

 public static void main(String[] args) {

  new DDD();//调用构造函数运行程序

 }

}

运行结果

给你写好了  懒得下swing控件  手写了一个  临时写的有点乱

十转二用内置函数  二转十是自己写的过程  你也可以仿照我的写法把十转二改成过程

package erjinzhi;

import javaawt;

import javaawtevent;

public class erjinzhi_test extends Frame implements ActionListener{

Button tentotwo;

Button twototen;

Label l1;

Label l2;

Label l3;

Label l4;

Label l5;

TextField ten;

TextField two;

TextField ten1;

TextField two1;

Panel shang;

Panel zhong;

Panel xia;

Panel shang1;

Panel shang2;

Panel shang3;

Panel xia1;

Panel xia2;

Panel xia3;

public erjinzhi_test(){

tentotwo = new Button("十进制转二进制");

twototen = new Button("二进制转十进制");

ten = new TextField();

two = new TextField();

ten1 = new TextField();

two1 = new TextField();

l1 = new Label("十进制");

l2 = new Label("二进制");

l3 = new Label("进制转换工具");

l4 = new Label("十进制");

l5 = new Label("二进制");

shang = new Panel(new GridLayout(3,1));

shang1 = new Panel(new GridLayout(1,2));

shang1add(l1);

shang1add(ten);

shangadd(shang1);

shang3 = new Panel();

shang3add(tentotwo);

shangadd(shang3);

shang2 = new Panel(new GridLayout(1,2));

shang2add(l2);

shang2add(two);

shangadd(shang2);

thisadd(shang,BorderLayoutNORTH);

zhong = new Panel();

zhongadd(l3);

thisadd(zhong,BorderLayoutCENTER);

xia = new Panel(new GridLayout(3,1));

xia1 = new Panel(new GridLayout(1,2));

xia1add(l5);

xia1add(two1);

xiaadd(xia1);

xia3 = new Panel();

xia3add(twototen);

xiaadd(xia3);

xia2 = new Panel(new GridLayout(1,2));

xia2add(l4);

xia2add(ten1);

xiaadd(xia2);

thisadd(xia,BorderLayoutSOUTH);

thissetResizable(false);

thissetSize(280, 260);

thissetLocation(350, 100);

thissetTitle("进制转换工具");

thissetVisible(true);

tentotwoaddActionListener(this);

twototenaddActionListener(this);

}

public static void main(String[] args) {

new erjinzhi_test();

}

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(egetSource()==tentotwo){

int number =IntegerparseInt(tengetText());

twosetText(IntegertoBinaryString(number));

}

if(egetSource()==twototen){

String str = two1getText();

String st[] = new String[strlength()];

st = strsplit("");

int len =strlength();

int sum=0;

int t=1;

for(int i=len;i>=1;i--){

int s =IntegerparseInt(st[i])t;

t=t2;

sum=s+sum;

}

String summ=sum+"";

ten1setText(summ);

}

}

}

1 制作安装包之前写好执行的bat启动文件,收集好及其他扩展文件、文件夹、主程序、java环境(jre)包全部拷贝到一个文件夹中备用。

2 安装Inno Setup,网上有下载,本文利用的是Inno Setup5汉化版, 安装完成后双击桌面快捷方式Inno Setup 编译器打开Inno Setup5

3选择用[脚本向导]创建新的脚本文件点击确定,d出Inno Setup脚本向导,点击下一步

4在d出的菜单中,填入应用程序的名称、版本、及相关制作者信息点击下一步

5在此窗中中指定应用程序的文件夹名称,其他默认,点击下一步

6在此窗口中首先指定应用程序的主程序的文件路径;

7然后点击添加文件将程序运行需要的其他文件依次加入

8如果程序运行需要加入文件夹点击添加文件夹将需要的文件夹加入,因为我们之前将程序运行所需的所有文件都拷贝到一个文件夹中,所以选择添加文件夹一次性将文件全部加入即可

9点击下一步输入程序安装后要创建的开始菜单中的显示名称,勾选创建卸载图标、桌面图标等选项,点击下一步;

10在此窗口中选择要显示的许可文件、及安装前后要显示的信息文件,点击下一步

11选择安装过程中显示的语言,InnoSetup支持多语言,点击下一步

12在此窗口中可以选择安装程序制作好后的输出文件路径及文件名,自定义安装程序图标及安装密码(如果需要的话),点击下一步

13点击下一步,默认即可,下一步

14点击完成

是不是因为你的后台代码执行时间较长,而你没有新开一个线程让他执行?

点大叉关闭要写一句话的framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

学swing还是找本书看看吧,上面这句话肯定是一开始就会讲的

以上就是关于java swing 编写一个界面, A:———————— B :———————— L:—————— 值:——————全部的内容,包括:java swing 编写一个界面, A:———————— B :———————— L:—————— 值:——————、编写一个java/swing程序,它可以执行十进制到二进制和二进制到十进制转换。、如何利用Inno Setup制作java swing程序安装包等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9410126.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存