返回介绍

13.19.6 按钮

发布于 2024-10-15 23:56:30 字数 1543 浏览 0 评论 0 收藏 0

Swing 增加了一些不同类型的按钮,并且它同样可以修改选择组件的结构:所有的按钮、复选框、单选钮,甚至从 AbstractButton 处继承的菜单项(这是因为菜单项一般被包含在其中,它可能会被改进命名为“AbstractChooser”或者相同的什么名字)。我们会注意使用菜单项的简便,下面的例子展示了不同类型的可用的按钮:

//: Buttons.java
// Various Swing buttons
package c13.swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.plaf.basic.*;
import javax.swing.border.*;

public class Buttons extends JPanel {
  JButton jb = new JButton("JButton");
  BasicArrowButton
    up = new BasicArrowButton(
      BasicArrowButton.NORTH),
    down = new BasicArrowButton(
      BasicArrowButton.SOUTH),
    right = new BasicArrowButton(
      BasicArrowButton.EAST),
    left = new BasicArrowButton(
      BasicArrowButton.WEST);
  public Buttons() {
    add(jb);
    add(new JToggleButton("JToggleButton"));
    add(new JCheckBox("JCheckBox"));
    add(new JRadioButton("JRadioButton"));
    JPanel jp = new JPanel();
    jp.setBorder(new TitledBorder("Directions"));
    jp.add(up);
    jp.add(down);
    jp.add(left);
    jp.add(right);
    add(jp);
  }
  public static void main(String args[]) {
    Show.inFrame(new Buttons(), 300, 200);
  }
} ///:~

JButton 看起来像 AWT 按钮,但它没有更多可运行的功能(像我们后面将看到的如加入图像等)。在 com.sun.java.swing.basic 里,有一个更合适的 BasicArrowButton 按钮,但怎样测试它呢?有两种类型的“指针”恰好请求箭头按钮使用:Spinner 修改一个中断值,并且 StringSpinner 通过一个字符串数组来移动(当它到达数组底部时,甚至会自动地封装)。ActionListeners 附着在箭头按钮上展示它使用的这些相关指针:因为它们是 Bean,我们将期待利用方法名,正好捕捉并设置它们的值。

当我们运行这个程序例子时,我们会发现触发按钮保持它最新状态,开或时关。但复选框和单选钮每一个动作都相同,选中或没选中(它们从 JToggleButton 处继承)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文