标签: jbutton

根据文本调整JButton和其他组件的大小

如何在运行时调整JButton的大小以使其适应由给定的文本setSize?我做了一些搜索,这是我到目前为止提出的代码.这会变成一种实用方法吗?

FontMetrics metrics = getFontMetrics( font );
int width = metrics.stringWidth( string );
Run Code Online (Sandbox Code Playgroud)

PS:没有使用布局管理器.

java swing text resize jbutton

5
推荐指数
1
解决办法
7035
查看次数

当JButton按下时isShiftDown?

大家好
我有一个JFrame,我已经为这个JFrame添加了一个JButton.
我还在我的JButton中添加了一个ActionListener.
现在请将此伪代码转换为Java:

public void actionPreformed(ActionEvent e){
    if (isShiftDown)
        print "Shift is Down.";
    else
        print "Shift is Up.";
}
Run Code Online (Sandbox Code Playgroud)

实际上我想知道isShiftDown,而我的JButton是否按下了.

谢谢.

java swing keylistener jframe jbutton

5
推荐指数
1
解决办法
1460
查看次数

我如何将JButton放在图像上?

我正在尝试修复一个JFrame,其中将有一个背景图像和图像JButtons将执行一些命令.我尝试在没有布局的情况下这样做,因为我想在JFrame上的某些特定位置放置小按钮,但每次我这样做时,背景图像都会出现在前面,或者JFrame的大小等于JFrame大小.使用以下代码,JButton与JFrame具有相同的大小.我试图改变JButton的大小和位置,但没有.你能帮我吗?

这是代码


