标签: jbutton

禁用JButton焦点边框

我在Java中遇到了JButton的问题.基本上,我想禁用按钮的边框(该按钮被添加到JDesktopPane).

这是我的代码:

 JButton j = new JButton("BUTTON");
 j.setIcon(icon1); //icon1 : icon//
 j.setFocusable(true);
 j.setContentAreaFilled(false);
 j.setBounds(90, 20, 130, 30);
 dtp.add(j); //dtp : JDesktopPane//
Run Code Online (Sandbox Code Playgroud)

它可以让边框像这张图片一样消失:

在此输入图像描述

但是当我的鼠标被点击(没有移动)到按钮时,按钮周围有一个"点"边框,如下所示:

在此输入图像描述

所以,我怎么能设置按钮,这样当我不在按钮区域移动鼠标时,它仍然像第一张图像一样设置,但是当我移动鼠标时,按钮周围有一个方形(带有一个灯 - 蓝色背景)?

java swing jbutton

29
推荐指数
3
解决办法
4万
查看次数

如何添加侦听多个按钮的动作侦听器

我试图弄清楚我对动作听众做错了什么.我正在关注多个教程,但是当我尝试使用动作监听器时,netbeans和eclipse会给我错误.

下面是一个简单的程序,我试图让按钮工作.

我究竟做错了什么?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;


public class calc extends JFrame implements ActionListener {



    public static void main(String[] args) {

        JFrame calcFrame = new JFrame();

        calcFrame.setSize(100, 100);
        calcFrame.setVisible(true);

        JButton button1 = new JButton("1");
        button1.addActionListener(this);

        calcFrame.add(button1);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == button1)
    }  

}
Run Code Online (Sandbox Code Playgroud)

动作监听器永远不会注册,因为if(e.getSource() == button1)它无法看到button1,错误说无法找到符号.

java swing jbutton actionlistener

28
推荐指数
3
解决办法
19万
查看次数

如何在Java中将ActionListener添加到JButton中

private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");
Run Code Online (Sandbox Code Playgroud)

如何将动作侦听器添加到这些按钮,以便从我可以调用actionperformed它们的主方法,所以当它们被单击时,我可以在我的程序中调用它们?

java user-interface swing jbutton actionlistener

27
推荐指数
2
解决办法
15万
查看次数

是不是可以将Swing组件添加到多个容器中?

我正在尝试(测试其他东西)将一个JButton引用添加到两个中JPanels进行测试,它会从添加到的第一个面板中消失!

那么,不能将Swing组件添加到多个容器中吗?

先感谢您.

java swing jcomponent jpanel jbutton

26
推荐指数
2
解决办法
7081
查看次数

如何在java中禁用javax.swing.JButton?

我创建了一个swings应用程序,GUI上有一个"开始"按钮.我希望每当我点击"开始"按钮时,应禁用启动按钮并启用"停止"按钮.

为此,我在"开始"按钮的"ActionPeformed(...)"方法中编写了以下代码

startButton.setEnabled(false);
stopButton.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)

但是上面的代码并没有在GUI上创建所需的效果.

以上代码是否符合我的要求?

它也没有使用"repaint()".

编辑:

代码很长,所以我无法粘贴所有代码.但是,我可以告诉我更多关于代码的信息.

在"开始"按钮的"ActionPeformed"方法中,在调用上述两个语句之后,我正在执行"SwingWorker"线程.

这个线程是否会产生任何问题?

java user-interface jbutton

23
推荐指数
2
解决办法
12万
查看次数

在JBable中使JButton可单击

这是我想要做的截图:

在此输入图像描述

发生了什么事情,JButton显示正确,但点击它没有任何反应.经过一番搜索,我发现Object返回的table.getValueAt()是一个String而不是一个JButton ...

这是代码:

tblResult = new JTable(data,cols) {
    public TableCellRenderer getCellRenderer( int row, int column ) {
        return new ClientsTableRenderer();
    }
};
Run Code Online (Sandbox Code Playgroud)

我使用它在运行时填充JTable :( tblResult现在Clients.rblResult)

