`
shenjichao2009
  • 浏览: 96200 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java中JButton的使用

    博客分类:
  • Java
阅读更多

/**
*
*/
package com.duoguo.button;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/**
* @author shyboy(chao.shen@duoguo.cn)
*
*/
@SuppressWarnings("serial")
public class CheckBoxDemo extends JPanel implements ItemListener {

private JCheckBox chinCheckBox;// 下巴复选框

private JCheckBox glassesCheckBox;// 眼睛复选框

private JCheckBox hairCheckBox;// 头发复选框

private JCheckBox toothCheckBox;// 牙齿复选框

private JPanel topPanel;

private JPanel bottomPanel;

private StringBuilder choices;

private JLabel pictureLabel;

/**
* 构造方法
*/
public CheckBoxDemo() {
chinCheckBox = new JCheckBox("下巴");
chinCheckBox.setMnemonic(KeyEvent.VK_1);// 快捷键ALT+1
chinCheckBox.setSelected(true);

glassesCheckBox = new JCheckBox("眼睛");
glassesCheckBox.setMnemonic(KeyEvent.VK_2);// 快捷键ALT+2
glassesCheckBox.setSelected(true);

hairCheckBox = new JCheckBox("头发");
hairCheckBox.setMnemonic(KeyEvent.VK_3);
hairCheckBox.setSelected(true);

toothCheckBox = new JCheckBox("牙齿");
toothCheckBox.setMnemonic(KeyEvent.VK_4);
toothCheckBox.setSelected(true);

chinCheckBox.addItemListener(this);
glassesCheckBox.addItemListener(this);
hairCheckBox.addItemListener(this);
toothCheckBox.addItemListener(this);

topPanel = new JPanel(new GridLayout(1, 4));
topPanel.add(chinCheckBox);
topPanel.add(glassesCheckBox);
topPanel.add(hairCheckBox);
topPanel.add(toothCheckBox);

choices = new StringBuilder("cght");
pictureLabel = new JLabel();
updatePicture();

bottomPanel = new JPanel(new FlowLayout());
bottomPanel.add(pictureLabel);

setLayout(new BorderLayout());
this.add(topPanel, BorderLayout.NORTH);
this.add(bottomPanel, BorderLayout.CENTER);
}

/**
* 更新图片
*/
public void updatePicture() {
ImageIcon imageIcon = createImageIcon("images/geek-"
+ choices.toString() + ".gif");

pictureLabel.setIcon(imageIcon);
pictureLabel.setToolTipText(choices.toString());

if (null == imageIcon) {
pictureLabel.setText("无图片");
} else {
pictureLabel.setText(null);
}
}

/**
* 设置复选框对应的相应图标
*
* @param path
* :图片路径
* @return ImageIcon
*/
public static ImageIcon createImageIcon(String path) {
if (null != path && !"".equals(path)) {
URL url = CheckBoxDemo.class.getResource(path);

if (null != url) {
return new ImageIcon(url);
} else {
System.err.println("找不到图片的……");
return null;
}
}

return null;
}

/**
* 创建并显示相应的界面
*/
public static void createAndShowGUI() {
JFrame jFrame = new JFrame("Swing中的JCheckBox");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口被关闭时应用程序退出

CheckBoxDemo checkBoxDemo = new CheckBoxDemo();
checkBoxDemo.setOpaque(true);

jFrame.setContentPane(checkBoxDemo);
jFrame.pack();
jFrame.setVisible(true);
jFrame.setSize(500, 300);
jFrame.setLocation(300, 200);
}

/*
* (non-Javadoc)
*
* @see
* java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
*/
@Override
public void itemStateChanged(ItemEvent e) {
int index = 0;
char c = '-';

Object source = e.getItemSelectable();
if (source == chinCheckBox) {
index = 0;
c = 'c';
} else if (source == glassesCheckBox) {
index = 1;
c = 'g';
} else if (source == hairCheckBox) {
index = 2;
c = 'h';
} else if (source == toothCheckBox) {
index = 3;
c = 't';
}

if (e.getStateChange() == ItemEvent.DESELECTED) {
c = '-';
}

choices.setCharAt(index, c);
updatePicture();
}

/**
* @param args
*/
public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {

createAndShowGUI();

}
});

}

}

希望对你有所帮助,如有不清楚的地方,可联系chao.shen@duoguo.cn

  • button.jar (90.6 KB)
  • 描述: 该JAR可直接运行
  • 下载次数: 13
  • 描述: 运行结果的显示图
  • 大小: 22 KB
分享到:
评论

相关推荐

    java 在JButton上设置快捷键

    在本篇文章中,我们将详细探讨如何在Java中为`JButton`设置快捷键。 首先,我们需要了解快捷键的基本概念。快捷键通常由一个或多个按键组成,例如Ctrl+C用于复制,它们可以帮助用户快速执行特定操作而无需通过鼠标...

    Java swing 中JButton的使用

    - 动作命令:`"disable"` — 这将在事件处理中使用。 2. **bc (Center Button):** - 设置文本:“默认按钮” - 设置图标:`centerButtonIcon` - 文本垂直位置:底部 (`AbstractButton.BOTTOM`) - 文本水平位置...

    java JButton的使用

    在Java中,可以使用`javax.swing.JButton`类来创建按钮对象。例如: ```java JButton button = new JButton("点击我"); ``` 这里的"点击我"是按钮上显示的文本。如果想要设置按钮的图标,可以使用`setIcon()`方法...

    Java Swing JButton按钮的实现示例

    Java Swing JButton 按钮是 Java 中最常用的 GUI 组件之一,用于在用户界面中提供交互方式。JButton 按钮可以根据需要自定义外观和行为,下面将对 JButton 按钮的实现示例进行详细介绍。 一、JButton 按钮的构造...

    Java——jbutton

    为了实现这些效果,代码中使用了`paintComponent()`方法,这是`JComponent`类的一个关键方法,用于绘制组件的自定义图形。在`paintComponent()`中,作者使用了`Graphics2D`对象来绘制按钮的背景,包括颜色渐变、圆角...

    java JButton美化Demo.rar

    JButton 美化,主要实现圆角矩形,根据鼠标动作变化,主要代码: Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.GREEN); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints....

    java重写jbutton

    java 中重写jbutton,改变按钮特点,写出自己想要的按钮

    Swing中JTABLE中添加JBUTTON控件

    在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...

    java swing JButton 圆角按钮 鼠标监听变色(有注释简单易懂可直接运行)

    java swing JButton 圆角按钮 带变色(有注释,简单易懂适用于初学者 程序可直接运行)

    java swing-JButton的使用

    JButton是Swing库中的一个组件,用于创建可点击的按钮。你可以使用JButton来触发操作或执行特定任务。

    JButton 美化(圆角矩形立体效果加鼠标响应)Demo.rar

    主要代码: @Override public void paintIcon(Component cmp, Graphics g, int x, int y) { Color lowerColor = new Color(235,255,235); ... Color highColor = new Color(81,184,77);... g2d.setRenderingHint...

    扫雷小游戏源码,主要展示了jbutton的灵活使用

    在这个源码中,我们主要关注的是它如何使用Java编程语言,特别是JButton组件来实现游戏逻辑。JButton是Java Swing库中的一个关键组件,用于创建用户界面中的按钮,它可以响应用户的点击事件,执行相应的操作。 在...

    使用 AbstractTableModel 构建Table 在表格中添加JButton按钮

    使用 AbstractTableModel 构建Table 在表格中添加JButton按钮,之前在网上找了2天没有找到好用的程序,最终终于找到一个好用的例子。 不要使,我退你们分。。 sing the Swing JTable class can quickly become a ...

    小玩JButton _告别生硬的按钮

    总之,“小玩JButton”可能是一篇关于如何通过多种方式个性化和优化Java Swing应用中`JButton`组件的教程,涵盖了图标、事件处理、视觉样式等多个方面,让开发者能够创建出更加吸引用户的界面。

    JButton去除边框

    在Java Swing库中,`JButton`是用于创建按钮组件的基本类。`JButton`具有默认的外观,包括边框,这通常是用户界面设计的一部分。然而,在某些情况下,我们可能希望自定义`JButton`的外观,比如去除边框,以达到特定...

    Java程序设计:031804_按钮组件:JButton.ppt

    Java 程序设计中,JButton 组件是 Swing 库中的一种基本组件,用于创建图形用户界面中的按钮。JButton 组件可以用来创建普通的按钮、带图片的按钮、带文字的按钮等多种样式的按钮。 JButton 的构造方法 JButton ...

    java swing 下划线

    在JButton中,下划线可以用来表示快捷键。例如,如果你想要创建一个带有快捷键的按钮,你可以通过设置按钮的mnemonic属性来实现。Mnemonic是一个字符,当该字符在按钮的文字中被下划线标记时,用户可以通过按下Alt键...

    一个可以淡入淡出的JButton

    提供的压缩包文件列表中,"ZButton.jar"可能是一个包含这个定制JButton类的Java应用程序或库,可以直接运行或导入到其他项目中使用。"autorun.bat"可能是一个批处理文件,用于自动运行ZButton.jar,方便用户快速测试...

Global site tag (gtag.js) - Google Analytics