一个java程序-要求当点按钮时,按钮上的字符会相应改变改怎么做?
4个回答
展开全部
你程序思路写的不太清楚,所以我就乱猜一下吧:有两种改法。
第一,你再加入一个按扭,同样的加入和btn一样监听,像这样,JButton jb = new JButton("other");不要忘了把这个加到面板里,add(jb);同时加上监听:jb.addActionListener(i);
第二,再考滤一下你的要求,因为你程序里面用了if(event.getSource()==btn)做判断,event.getSource()获得的会变吗?不会,所以JLabel里的内容也不会变。如果你要用一个按扭实现JLabel里的内容改变的话,建议你再加入一个变量,用来记得单击按扭的次数,再根据这个单击的次数决定应该执行j.setText("Cancel"); 还是
j.setText("That's all!"); 举个例子:
在程序声明一个变量: private int k = 0;
再修改监听代码:
public void actionPerformed(ActionEvent event)
{
k++;
if(k%2==0)
j.setText("Cancel");
else
j.setText("That's all!");
}
第一,你再加入一个按扭,同样的加入和btn一样监听,像这样,JButton jb = new JButton("other");不要忘了把这个加到面板里,add(jb);同时加上监听:jb.addActionListener(i);
第二,再考滤一下你的要求,因为你程序里面用了if(event.getSource()==btn)做判断,event.getSource()获得的会变吗?不会,所以JLabel里的内容也不会变。如果你要用一个按扭实现JLabel里的内容改变的话,建议你再加入一个变量,用来记得单击按扭的次数,再根据这个单击的次数决定应该执行j.setText("Cancel"); 还是
j.setText("That's all!"); 举个例子:
在程序声明一个变量: private int k = 0;
再修改监听代码:
public void actionPerformed(ActionEvent event)
{
k++;
if(k%2==0)
j.setText("Cancel");
else
j.setText("That's all!");
}
展开全部
根据鼠标的事件!当你按下以后释放的时候发生变化!在那个方法里编写你想要的状态就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在这个按钮上添加单击事件
事件中调用你用来改变按钮上字符的方法就行了
事件中调用你用来改变按钮上字符的方法就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* exec1
*
* @author AAA
* @version 1.0
* @date 2010-12-21
*/
public class Exec1 extends JFrame {
/**
* 默认构造函数
*/
public Exec1() {
init();
}
/**
* 初始化窗体
*/
private void init() {
// 三个按钮
JButton btnCn = new JButton("中文");
JButton btnEn = new JButton("英文");
JButton btnOt = new JButton("标点");
// 中间内容框
final JTextArea jtaCont = new JTextArea();
// 滚动面板
JScrollPane jspText = new JScrollPane();
/*
* 将内容框加到滚动面板
* 当超出框大小,会出现滚动条
*/
jspText.getViewport().add(jtaCont);
// 给按钮增加事件
btnCn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了中文按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
btnEn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了英文按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
btnOt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了标点按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
/* 给窗体设置BorderLayout布局 */
setLayout(new BorderLayout());
// 把中文按钮加到上面(北面)
add(btnCn, BorderLayout.NORTH);
// 把英文按钮加到左面(西面)
add(btnEn, BorderLayout.WEST);
// 把标点按钮加到下面(南面)
add(btnOt, BorderLayout.SOUTH);
// 把内容框加到中间
add(jspText, BorderLayout.CENTER);
// 窗体自适应大小
setSize(400, 400);
// 设置关闭后的操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/**
* 程序入库函数
*
* @param args 命令行参数
*/
public static void main(String[] args) {
// new这个窗体,并让它显示出来
new Exec1().setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* exec1
*
* @author AAA
* @version 1.0
* @date 2010-12-21
*/
public class Exec1 extends JFrame {
/**
* 默认构造函数
*/
public Exec1() {
init();
}
/**
* 初始化窗体
*/
private void init() {
// 三个按钮
JButton btnCn = new JButton("中文");
JButton btnEn = new JButton("英文");
JButton btnOt = new JButton("标点");
// 中间内容框
final JTextArea jtaCont = new JTextArea();
// 滚动面板
JScrollPane jspText = new JScrollPane();
/*
* 将内容框加到滚动面板
* 当超出框大小,会出现滚动条
*/
jspText.getViewport().add(jtaCont);
// 给按钮增加事件
btnCn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了中文按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
btnEn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了英文按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
btnOt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取原有的内容
String str = jtaCont.getText();
str += "您点击了标点按钮\n";
// 将新字符串设到内容框
jtaCont.setText(str);
}
});
/* 给窗体设置BorderLayout布局 */
setLayout(new BorderLayout());
// 把中文按钮加到上面(北面)
add(btnCn, BorderLayout.NORTH);
// 把英文按钮加到左面(西面)
add(btnEn, BorderLayout.WEST);
// 把标点按钮加到下面(南面)
add(btnOt, BorderLayout.SOUTH);
// 把内容框加到中间
add(jspText, BorderLayout.CENTER);
// 窗体自适应大小
setSize(400, 400);
// 设置关闭后的操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
/**
* 程序入库函数
*
* @param args 命令行参数
*/
public static void main(String[] args) {
// new这个窗体,并让它显示出来
new Exec1().setVisible(true);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询