重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java按钮监视器代码 java按钮监视器代码是什么

Java用户界面设计:怎样为按钮设置监听,在点击按钮的时候,弹出一个新的窗口

程序改好了你在OpenJFrame这个类中画界面就行了, ML 这个类是一个监听功能,给你的按钮加上了监听,另外建议不要再main函数中写界面的代码 。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站设计、肃宁网络推广、成都小程序开发、肃宁网络营销、肃宁企业策划、肃宁品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供肃宁建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Color;

import java.awt.Frame;

import java.awt.Label;

import java.awt.Panel;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JFrame;import javax.swing.JLabel;

import javax.swing.JPanel;

public class bysj{

static Frame frm = new Frame("中小型超市薪酬管理系统");

public static void main(String[] args){

BorderLayout border = new BorderLayout(5,10);

//GridLayout grid = new GridLayout(2,2);

Panel pan1 = new Panel();

pan1.setSize(500,150);

Panel pan2 = new Panel();

pan2.setSize(500,150);

Panel pan3 = new Panel();

pan3.setSize(500,150);

Label label1 = new Label("欢迎登录**超市薪酬管理系统");

label1.setSize(500,50);

Label label2 = new Label("用户名:");

label2.setLocation(10,10);

label2.setSize(30,50);

Label label3 = new Label("密码:");

label3.setLocation(10,70);

label3.setSize(30,50);

Button bt1 = new Button("登录");

bt1.setBounds(40,70,100,40); bt1.addActionListener(new ML());

Button bt2 = new Button("注册");

bt2.setBounds(150,70,100,40); bt2.addActionListener(new ML());

TextField tf1 = new TextField("",20);

tf1.setBounds(50, 10, 50, 50);

TextField tf2 = new TextField("",20);

tf2.setEchoChar('*');

tf2.setBounds(10, 70, 30, 50);

pan1.setBackground(Color.gray);

pan2.setBackground(Color.gray);

//pan2.setLayout(grid);

pan3.setBackground(Color.gray);

frm.setLayout(border);

frm.setSize(600,400);

frm.setBackground(Color.gray);

frm.setLocation(350,100);

pan1.add(label1);

pan2.add(label2);

pan2.add(tf1);

pan2.add(label3);

pan2.add(tf2);

pan3.add(bt1);

pan3.add(bt2);

frm.add(pan1,BorderLayout.NORTH);

frm.add(pan2,BorderLayout.CENTER);

frm.add(pan3,BorderLayout.SOUTH);

frm.setVisible(true);

frm.addWindowListener(new WinCloser());

}

public static class WinCloser extends WindowAdapter{

public void windowClosing(WindowEvent e){

System.exit(0);

}

}}

class ML implements ActionListener{ public void actionPerformed(ActionEvent event){

Button eventobj = (Button)event.getSource();

String labelname = eventobj.getLabel();

if("登录".equals(labelname)){

new bysj().frm.dispose();

new OpenJFrame();

System.out.println("我是登录 我要关闭当前页面 然后打开其他页面");

}else{

new bysj().frm.dispose();

new OpenJFrame();

System.out.println("我是注册 我要关闭当前页面 然后打开其他页面");

}

}

}

