嗨,我正在尝试制作一个匹配的记忆游戏,我使用JToggleButton.最重要的是当我按下按钮它必须显示一张图片,我必须找到另一张相同的图片.所以问题是,当我创建了一个按钮,没有任何图标,我不能用别的其他方法,例如.setRollOverIcon(),.setPressedIcon()等等,所以我感激,如果你能帮助我.并感谢无论如何:)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonsIcon extends JFrame {
private static final long serialVersionUID = 1L;
private ImageIcon errorIcon = (ImageIcon) UIManager.getIcon("OptionPane.errorIcon");
private ImageIcon infoIcon = (ImageIcon) UIManager.getIcon("OptionPane.informationIcon");
private ImageIcon warnIcon = (ImageIcon) UIManager.getIcon("OptionPane.warningIcon");
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
ButtonsIcon t = new ButtonsIcon();
}
});
}
public ButtonsIcon() {
setLayout(new GridLayout(1, 1, 4, 4));
final JToggleButton toggleButton = new JToggleButton();
//toggleButton.setIcon((errorIcon));
toggleButton.setRolloverIcon((infoIcon)); …Run Code Online (Sandbox Code Playgroud) 下面的代码是在选择3个按钮中的任何一个时更改背景颜色:红色,绿色或蓝色.当我选择其中任何一个时,实际上什么也没发生.但是,从JButtons更改为JRadioButtons或JToggleButtons确实有效.谁知道为什么?是因为JButton.isselected()方法被窃听并且它总是返回false?我感谢任何帮助......谢谢.
public class bgcolor2 extends JFrame
{
private static final int FRAME_WIDTH = 300;
private static final int FRAME_HEIGHT= 400;
private ActionListener listener;
private JButton greenbutton;
private JButton redbutton;
private JButton bluebutton;
private JPanel colorpanel;
private JPanel buttonpanel;
public bgcolor2()
{
colorpanel = new JPanel();
add(colorpanel,BorderLayout.CENTER);
class bgcolorlistener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
changebgcolor();
}
}
listener=new bgcolorlistener();
createbuttons();
setSize(FRAME_WIDTH,FRAME_HEIGHT);
}
public void createbuttons()
{
greenbutton = new JButton("Green");
greenbutton.addActionListener(listener);
bluebutton = new JButton("Blue");
bluebutton.addActionListener(listener);
redbutton = …Run Code Online (Sandbox Code Playgroud) 嗨,我正在做一个项目(卡匹配游戏),它几乎完成但事情是当我点击第二个按钮打开图片,如果它不一样,第一次突然关闭.好吧没有错,但用户必须看一下图片(可能是2秒).所以我使用Thread.sleep(2000)但我没有正常工作.它将icon设置为null,然后开始等待2秒.这是我的代码,试图制作一个SSCCE,
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Menu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Random;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
import javax.swing.UIManager;
import javax.swing.border.*;
public class ConcentrationGame3 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private int buttoncounter=0;
private int counter = 0;
private JFrame frame;
private JPanel mainPanel;
private …Run Code Online (Sandbox Code Playgroud) 我正在像扫雷车一样制作4x4电路板。每个按钮都有一个炸弹或其他图像。
这是我的代码:
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
this.jToggleButton1.setIcon(new javax.swing.ImageIcon("bombaa.png"));
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
this.jToggleButton1.setIcon(new javax.swing.ImageIcon("bombaa.png"));
}
Run Code Online (Sandbox Code Playgroud)
也尝试过这种方式...
private void setIcon1(){
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("bombaa.png")));
}
Run Code Online (Sandbox Code Playgroud)
并在jButton1ActionPerformed和jButton1MouseClicked BUT中调用setIcon(),这会将我的图像设置为程序的主图标。
基本上,我需要的是:单击一个按钮并仅设置一次图像/图标。
我正在尝试为我的GUI项目创建一个开/关按钮.我做了一个按钮,当我点击它时,会出现一条消息.我用ActionListener它了.当我再次点击它时,我想要消息消失.我尝试使用,jToggleButton但我不知道如何使用它.有人可以帮忙吗?
我有大约50个按钮.有些是绿色(选中),有些是灰色(取消选择).如果我按下绿色按钮,他们应该再次按下时将颜色更改为红色并返回绿色.如果我按下灰色按钮,他们应该再次按下时将颜色更改为绿色并返回灰色.所有按钮都有一些黑色文本.按下按钮,文本颜色保持不变.建议相同的解决方案或教程......
我JToggleButton在MigLayout中有八个s。根据按钮的状态,文本将更改。问题在于,一个州的文本比另一州的文本大,并且当整个列由于增长和缩小而移动时,它看起来很奇怪且不专业。更改表单大小时,是否有任何方法可以使按钮填充给它们的空间,但是无论文本是什么,都保持相同的大小?
按钮的当前参数为:cell X Y,growx其中X和Y指定单元格坐标,列的参数为[grow,center]。
我正在尝试JToggleButton通常没有边框的按钮,只显示我提供的图标.但是当它们被点击时,我想要显示所选按钮.
我知道通过使用setLayout(null).初始状态有效,但是当我单击它时,边框不会显示.必须有一些简单的边界电话我不见了.有谁知道如何做到这一点?
所以我有三个按钮,比方说1,2和3.我想,当我点击button1时,取消选择button2和button3.之后,当我点击button2时,我想要取消选择button1和button3.button3也是如此.
基本上,当我单击一个按钮时,我希望取消选择其他2个按钮.到目前为止,我有以下代码,但我被困在某处,我看不出错误.
if(smallbuttonpage1.isSelected()){
normalbuttonpage1.setSelected(false);
bigbuttonpage1.setSelected(false);
textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 8));
}
if(normalbuttonpage1.isSelected()){
smallbuttonpage1.setSelected(false);
bigbuttonpage1.setSelected(false);
textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 12));
}
if(bigbuttonpage1.isSelected()){
smallbuttonpage1.setSelected(false);
normalbuttonpage1.setSelected(false);
textpage1.setFont(new Font("ComicSansMS", Font.PLAIN, 20));
}
Run Code Online (Sandbox Code Playgroud)