第五周:Swing组件

基本控件包括:按钮组件Jbutton、复选框组件JCheckBox、下拉列表组件JComboBox、列表框组件JList、菜单组件JMenu、单选按钮组件JRadioButton、滑块组件JSlider、微调控制组件JSpinner、文本框组件JTextFeld和密码框组件JPasswordField。


按钮JButton组件应用示例。

package chapter14; 
//导入javax.swing包中的相关类 
import javax.swing.AbstractButton; 
import javax.swing.JButton; 
import javax.swing.JPanel; 
import javax.swing.JFrame; 
import javax.swing.ImageIcon; 
import java.awt.event.KeyEvent; 
/* 
* ButtonDemo.java要求有以下的文件: 
* images/right.gif 6 

* images/middle.gif 
* images/left.gif 
*/ 
public class ButtonDemo { 
protected JButton b1, b2, b3; //创建三个按钮对象b1,b2和b3 
JFrame frame; //声明窗体对象 
JPanel contentPane; //声明面板对象 
public ButtonDemo() { //构造器 
//创建并设置窗口. 
frame = new JFrame("ButtonDemo"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
contentPane = new JPanel(); //创建面板对象 
frame.setContentPane(contentPane); //将面板对象contentPane设为窗体的内容面板 
//创建三个图片 
ImageIcon leftButtonIcon = createImageIcon("images/right.gif"); 
ImageIcon middleButtonIcon = createImageIcon("images/middle.gif"); 
ImageIcon rightButtonIcon = createImageIcon("images/left.gif"); 
b1 = new JButton("使中间按钮不可用", leftButtonIcon); //创建最左边显示的按钮对象 
b1.setVerticalTextPosition(AbstractButton.CENTER); //设置按钮上文本相对于图标的垂直位置 
b1.setHorizontalTextPosition(AbstractButton.LEADING); //设置按钮上文本相对于图标的水平位置 
b1.setMnemonic(KeyEvent.VK_D); //设置按钮b1的键盘助记符为键D 
b1.setActionCommand("disable"); //设置此按钮的动作命令 
b2 = new JButton("中间按钮", middleButtonIcon); //创建中间显示的按钮对象 
b2.setVerticalTextPosition(AbstractButton.BOTTOM); //设置按钮上文本相对于图标的垂直位置 
b2.setHorizontalTextPosition(AbstractButton.CENTER); //设置按钮上文本相对于图标的水平位置 
b2.setMnemonic(KeyEvent.VK_M); //设置按钮b2的键盘助记符为键D 
b3 = new JButton("使中间按钮可用", rightButtonIcon); //创建右边显示的按钮对象 
//使用默认的文本位置(居中) 
b3.setMnemonic(KeyEvent.VK_E); //设置按钮b3的键盘助记符为键D 
b3.setActionCommand("enable"); //设置此按钮的动作命令 
b3.setEnabled(false); //禁用此按钮 
// 设置按钮上的工具提示 
b1.setToolTipText("单击这个按钮使中间按钮不可用."); 
b2.setToolTipText("当单击时,这个中间按钮什么都不做."); 
b3.setToolTipText("单击这个按钮使中间按钮可用."); 
} 
/* 返回一个ImageIcon, 或者如果文件路径无效,返回null. */ 
protected static ImageIcon createImageIcon(String path) { 
java.net.URL imgURL = ButtonDemo.class.getResource(path); //获取要加载图像的路径 
if (imgURL != null) { 
return new ImageIcon(imgURL); //返回加载的图像 
} else { //如果加载图像过程中出现异常 
System.err.println("找不到文件: " + path); //输出相关信息 
return null; //返回null 
} 
} 
// 创建GUI界面并显示. 
private void createAndShowGUI() { 
//将三个按钮添加到窗体的内容面板中. 
contentPane.add(b1); •7• 

contentPane.add(b2); 
contentPane.add(b3); 
//显示窗口. 
frame.pack(); 
frame.setVisible(true); 
} 
public static void main(String[] args) { 
//为事件分发线程预订一个工作:创建并显示本程序的GUI. 
javax.swing.SwingUtilities.invokeLater(new Runnable() { 
public void run() { 
new ButtonDemo().createAndShowGUI(); 
} 
}); 
} 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值