简易计算器、数据转换

该博客展示了两个Java应用程序:一个是简单的图形用户界面(GUI)计算器,实现了加法和清除功能;另一个是数据转换工具,支持将十进制数字转换为二进制、八进制和十六进制。这两个程序都利用了Swing库来创建GUI,并通过ActionListener监听按钮事件。
摘要由CSDN通过智能技术生成
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class calculator {
public static void main(String[] args) {
	JFrame frame =new JFrame();
	frame.setTitle("计算器");
	frame.setBounds(200, 200, 600, 400);
	frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);//关闭窗体时结束程序
	
	
	JPanel p =new JPanel();
//	JPanel p1= new JPanel();
	Panel p2=new Panel();
	
	JTextField j =new JTextField(10);
	JTextField j1 =new JTextField(10);
	JTextField j2 =new JTextField(10);
	
	JButton ok=new JButton("确定");
	JButton qc=new JButton("清除");
	
	
	Font font =new Font("宋体",Font.BOLD, 16);
	JLabel labName = new JLabel("+");
	JLabel labName1 = new JLabel("=");
	labName.setFont(font);	
	labName1.setFont(font);
	

	p.add(j);
	p.add(labName);
	p.add(j1);
	p.add(labName1);	
	p.add(j2);
	
	p2.add(ok);
	p2.add(qc);
	
//	String [] n= {"1","2","3","4","5","6","7","8","9","+","="};
//	
//	for(int i=0;i<=10;i++) {
//		p1.add( new Button(n[i]));
//	}
	
	
//	Button b1= new Button("1");	
//	Button b2= new Button("2");	
//	Button b3= new Button("3");	
//	Button b4= new Button("4");	
//	Button b5= new Button("5");	
//	Button b6= new Button("6");	
//	Button b7= new Button("7");	
//	Button b8= new Button("8");	
//	Button b9= new Button("9");	
//	Button b10= new Button("+");	
//	Button b11= new Button("=");	
//	
//	p1.add(b1);
//	p1.add(b2);
//	p1.add(b3);
//	p1.add(b4);
//	p1.add(b5);
//	p1.add(b6);
//	p1.add(b7);
//	p1.add(b8);
//	p1.add(b9);
//	p1.add(b10);
//	p1.add(b11);
//	
//	ActionListener linstener = new ActionListener() {
//		
//		@Override
//		public void actionPerformed(ActionEvent e) {
//			// TODO Auto-generated method stub
//			String actionPerformed=e.getActionCommand();
//			String s=j.getText();
//			Integer num= new Integer(s);
//			int a =0;
//			int b=0;
//			switch(actionPerformed) {
//			case "1":	
//				j.setText(s+1);
//				break;
//			case "2":		
//				j.setText(s+2);
//				break;
//			case "3":
//				j.setText(s+3);
//				break;
//			case "4":
//				j.setText(s+4);
//				break;
//			case "5":
//				j.setText(s+5);
//				break;
//			case "6":
//				j.setText(s+6);
//				break;
//			case "7":
//				j.setText(s+7);
//				break;
//			case "8":
//				j.setText(s+8);
//				break;
//			case "9":
//				j.setText(s+9);
//				break;
//			case "+":
//				a=num;
//				j.setText(s+"+");
//				break;
//			case "=":
//				b=num;
//				j.setText(s+"=");
//				break;
//			}
//			
//			
//		}
//	};
//		
//	
//	b1.addActionListener(linstener);
//	b2.addActionListener(linstener);
//	b3.addActionListener(linstener);
//	b4.addActionListener(linstener);
//	b5.addActionListener(linstener);
//	b6.addActionListener(linstener);
//	b7.addActionListener(linstener);
//	b8.addActionListener(linstener);
//	b9.addActionListener(linstener);
//	b10.addActionListener(linstener);
//	b11.addActionListener(linstener);
//	
	
	
	
	
	frame.setLayout(new BorderLayout(30,5));
	frame.add(p,BorderLayout.NORTH);
//	frame.add(p1);
	frame.add(p2);
//	p1.setLayout(new GridLayout(3,3,10,10));
	
	
	
	ActionListener listener =new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			String actionPerformed=e.getActionCommand();
			
			switch(actionPerformed) {
				
			case "确定":
			String s=j.getText();
			Integer num= new Integer(s);
			
			String a=j1.getText();
			Integer num1= new Integer(a);
			
			int num2=0;
			num2=num+num1;
			j2.setText(num2+"");
			break;
			case"清除":
				j.setText("");
				j1.setText("");
				j2.setText("");
				}
			}
			
		
	};
	
	ok.addActionListener(listener);
	qc.addActionListener(listener);
	
	
	frame.pack();
	frame.setVisible(true);
}
}
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Shujuzhuanhuan {
public static  void main(String[] args) {
	
	JFrame frame =new JFrame();
	frame.setTitle("数据转换");	
	frame.setBounds(200, 200, 600, 400);
	frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);//关闭窗体时结束程序
	
	Panel  panel =new Panel();
	
	JLabel labTitle = new JLabel("数据转换");//设置窗口标题
	Font font1 = new Font("宋体", Font.BOLD, 25);//设置字形,字体和字号
	labTitle.setFont(font1);

	JTextField j1= new JTextField(30);
	JTextField j2= new JTextField(30);

	
	ButtonGroup cbg= new ButtonGroup();
	JRadioButton jz2 = new JRadioButton("2");
	JRadioButton jz8 = new JRadioButton("8");
	JRadioButton jz10 = new JRadioButton("10",true);
	JRadioButton jz16 = new JRadioButton("16");
	
	cbg.add(jz2);
	cbg.add(jz8);
	cbg.add(jz10);
	cbg.add(jz16);
	
	ButtonGroup cbg1= new ButtonGroup();
	JRadioButton jz21 = new JRadioButton("2");
	JRadioButton jz81 = new JRadioButton("8");
	JRadioButton jz101 = new JRadioButton("10");
	JRadioButton jz161 = new JRadioButton("16");
	
	cbg1.add(jz21);
	cbg1.add(jz81);
	cbg1.add(jz101);
	cbg1.add(jz161);
	
	
	JLabel labTitle1 = new JLabel("转换成==》》");//设置窗口标题
	Font font = new Font("宋体", Font.BOLD, 25);//设置字形,字体和字号
	labTitle.setFont(font);
	
//	JButton ok =new JButton("确定");
	JButton qc =new JButton("清除");
//	panel.add(ok);
	panel.add(qc);
	
	//组装
	Box hbox = Box.createHorizontalBox();
	hbox.add(jz2);
	hbox.add(jz8);
	hbox.add(jz10);
	hbox.add(jz16);
	
	Box hbox2 = Box.createHorizontalBox();
	hbox2.add(jz21);
	hbox2.add(jz81);
	hbox2.add(jz101);
	hbox2.add(jz161);
	

	//创建一个box垂直布局
	Box vbox = Box.createVerticalBox();
	vbox.add(labTitle);
	vbox.add(j1);
	vbox.add(hbox);
	vbox.add(labTitle1);
	vbox.add(j2);
	vbox.add(hbox2);

	//布局
	frame.setLayout(new BorderLayout(30,5));
	frame.add(panel,BorderLayout.SOUTH);
	frame.add(vbox);
	
	frame.pack();
	frame.setVisible(true);
	
	jz21.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			String  s = j1.getText();
			Integer a= new Integer(s);
			j2.setText(Integer.toBinaryString(a));

		}
	} );
	
	jz81.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			String  s = j1.getText();
			Integer a= new Integer(s);
			j2.setText(Integer.toOctalString(a));

		}
	} );
	
	jz101.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			String  s = j1.getText();
			Integer a= new Integer(s);
			j2.setText(Integer.parseInt(s,10)+"");

		}
	} );
	
	jz161.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			String  s = j1.getText();
			Integer a= new Integer(s);
			j2.setText(Integer.toHexString(a));

		}
	} );
	
	qc.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			
			j1.setText("");
			j2.setText("");
		}
	} );
	
}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值