public final class Test extends JComponent
{
 private Image background;
 private JFrame frame;
 private Dimension dimension;

public Test()
{  
    dimension = new Dimension(15, 15);
    frame = new JFrame("Iphone");
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(this);
    frame.setBounds(641, 0, 344, 655);
    frame.setVisible(true);

    test = displayButton("tigka");
    frame.getContentPane().add(test);
}

public void update(Graphics g)
{
    paint(g);
}


public void paintComponent(Graphics g)
{
    super.paintComponents(g);
    g.drawImage(background, 0, 25, null); // draw background
Run Code Online (Sandbox Code Playgroud)

// 标签();

test = displayButton("test"); public JButton displayButton(String name){JButton button = new JButton(name); button.setSize(100,100); button.setPreferredSize(尺寸); 返回按钮; }

java size swing jbutton paintcomponent

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

如何动态分配键到按钮?

我的GUI中有一个部分是根据对象列表动态生成的.因此,对于该列表中的每个对象,我想创建一个JButton并关联一个键盘快捷键.

例如:

for (String tag : testTags) {
    new JButton(tag).setMnemonic(KeyEvent.VK_F1);
}
Run Code Online (Sandbox Code Playgroud)

如何以优雅的方式使代码"setMnemonic(KeyEvent.VK_F1)"动态化?有没有办法自动获取一系列键,然后在此迭代中使用它?

谢谢!

java swing keyevent jbutton

5
推荐指数
1
解决办法
516
查看次数

如何从一个按钮关闭的java swing窗口中返回一个值?

基本上,我在主代码中的某处调用了这行代码

editwindow clubeditwindow = new editwindow(1,"Club Edit");
Run Code Online (Sandbox Code Playgroud)

这一行打开一个新的JFrame,它基本上可以编辑主类中的一堆信息.我有两个按钮,称为保存和取消.单击保存时,我想从文本字段中获取值,然后将其放入新对象并将其返回到主类,然后关闭窗口.点击取消后,我希望它不做任何事情,这很简单.

提前致谢.

java swing jframe jbutton

5
推荐指数
1
解决办法
9189
查看次数

在开始活动之前,需要单击两次Java jButton

我正在Netbeans 7.1中构建一个GUI,它代表了医院设备项目的输液泵.按jButton1应显示某个jLabel,表示输液正在运行.再次按jButton1应该停止它.我唯一的问题是按钮需要在第一次工作之前点击两次.在那之后,它完全符合我希望它的工作方式.我在这个问题上搜索了多个线程,但其他解决方案似乎不起作用.谁能帮我?提前致谢!

  package infusion;
  public class Infusion {
    static Interface screen;

    public Infusion(){

        screen = new Interface();
        screen.setVisible(true);
        screen.jLabel3.setVisible(true);
        screen.jButton1.setVisible(true);
    }    

    public static void main(String[] args) {
        // TODO code application logic here
        Infusion infusion = new Infusion();
    }
   }
Run Code Online (Sandbox Code Playgroud)

这是用户界面的代码(主要由Netbeans生成).jButton1ActionPerformed的实现是我调整过的唯一代码.

package infusion;

    public class Interface extends javax.swing.JFrame {
        boolean pump1Running = false;
        /**
         * Creates new form Interface
         */
        public Interface() {
            initComponents();
        }


        /**
         * This method is called from within the constructor to initialize the form.
         * …
Run Code Online (Sandbox Code Playgroud)

java swing jbutton netbeans-7

5
推荐指数
1
解决办法
1497
查看次数

Java:展开JButton以填充Container

我有一个JButton我想扩展以填补JPanel持有它的大小.我尝试过几种不同的方式,没有运气.以下是一些尝试:

  1. 这里推荐的手动尺寸设置- 按钮尺寸没有变化.

    panel  = new JPanel(new CardLayout());
    button = new JButton();
    button.setPreferredSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE)); 
    panel.add(button);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 试图用一个BorderLayout如在暗示扩大按钮在这里.尺寸没有变化.

    panel  = new JPanel(new BorderLayout());
    button = new JButton();
    panel.add(button, BorderLayout.CENTER);
    
    Run Code Online (Sandbox Code Playgroud)

我可能做错了什么,所以非常感谢任何帮助.

编辑

以下是解决问题的摘要.有两件事有效

  1. 删除LayoutManager(在调用中new JPanel),根据Oracle默认为BorderLayout.
  2. 在接受的答案中添加维度(即new BorderLayout(0,0)).

java swing jpanel jbutton

5
推荐指数
1
解决办法
8326
查看次数

一个动作监听器,两个JButtons

我有两个JButtons叫做"左"和"右"."向左"按钮向左移动一个矩形对象,"向右"按钮向右移动矩形对象.我ActionListener在类中有一个作为单击任一按钮时的监听器.但是,我希望在单击每个动作时发生不同的操作.我如何区分,ActionListener点击之间?

java swing awt jbutton actionlistener

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

我的ActionListener如何在JButton中访问另一个类中的变量?

我正在为一个项目做一台老虎机.我无法让我JButton从我的生成新的随机数ArrayList.我可以在程序启动和actionlistener设置时随机化数字,但它不能满足我的需要.它仅用于测试目的.

Actionlistener在一个不同的Java文件中.一切正常,我只是无法弄清楚如何在占位符产生新的随机量plc1,plc2以及plc3按钮被按下时.

我刚刚开始在3周前开始编码.请不要讨厌,这是我的第一个项目.

package GGCGuiLotto;

import java.util.ArrayList;
import java.awt.Color;
import java.awt.Image;
import java.awt.BorderLayout; 
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.JOptionPane;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextField;

import java.util.Random;


public class GGCGuiLotto {

public static void main(String[] args) {    

//Arraylist of images

ImageIcon pic0 = new ImageIcon("pics/pic1.png");
ImageIcon pic1 = new ImageIcon("pics/pic2.png");
ImageIcon pic2 = new ImageIcon("pics/pic3.png");
ImageIcon …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jbutton actionlistener

5
推荐指数
1
解决办法
3299
查看次数

在Windows上设置JButton背景颜色

我有一个JButton,我想将背景设置为一种颜色。

JButton button = new JButton();
button.setVisible(true);
button.setPreferredSize(new Dimension(student_scroll.getWidth(), 50));
button.setBorder(BorderFactory.createLineBorder(Color.WHITE, 1));
button.setBackground(Color.BLACK);
button.setForeground(Color.WHITE);
button.setOpaque(true);
Run Code Online (Sandbox Code Playgroud)

我在Mac上使用了它,并且按我的意愿出现了。但是,在Windows上尝试时,前景为白色(应有),但背景为空。

将背景色设置为JButton

说添加button.setContentAreaFilled(false);我做了但没有效果的。大多数其他人说添加button.setOpaque(true);我也已经做过的。

我还必须做些什么才能使它显示为黑色背景?

编辑

根据要求,SSCCE:

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class MainSwing extends JFrame {
    private static final long serialVersionUID = -8231889836024827530L;

    public static void main(String[] args) {
        try {
            System.setProperty("apple.laf.useScreenMenuBar", "true");
            System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Test");
            UIManager.put("ScrollBarUI", "main.CustomScrollBarUI");
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(ClassNotFoundException e) {
            System.out.println("ClassNotFoundException: " + e.getMessage());
    } …
Run Code Online (Sandbox Code Playgroud)

java swing look-and-feel jbutton uimanager

5
推荐指数
1
解决办法
1978
查看次数