package swing;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
/*
* 按钮组件
* 按钮:用于触发特定动作。
* 种类:
* 提交按钮,复选框,单选按钮,继承AbstractButton类
*
*
* 提交按钮组件
* Swing中能够提交按钮由JButton对象表示
* 构造方法
* public JButton()
* public JButton(String text)
* public JButton(Icon icon)
* public JButton(String text,Icon icon)
* 通过使用上述构造方法,在swing按钮上不仅能显示文本标签,还可以显示图标。
* 上述构造方法中的第一个构造方法可以生成不带任何文本组件的对象和图标,可以
* 在以后使用相应方法为按钮设置指定文本和图标;
* 其它构造方法在初始化时制定了按钮上显示的图标或文字
*/
public class JButtonTest extends JFrame{
public JButtonTest() {
//获取图片所在的URL
URL url=MyImageIcon.class.getResource("ImageBUtton.jpg");
//实例化Icon对象
Icon icon=new ImageIcon(url);
//设置网格布局管理器
setLayout(new GridLayout(3,2,5,5));
//创建容器
Container c=getContentPane();
for(int i=0;i<5;i++) {
//创建按钮。同时设置按钮文字与图标
JButton j=new JButton("button"+i);
//在容器中添加按钮
c.add(j);
if(i%2==0) {
//设置其中一些按钮不可用
j.setEnabled(false);
}
}
//实例化一个没有文字和图片的按钮
JButton jb=new JButton();
//设置按钮与图片相同大小
jb.setMaximumSize(new Dimension(90,30));
//为按钮设置图标
jb.setIcon(icon);
jb.setHideActionText(true);
//设置按钮提示为文字
jb.setToolTipText("图片按钮");
//设置按钮边界不显示
jb.setBorderPainted(false);
//为按钮添加监听事件
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//弹出确认对话框
JOptionPane.showMessageDialog(null, "弹出对话框");
}
});
c.add(jb);
//设置窗体标题
setTitle("这是一个按钮");
//设置窗体可见
setVisible(true);
//设置窗体大小
setSize(100,200);
setLocationRelativeTo(this);//设置窗口相对于指定组件位置
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main (String[] args) {
new JButtonTest();
}
}
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
/*
* 按钮组件
* 按钮:用于触发特定动作。
* 种类:
* 提交按钮,复选框,单选按钮,继承AbstractButton类
*
*
* 提交按钮组件
* Swing中能够提交按钮由JButton对象表示
* 构造方法
* public JButton()
* public JButton(String text)
* public JButton(Icon icon)
* public JButton(String text,Icon icon)
* 通过使用上述构造方法,在swing按钮上不仅能显示文本标签,还可以显示图标。
* 上述构造方法中的第一个构造方法可以生成不带任何文本组件的对象和图标,可以
* 在以后使用相应方法为按钮设置指定文本和图标;
* 其它构造方法在初始化时制定了按钮上显示的图标或文字
*/
public class JButtonTest extends JFrame{
public JButtonTest() {
//获取图片所在的URL
URL url=MyImageIcon.class.getResource("ImageBUtton.jpg");
//实例化Icon对象
Icon icon=new ImageIcon(url);
//设置网格布局管理器
setLayout(new GridLayout(3,2,5,5));
//创建容器
Container c=getContentPane();
for(int i=0;i<5;i++) {
//创建按钮。同时设置按钮文字与图标
JButton j=new JButton("button"+i);
//在容器中添加按钮
c.add(j);
if(i%2==0) {
//设置其中一些按钮不可用
j.setEnabled(false);
}
}
//实例化一个没有文字和图片的按钮
JButton jb=new JButton();
//设置按钮与图片相同大小
jb.setMaximumSize(new Dimension(90,30));
//为按钮设置图标
jb.setIcon(icon);
jb.setHideActionText(true);
//设置按钮提示为文字
jb.setToolTipText("图片按钮");
//设置按钮边界不显示
jb.setBorderPainted(false);
//为按钮添加监听事件
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//弹出确认对话框
JOptionPane.showMessageDialog(null, "弹出对话框");
}
});
c.add(jb);
//设置窗体标题
setTitle("这是一个按钮");
//设置窗体可见
setVisible(true);
//设置窗体大小
setSize(100,200);
setLocationRelativeTo(this);//设置窗口相对于指定组件位置
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main (String[] args) {
new JButtonTest();
}
}