我要求给我怎么点开播放器有声音的,而不是换播放器的,哪位大鸟能那是你的系统与播放器不兼容,windows vista basic 可以看出你的系统是vista
jbutton作用 bjt的作用
jbutton作用 bjt的作用
是设置控件是否透明,如果是setOpaque(true),则为设置控件不透明;反之setOpaque(false)是设置控件透明。
setOpaque(true);设置控件不透明
setOpaque(false);设置控件透明
都是按钮,但作用不同,
点击之后(意指鼠标在按钮上点左键后又在鼠标之上放开)的效果也不同。
触发的动作也不同。
JButton点击之后没变化。而JToggleButton点击下之后,会成凹形或凸形,每点一下变一次。
代码还是比较简单的
给你发个运行效果图
public class DrawTest extends JFrame {//继承窗口类
JPanel buttonPanel=new JPanel();//new一个面板
JButton round=new JButton("圆");//定义一个按钮
JButton rectangle=new JButton("长方形");//定义一个按钮
int roundX=130,roundY=150,roundW=50,roundH=50;
int rectangleX=400,rectangleY=150,rectangleW=50,rectangleH=50;
public void init(){
setTitle("圆和长方形");//设置窗口的标题
setLayout(null); //
setSize(600,400);//设置窗口的窗口既大小
setResizable(false);////设置窗口为隐藏
setLocationRelativeTo(null);
buttonPanel.setLayout(null);
buttonPanel.setBounds(0, 300, 600, 100);//设置buttonPanel的位置
round.setBounds(170, 20, 60, 30);//设置按钮圆的位置
rectangle.setBounds(350, 20, 80, 30);//设置按钮长方形的位置
buttonPanel.add(round);//把按钮添加到buttonPanel面板里
buttonPanel.add(rectangle);
add(buttonPanel);//添加按钮到窗口里面
setVisible(true);//设置窗口为显示
setDefaultCloseOperation(EXIT_ON_CLOSE);// 单击关闭窗口时执行的作(关闭)。
}public void paint(final Graphics g){//画笔
super.paint(g);
g.setColor(Color.black);//将此g图形上下文的当前颜色设置为黑色
g.fillOval(roundX,roundY,roundW,roundH);//使用当前颜色填充外接指定矩形框的椭圆。
//roundX-要填充椭圆的左上角的 x 坐标,roundY-要填充椭圆的左上角的 y 坐标,roundW-要填充椭圆的宽度,roundH-要填充椭圆的高度
g.fillRect(rectangleX,rectangleY,rectangleW,rectangleH);
//rectangleX-要填充矩形的左上角的 x 坐标,rectangleY-要填充矩形的左上角的 y 坐标,rectangleW-要填充矩形的宽度,rectangleH-要填充矩形的高度
//为圆按钮添加单击
round.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
roundX-=1;
roundY-=1;
roundW+=2;
roundH+=2;
g.fillOval(roundX,roundY,roundW,roundH);//重新设置椭圆的属性既单击圆按钮变大
repaint();
}}
});
//为长方形按钮添加单击
rectangle.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
rectangleX-=1;
rectangleY-=1;
rectangleW+=2;
rectangleH+=2;
g.fillRect(rectangleX,rectangleY,rectangleW,rectangleH);
repaint();
}}
});
}public static void main(String[] args) {
new DrawTest().init();
}}
1、Action接口是ActionListener接口的子接口,它除了包含ActionListener接口的actionPerformed()方法之外,
还含有name和icon两个属性,其中name用于指定创建的按钮或者菜单项的文本标签,icon则用于指定按钮的图标或者
菜单项中的图标。也就是说,Action接口将“”和“可被转换成按钮和菜单项”集于一身,这恰好说明了上面所说的
功能
2、实际上在JButton的构造方法 public JButton(Action action )中、JToolBar的add(Action action) 、以及JMenu的
add(Action action )方法中都可以看出,他们都能够使用Action对象为参数,将Action自动的转化为按钮或者菜单项,你要做的
仅仅是定义一个Action对象,之后仅仅需要调用上面的方法就能够自动的将Action转化成组件了
3、就像上面说的那样,Action本身并不是组件,只有应用JButton的构造方法或者将Action添加到指定的组件容器中(JToolBar或者JMenu)
才能够将值转化成组件
4、总结上面的各项我们可以得出,接收Action的容器(或者JButton)需要完成以下几项工作:
①使用add方法添加Action对象
②根据Action对象中的name和icon属性,自动的创建按钮或者菜单项
③通过Action对象为应用组件注册,系统会为该Action所创建的所有的组件注册同一个
(处理器就是Action对象里的actionPerformed()方法)
④在Action接口中还有一个setEnabled(boolean)方法,这个方法用来指定当前的Action动作是否被激活,
只有一个Action动作被激活后,相应的组件才能够使用③中的来处理业务,这是为什么呢?比如:我们创建了
“”“粘贴”两项Action业务的话,那么只有当完成后,“粘贴”业务才可以被激活,否则“粘贴”业务默认
应该是不被激活的
《》好了,基本的逻辑搞清楚之后,那么下面就是如何创建一个Action对象了,一般我们并不是直接通过创建一个
实现Action接口的类,之后在通过这个类来创建Action类型的对象,而是创建一个实现AbstractAction抽象类的类;
这个抽象类AbstractAction实现了Action接口,而且这个抽象类,除了actionPerformed()方法之外,
已经将Action中包括setEnabled(boolean)在内的所有方法都实现了,这样一来我们就能够直接使用setEnabled()
等游泳的方法了;好了这样一来AbstractAction抽象类中只有actionPerformed()方法没有实现,这个方法应该在
创建的那个实现了AbstractAction类的类中实现;所以创建一个Action对象的过程如下:
①创建一个类(设为b类),让这个类继承AbstractAction抽象类
②创建b类的构造方法,为AbstractAction中的name和icon属性赋值
(AbstractAction抽象类中有构造方法 public AbstractAction(String name,Icon icon))
③在b类中实现actionPerformed()方法,在些业务处理时,要注意是要将某些其他的业务激活或者关闭
actionListener起到对用户动作的作用,在控件上可以添加动作addActionListener,如单击一个按钮,这时加在该按钮上的actionListener就能够获取这一动作,然后执行actionPreform动作,actionPreform要进行的动作是程序员编写的。
在后面加上 this.repaint();就可以了 刚写了一个小例子 试了下 可以的package communitys.Connect;import ja.awt.nt.ActionEvent;
import ja.awt.nt.ActionListener;
import jax.swing.JButton;
import jax.swing.JFrame;
import jax.swing.JPanel;
public class ephs extends JFrame implements ActionListener{
JPanel jpan = new JPanel();
JButton button3 = new JButton("button3");
JButton button1 = new JButton("button1");
public ephs()
{jpan.setLayout(null);
button3.setBounds(0,0,80,80);
jpan.add(button3);
this.add(jpan);
this.setBounds(100,100,500,500);
this.setVisible(true);
button3.addActionListener(this);
}public static void main(String[] args) {
new ephs();
} public void actionPerformed(ActionEvent e) {
this.button1.setBounds(100,100,80,80);
this.jpan.add(this.button1);
this.repaint();
}}
new一个对象,想当于创建一个对象,上句JButton button = new JButton()就创建了一个新的button,当创建了这个新button的时候,你就可以用此button赋属性值了,比方说:
button.text=
button.value=
而button这个名字你可以随便取的,JButton A1 = new JButton(),那么,你要用的对象就是A1
A1.TEXT=
A1.VALUE=
new一个,就相当于创建了一个新的对象
用来实例化对象的,创建出一个JButton对像和一个指向该对象的引用!
就是用来创建本类实例对象的一个方法,只要不是抽象类/接口,都可以用new 来创建一个实例对象
首先,你发的这些个都是某个包下的类,不是包,比如:import jax.swing.JButton;这是jax.swing这个包下的JButton类,这个包主要是用来写ja 界面的。ja.awt也是用来写界面的,ja.awt.nt包是窗口,等。
顺便说下,你上面提到的类:
Dimension:封装了一个构件的高度和宽度
Toolkit:工具类
JButton:按钮类
ActionEvent:动作
ActionListener:
JOptionPane:弹窗类
希望采纳!更新知识,可以来ja吧