SwingUtilities.invokeLater( new Runnable() {
    public void run() { 

        DefaultTableModel aModel = new DefaultTableModel() {
            //setting the jtable read only
            @Override
            public boolean isCellEditable(int row, int column) {
                return false;
            }               
        };


    String[] cols = {"N°","Société", "TVA", "CP", "Ville", ""};
    aModel.setColumnIdentifiers(cols);

    Object[] temp = new Object[6];
    for(int i=0;i<result.length;i++) …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jbutton

23
推荐指数
3
解决办法
5万
查看次数

Java - 检查JTextField是否为空

所以我知道这是一个很受欢迎的问题,已经找到了解决方案.但是,当我尝试这个时,它无法正常工作.

我的JTextField为空,并且未启用该按钮.当我在文本字段中写东西时,按钮不会启用.

所以我的程序应该每秒检查一次该字段是否为空.只要有人在文本字段中写入内容,就应该启用该按钮.^^

loginbt = new JButton("Login");
    loginbt.addActionListener(new loginHandler());
    add(loginbt);

    if(name.getText().equals("")) {
        loginbt.setEnabled(false);
    }else {
        loginbt.setEnabled(true);
    }
Run Code Online (Sandbox Code Playgroud)

java swing jbutton jtextfield documentlistener

21
推荐指数
2
解决办法
18万
查看次数

我可以让Swing JButton的边距更小吗?

我更喜欢边距最小的按钮,与文本标题一样宽.有没有办法在Swing中的JButton中实现这一点?

我现在在实践中看到的是,即使我尝试使用setMaximumSize()和类似的东西,它最终也会吃掉文本标题,将其剪切到右边.但它并没有降低利润率.

java swing margin jbutton

20
推荐指数
1
解决办法
2万
查看次数

如何使用Java将JButton放置在JFrame中的所需位置

我想在JFrame中的特定坐标上放置一个Jbutton .我为JPanel(我放在JFrame上)设置了setBounds,并为JButton设置了setBounds.但是,它们似乎没有按预期运行.

我的输出:

替代文字http://i49.tinypic.com/2d8kuah.jpg

这是我的代码:

import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Control extends JFrame {

    // JPanel
    JPanel pnlButton = new JPanel();
    // Buttons
    JButton btnAddFlight = new JButton("Add Flight");

    public Control() {
        // FlightInfo setbounds
        btnAddFlight.setBounds(60, 400, 220, 30);

        // JPanel bounds
        pnlButton.setBounds(800, 800, 200, 100);

        // Adding to JFrame
        pnlButton.add(btnAddFlight);
        add(pnlButton);

        // JFrame properties
        setSize(400, 400);
        setBackground(Color.BLACK);
        setTitle("Air Traffic Control");
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Control(); …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jbutton

20
推荐指数
1
解决办法
20万
查看次数

为什么BoxLayout不允许我改变JButton的宽度但让我改变高度?

我正在尝试使用我的一个布局JDialog以适应我正在移植到Java的程序的特定外观,我之前使用过几个LayoutManagers并取得了巨大的成功但由于某种原因我似乎无法得到这个工作在一起.我的目标是让内部的右侧(东侧)JDialog按照自上而下的顺序包含"查找下一个"和"取消"按钮,然后在下面的任何额外空间中,以便两个按钮始终位于顶部JDialog,出于某种原因BoxLayout不断忽视任何改变的尝试(这是我失去的地方)的宽度JButton.代码如下.

JButton findNext = new JButton("Find Next");
JButton cancel = new JButton("Cancel");
cancel.setPreferredSize(new Dimension((int)findNext.getPreferredSize().getWidth(),  
    (int)cancel.getPreferredSize().getHeight()));

JPanel example = new JPanel();  
example.setLayout(new BoxLayout(example, BoxLayout.Y_AXIS));  
example.add(findNext);
example.add(cancel);  
example.add(Box.createGlue());  
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,cancel始终保持它的正常尺寸.我已经尝试setMinimumSize()setMaximumSize()使用相同的参数setPreferredSize,没有运气.我甚至尝试cancel.setPreferredSize(new Dimension(500, 500));了按钮高度是唯一调整的东西,它仍然保留了它给出的默认宽度.

要清除任何问题,这就是它的样子(现在我已经完成了),你会看到"查找下一个"和"取消"按钮的大小不同.

示例图片

java user-interface swing jpanel jbutton

18
推荐指数
2
解决办法
3万
查看次数