对Swing组件可以设置一个和多个边框。Swing中提供了各式各样的边框供用户选用,也能建立组合边框或自己设计边框。一种空白边框可以增大组件,协助布局管理器对容器中的组件进行合理的布局。
7.1.8 使用图标(Icon)
与AWT的部件不同,许多Swing组件如按钮、标签,除了使用文字外,还可以使用图标修饰自己。
例7.1:
import javax.swing.*; //引入Swing包名
//import com.sun.java.swing.*;
//使用JDK 1.2 Beta 4版和所有Swing 1.1 Beta 3
//之前的版本,引入Swing包名用此方法。
import java.awt.*;
import java.awt.event.*;
public class SwingApplication {
private static String labelPrefix = "Number of button clicks: ";
private int numClicks = 0; //计数器,计算点击次数
public Component createComponents() {
final JLabel label = new JLabel(labelPrefix + "0 ");
JButton button = new JButton("I'm a Swing button!");
button.setMnemonic(KeyEvent.VK_I); //设置按钮的热键为'I'
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
numClicks++;
label.setText(labelPrefix + numClicks);
//显示按钮被点击的次数
}
});
label.setLabelFor(button);
/* 在顶层容器及其内容之间放置空间的常用办法是把内容添加到Jpanel上,而Jpanel本身没有边框的。*/
JPanel pane = new JPanel();
pane.setBorder(BorderFactory.createEmptyBorder(
30, //top
30, //left
10, //bottom
30) //right
);
pane.setLayout(new GridLayout(0, 1)); //单列多行
pane.add(button);
pane.add(label);
return pane;
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName());
//设置窗口风格
} catch (Exception e) { }
//创建顶层容器并添加内容.
JFrame frame = new JFrame("SwingApplication");
SwingApplication app = new SwingApplication();
Component contents = app.createComponents();
frame.getContentPane().add(contents, BorderLayout.CENTER);
//窗口设置结束,开始显示
frame.addWindowListener(new WindowAdapter() {
//匿名类用于注册监听器
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.pack();
frame.setVisible(true);
}
}
查看运行结果
7.1.9 Swing程序结构简介
Swing的程序设计一般可按照下列流程进行:
1. 引入Swing包
2. 选择"外观和感觉"
3. 设置顶层容器
4. 设置按钮和标签
5. 向容器中添加组件
6. 在组件周围添加边界
7. 进行事件处理
例子7.1说明了Swing中程序设计的结构以及最基本的组件Button和Label的用法。在程序中,我们建立一个Swing风格的窗口,并在其中添加一个按钮,程序中保存一个计数器以计算按钮被点击的次数,并在每一次点击之后用一个Label显示。在这个程序中我们可以看到Swing组件的使用与AWT组件的使用基本方法一致,使用的事件处理机制也完全相同。这些在前面的AWT中已经讲过,不再赘述。
 
说明:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
2/2 首页 上一页 1 2