class OpenJFrame extends JFrame{

public OpenJFrame(){

JPanel jp2 = new JPanel(new BorderLayout());

this.setSize(380,245);

//设置此窗口永远为最上方 是window的方法

this.setAlwaysOnTop(true);

//不允许用户改变窗口的大小

this.setResizable(false);

//让窗口在屏幕的正中间显示

this.setLocationRelativeTo(null);

this.setTitle("新的窗口");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

java代码注释(所有代码)注释比较重点的也行

多注了些控制流程,希望我的注释能够对你有帮助:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class GoodLucky extends JFrame implements ActionListener{

JTextField tf = new JTextField(); //实例化一个文本域

//设置两个按钮

JButton b1 = new JButton("开始");

JButton b2 = new JButton("停止");

boolean isGo = false;

//构造函数

public GoodLucky(){

b1.setActionCommand("start");//在开始按钮上设置一个动作监听 start

JPanel p = new JPanel(); //实例化一个可视化容器

//将两个按钮添加到可视化容器上面,用add方法

p.add(b1);

p.add(b2);

//在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvent e),如果要代码有更好的可读性,可用内部类实现动作

//监听处理。

b1.addActionListener(this);

b2.addActionListener(this);

//将停止按钮设置为不可编辑(即不可按的状态)

b2.setEnabled(false);

this.getContentPane().add(tf,"North"); //将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)

this.getContentPane().add(p,"South"); //将可视化容器pannel放在南边,也就是下面

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置用户在此窗体上发起 "close" 时默认执行的操作,参数EXIT_ON_CLOSE是使用 System exit 方法退出应用程序。仅在应用程序中使用

this.setSize(300,200); //设置面板大小,宽和高

this.setLocation(300,300); //设置面板刚开始的出现的位置

Cursor cu = new Cursor(Cursor.HAND_CURSOR); //用指定名称创建一个新的定制光标对象,参数表示手状光标类型

this.setCursor(cu); //为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型

this.setVisible(true); //将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏

tf.setText("welcome you! "); //设置面板的标题为欢迎

this.go(); //调用go方法

}

public void go(){

while(true){ //这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点击停止按钮循环才能推出,具体流程在actionPerformed方法中控制。

if(isGo == true){ //上面所定义的isGo的初始值为false,所以程序第一次到此会跳过

String s = ""; //设置空字符串

for(int j = 1; j = 7;j++){ //产生7个随机数

int i = (int)(Math.random() * 36) + 1;//每个随机数产生方式,这里定义灵活,可以自由定义随机数产生的方式

if(i 10){

s = s + " 0" + i; //如果产生的随机数小于10的话做处理:这里就牵扯到一个重要的概念,简单叙述一下:

/*

当一个字符串与一个整型数项相加的意思是连接,上面的s = s + " 0" + i的意思是字符串s链接0再连接整型i值,而不会导致0和整型的i相加,

产生的效果为s0i,由于s为空字符串(上面定义过的),所以当i小于零时,在个位数前面加上0,比如产生的随机数i为7的话,显示效果为 07.

*/

}else{

s = s + " " + i; //如果产生的随机数比10打的话,那么加上空格显示,即数字和数字之间有个空格

}

//以上循环循环七次,以保证能出现7个随机数

}

tf.setText(s); //将产生的随机数全部显示在文本域上,用文本域对象tf调用它的设置文本的方法setText(String)实现。

}

//以下为线程延迟

try{

Thread.sleep(10); //线程类同步方法sleep,睡眠方法,括号里的单位为ms。

}catch(java.lang.InterruptedException e){

e.printStackTrace(); //异常捕获,不用多说。

}

}

}

//以下是上面设置的事件监听的具体处理办法,即监听时间处理方法,自动调用

public void actionPerformed(ActionEvent e){ //传入一个动作事件的参数e

String s = e.getActionCommand(); //设置字符串s来存储获得动作监听,上面的start

/*

以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。

执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,

执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把

停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。

*/

if(s.equals("start")){ //如果捕获到start,也就是用户触发了动作监听器,那么下面处理

isGo = true; //设置isGo为true

b1.setEnabled(false); //将开始按钮设置为不可用

b2.setEnabled(true); //将停止按钮设置为可用

}else{

isGo = false; //将isGo设置为false,isGo为循环标志位

b2.setEnabled(false); //设置停止按钮为不可用(注意看是b2,b2是停止按钮)

b1.setEnabled(true); //设置开始按钮为可用

}

}

public static void main(String[] args){

new GoodLucky(); //产生类的实例,执行方法

}

}

圣诞平安夜了,祝朋友开心快乐!

java监视器遇到的问题

e.getSource()获得监听对象的 名字

e.getActionCommand()获得监听对象的 内容

例如:JButton button1=new JButton("按钮1");

下面两种判断都可以的:

1 if(e.getSource()==button1){......}

2 if(e.getActionCommand()=="按钮1"){......}

e.getActionCommand返回的是一个字符串,所以在第2个例子中进行了一下转换。

java怎么实现对另一个类中的按钮监听?

你只有一个窗体,

你想要的就是在一个“窗体类”中,监听一个“监听事件类”的意思吗

只要把监听事件类写在窗体类中,不就行了吗?

class GameState_Begin extends Frame

{

//构造器

public GameState_Begin()

{

Button btn1=new Button("开始游戏");

super.add(btn1);

btn1.addActionListener(new ButtonListen());

}

//●●●●●内部类:按钮事件监听

class ButtonListen implements ActionListener

{

public void actionPerformed(ActionEvent arg0) {

//改变panel布局的代码

}

}

}

JAVA中如何给按钮做监听?

你a[i][j].addActionListener(this); 这句就是给按钮加监听啊,你想给哪些按钮加就在哪些按钮上调用addActionListener(this);方法。

你的类还实现ActionListener接口,并补全actionPerformed方法,添加监听的方法才不会报错。

有问题的话再问,把问题描述的具体些。

Java中,在父类里为一些控件添加了监视器,那么在子类里这些控件还需要再添加一遍监视器吗?

下面这个程序,子类的按钮buttonB具有两个监听器,一个是在父类中添加的,一个是在子类中添加的。程序运行正常。

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class Hope {

public static void main(String[] args) {

JFrame frame = new JFrame();

frame.setSize(500, 400);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jkjk jk = new jkjk();

jk.getButtonB().addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println("buttonBB");

}

});

JButton buttonA = new JButton("buttonA");

buttonA.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println("buttonA");

}

});

frame.add(buttonA, BorderLayout.NORTH);

frame.add(jk.getButtonB(), BorderLayout.SOUTH);

frame.setVisible(true);

}

}

class jkjk {

JButton buttonB = new JButton("buttonB");

public jkjk() {

buttonB.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println("buttonB");

}

});

}

public JButton getButtonB() {

return this.buttonB;

}

}


文章名称:java按钮监视器代码 java按钮监视器代码是什么
浏览路径:http://cqcxhl.cn/article/docphod.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP