GUI编程笔记

JAVA的GUI编程笔记

关于数据库连接后执行并输出的问题:

标准写法:

String str="数据库执行语句";
Statement state=con.createStatement();
ResultSet rs=state.executyQuery(str);
while(re.next()){
    rs.getString("需要输出的列的名字");
}

缩写写法:

String str="数据库执行语句";
ResultSet rs=con.createStatement.executyQuery(str);
while(re.next()){
    rs.getString("需要输出的列的名字");
}

绝不可以再缩写:

String str="SQLserver执行语句";
while(con.createStatement.executyQuery(str).next()){
    rs.getString("需要输出的列的名字");
}

这样会进入死循环。如果写入GUI按钮鼠标点击事件内,会导致程序卡死。

实现通过点击按钮来关闭界面

public static void init() {
        JFrame frame = new JFrame("登记");
        frame.setContentPane(new 登记(frame).rootpanel);//这里传入参数值frame
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
public 登记(JFrame frame) {//设定传入的参数值类型为JFrame
    Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                frame.dispose();
            }
    }
}

静态变量的使用感想

在A类命名的静态变量a。不管在B类中new了A类多少的对象,这些对象中a

值都是一样的

实现按钮音效

方法一:

为音乐的播放准备单独的一个类,该类中定义一个播放音乐方法,按钮在点击时调用该方法。

//音乐播放类
import java.io.File;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.*;
public class musicPlayer  {
    public void play(){
        try{
    Player playEr = new Player(new BufferedInputStream(new FileInputStream(new File("E:\\gop.mp3"))));
        }catch(Exception e){}
    }
  }

//按钮播放
Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
               musicPlayer mp=new musicPlayer();
                try{
                mp.play();
            }catch (Exception g){}
                ....
            }
    }

此方法有明显的缺陷,按钮点击后,必须播放完音乐才能执行按钮中的其它程序。 把播放音乐那段移到最后进行不就行了?

方法二:

在方法一的基础上使用多线程

//改写音乐播放类为:
public class musicPlayer extends Thread {
   public void run(){
   try {
   Player player = new Player(new BufferedInputStream(new FileInputStream(new File("E:\\gop.mp3"))));
   player.play();
     } catch (Exception g) {}
    }
}
//鼠标点击事件
Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
               musicPlayer mp=new musicPlayer();
                try{
               new musicPlayer.start();
                }catch(Exception g){}
                ....
            }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值