import javax.swing.JButton
import java.awt.*
import java.awt.event.*
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
public class Calculator
{
JFrame f
JTextField op1,op2,op,op3
JPanel p1,p2
public void display()
{
f = new JFrame("加法计算器")
f.setSize(280,300)f.setLocation(320,240)
f.setBackground(Color.lightGray)
f.setLayout(new FlowLayout(FlowLayout.LEFT))
f.setVisible(true)
op1= new JTextField("0",4)
op2= new JTextField("0",4)
op3= new JTextField("0",4)
p1=new JPanel()
p1.add(op1)
p1.add(new JLabel("+"))
p1.add(op2)
p1.add(new JLabel("="))
p1.add(op3)
f.add(p1)
JButton button = new JButton()
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
op3.setText(""+(Integer.parseInt(op1.getText())+Integer.parseInt(op2.getText())))
}
})
button.setText("提交")
p1.add(button)
p2=new JPanel()
f.add(p2)
f.addWindowListener(new WinClose())
}
public static void main(String arg[])
{
(new Calculator()).display()
}
}
class WinClose implements WindowListener
{
public void windowClosing(WindowEvent e)
{
System.exit(0)
}
public void windowOpened(WindowEvent e){ } //窗口打开时调用
public void windowIconified(WindowEvent e){ }//窗口图标化时调用
public void windowDeiconified(WindowEvent e){ }//窗口非图标化时调用
public void windowClosed(WindowEvent e){ }//窗口关闭时调用
public void windowActivated(WindowEvent e){ }//窗口激活时调用
public void windowDeactivated(WindowEvent e){ }//窗口非激活时调用
}
这是以前一个程序临时修改的,你看符合要求吗,不符合再给你写一个,没出界面的话最小化然后回复就刷新出啦了
给你找了一个,我试过,可以用import java.awt.*
import javax.swing.*
import java.awt.event.*
import javax.swing.*//GUi之前要吧这两个都引进来
public class Computer extends JFrame implements ActionListener
{
JButton a1,a2,a3,a4,a5,a6,a7,a8,a9,a0
JButton b1,b2,b3,b4
JButton c1,c2,c3,c4
JTextField t1,t2
JPanel p1,p2
JLabel bq1,bq2
String fuhao
Double count,count2
boolean chose=false,cliks
public static void main(String[] args){
Computer l = new Computer()
}
public Computer(){
Font font = new Font("宋体", Font.BOLD, 36)
Font font2 = new Font("宋体", Font.BOLD, 20)
a1 = new JButton("1")
a1.setFont(font)
a1.addActionListener(this)
a2 = new JButton("2")
a2.setFont(font)
a2.addActionListener(this)
a3 = new JButton("3")
a3.setFont(font)
a3.addActionListener(this)
a4 = new JButton("4")
a4.setFont(font)
a4.addActionListener(this)
a5 = new JButton("5")
a5.setFont(font)
a5.addActionListener(this)
a6 = new JButton("6")
a6.setFont(font)
a6.addActionListener(this)
a7 = new JButton("7")
a7.setFont(font)
a7.addActionListener(this)
a8 = new JButton("8")
a8.setFont(font)
a8.addActionListener(this)
a9 = new JButton("9")
a9.setFont(font)
a9.addActionListener(this)
a0 = new JButton("0")
a0.setFont(font)
a0.addActionListener(this)
b1 = new JButton("清空")
b1.addActionListener(this)
b2 = new JButton("返回")
b2.addActionListener(this)
b3 = new JButton(".")
b3.addActionListener(this)
b4 = new JButton("=")
b4.addActionListener(this)
c1 = new JButton("+")
c1.addActionListener(this)
c2 = new JButton("-")
c2.addActionListener(this)
c3 = new JButton("x")
c3.addActionListener(this)
c4 = new JButton("÷")
c4.addActionListener(this)
t1 = new JTextField(25)
t2 = new JTextField(35)
t1.setFont(font2)
t2.setFont(font2)
p1 = new JPanel()
p2 = new JPanel()
bq1 = new JLabel("结")
bq2 = new JLabel("果")
p1.setLayout(new GridLayout(2,3))
p2.setLayout(new GridLayout(4,4))
p1.add(t1)p1.add(b1)p1.add(b2)
p1.add(t2)p1.add(bq1)p1.add(bq2 )
p2.add(a1)p2.add(a2)p2.add(a3)p2.add(c1)
p2.add(a4)p2.add(a5)p2.add(a6)p2.add(c2)
p2.add(a7)p2.add(a8)p2.add(a9)p2.add(c3)
p2.add(b3)p2.add(a0)p2.add(b4)p2.add(c4)
this.add(p1,BorderLayout.NORTH)
this.add(p2,BorderLayout.CENTER)
this.setSize(460,380)
this.setTitle("简易计算器")
this.setLocation(200,200)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.setVisible(true)
}
public void actionPerformed(ActionEvent e){
Object temp = e.getSource()
if(temp == a1){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"1")
chose=false
}
if(temp == a2){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"2")
chose=false
}
if(temp == a3){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"3")
chose=false
}
if(temp == a4){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"4")
chose=false
}
if(temp == a5){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"5")
chose=false
}
if(temp == a6){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"6")
chose=false
}
if(temp == a7){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"7")
chose=false
}
if(temp == a8){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"8")
chose=false
}
if(temp == a9){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"9")
chose=false
}
if(temp == a0){
if(chose==true){t1.setText("")t2.setText("")}
t1.setText(t1.getText()+""+"0")
chose=false
}
if(temp==b3){
cliks=true
for(int i=0i<t1.getText().length()i++){
if('.'==t1.getText().charAt(i)){
cliks=false
break
}
if(cliks==true){
t1.setText(t1.getText()+".")
}
}
}
if(temp== c1){
count=Double.parseDouble(t1.getText())
t1.setText("")
fuhao = "+"
}
if(temp== c2){
count=Double.parseDouble(t1.getText())
t1.setText("")
fuhao = "-"
}
if(temp== c3){
count=Double.parseDouble(t1.getText())
t1.setText("")
fuhao = "*"
}
if(temp== c4){
count=Double.parseDouble(t1.getText())
t1.setText("")
fuhao = "÷"
}
if(temp==b1){
t1.setText("")
t2.setText("")
}
if(temp==b2){
String s=t1.getText()
t1.setText("")
for(int i=0i<s.length()-1i++){
char a = s.charAt(i)
t1.setText(t1.getText()+a)
}
}
if(temp== b4){
count2=Double.parseDouble(t1.getText())
t1.setText("")
if(fuhao=="+"){
//int sum=count+count2
t1.setText(count+""+fuhao+""+count2+""+"=")
t2.setText(count+count2+"")
chose=true
}
if(fuhao=="-"){
//int sum=count+count2
t1.setText(count+""+fuhao+""+count2+""+"=")
t2.setText(count-count2+"")
chose=true
}
if(fuhao=="*"){
//int sum=count+count2
t1.setText(count+""+fuhao+""+count2+""+"=")
t2.setText(count*count2+"")
chose=true
}
if(fuhao=="÷"){
//int sum=count+count2
if(count2==0){
t1.setText(count+""+fuhao+""+count2+"")
t2.setText("除数不能为0")
return
}
t1.setText(count+""+fuhao+""+count2+""+"=")
t2.setText(count/count2+"")
chose=true
}
}
}
}
监听键盘是可以的,自己搜一下keylistener使用,就是简单的事件的使用方式,看个例子就明白了。但你这样做根本就是在折磨你的数据库,每输一个字都调用查询,做着玩是可以,数据量大了不行的。解决方案就是想baidu一样把你要搜索的表读到内存中做成内存数据库,这能提高几百倍的速度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)