GUI中的JButtons

时间:2014-02-20 23:40:14

标签: java swing user-interface jbutton

我是GUI的初学者。

是否有快速方法将相同的JButton / Image设置为GUI中的多个位置?为了更好地说明,如果我想在我的GUI中的不同位置使用这个JButton 10次,我是否需要创建一个新的JButton(新的ImageIcon ...)10次?

这些按钮不需要任何东西,这只是为了表演。

JButton jb = new JButton(new ImageIcon("myImage.png"));
jb.setLocation(10,10);
jb.setSize(40, 40);
getContentPane().add(jb);

5 个答案:

答案 0 :(得分:4)

简短的回答是,您需要多个JButton实例。

您可以使用可以应用于按钮的多个实例的ActionAction的相同实例)。 Action类包含将用于配置按钮的属性,例如文本和图标属性。

组件(如JButton)只能位于单个容器中,因此,您需要多个JButton实例。

请查看How to Use ActionsHow to Use Buttons, Check Boxes, and Radio Buttons了解详情......

通常,您应该避免使用setLocationsetSize并更多地依赖布局管理器的使用,但是您没有提供足够的上下文来说明这对您是否有用。

答案 1 :(得分:2)

是的,您需要为每个所需的实例创建一个Jbutton对象。

答案 2 :(得分:1)

由于你有很多JButton都很相似,我建议你声明一个数组JButton[] buttons = new JButton[10];并使用for循环来创建每个单独的按钮并设置它们的属性。

答案 3 :(得分:1)

如果它只是一个节目,我会做以下几行连续显示10个按钮:

int buttonHeight = 10;
int buttonWidth = 10;
for (int i = 0; i < 10; i++) {
    JButton button = new Button("Button " + i);
    button.setSize(buttonWidth, buttonHeight);
    button.setLocation(10 + i * buttonWidth, 10);
    getContentPane().add(button);
}

答案 4 :(得分:0)

 import java.util.Scanner;
 import javax.swing.*;
 import java.awt.*;

 class PROB4_CHAL1 extends JFrame 
 {
    JButton b[]=new JButton[10];
        public PROB4_CHAL1()
        {
            setLayout(null);
            setVisible(true);
            setSize(100,100);
          for(int i=0;i<10;i++)
           {
           b[i]=new JButton(""+i);// or b[i]=new JButton(new ImageIcon("path"));
           b[i].setBounds(i*10,i*20,50,20);
           add(b[i]);
           }

        }

       public static void main(String[] args)
        {
         new PROB4_CHAL1();
          }
   }

您可以创建'JButton [10]'的数组。enter image description here