在Java中添加按钮

时间:2014-05-27 15:11:49

标签: java button actionlistener

     import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*;  

public class MenuDemo extends eikona
{ 

 private JProgressBar progress; 

 public MenuDemo(String title) 
 { 
 super(title); 
 Container contentPane = this.getContentPane(); 

 MenuColorChanger changer = new MenuColorChanger(contentPane, progress); 

 createMenu(changer); 
 } 

 public void createMenu(MenuColorChanger changer) 
 { 

 JMenuBar menuBar = new JMenuBar(); 
 this.setJMenuBar(menuBar); 

 JMenu fileMenu = new JMenu("Options"); 

  menuBar.add(fileMenu); 

 JMenuItem exit = new JMenuItem("Reset"); 
 fileMenu.add(exit); 
 exit.addActionListener(changer); 


 } 

 public static void main(String [] args) 
 { 
 MenuDemo f = new MenuDemo("MenuDemo"); 
 f.setSize(300,300); 
 f.setVisible(true); 
 } 
} 
你好。我有上面的代码..我怎么能把按钮放在特定的位置???嗯,我把按钮,但他们去特定的地方。我怎么能改变它们?我非常喜欢java,所以请尽可能好好解释..

2 个答案:

答案 0 :(得分:0)

  

如何将按钮放在特定位置?

你没有。

您让布局管理器确定每个按钮的大小位置。如果您不喜欢当前布局,则使用不同的布局管理器。阅读Using Layout Managers上的Swing教程,了解更多信息和工作示例。

由于您尚未指定布局如何工作,因此我们无法为您提供任何更具体的信息。请阅读教程和实验。

答案 1 :(得分:0)

如果您正在谈论菜单栏上的按钮,则只能更改这些按钮的顺序,以便您可以在选项菜单项之前进行重置。菜单项的顺序按照将它们放入代码的顺序显示。您也可以制作按钮而不是菜单栏。通过使用不同的布局,可以在任何您想要的位置显示这些按钮。

以下是我使用按钮提供的示例代码。我喜欢使用SpringLayout,因为我认为它是一个非常简单的布局,您可以将按钮放在您想要的任何位置。就像我说过你可以选择任何你喜欢的布局。

查看此网站以获取更多布局:http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

public class Buttons {

public static void main(String[] args){
    JFrame frame = new JFrame("Test");

    SpringLayout layout = new SpringLayout();
    JPanel contentPane = new JPanel(layout);

    JButton button1 = new JButton("Button1");
    layout.putConstraint(SpringLayout.NORTH, button1, 0, SpringLayout.NORTH, contentPane);
    layout.putConstraint(SpringLayout.WEST, button1, 0, SpringLayout.WEST, contentPane);

    JButton button2 = new JButton("Button2");
    layout.putConstraint(SpringLayout.NORTH, button2, 40, SpringLayout.NORTH, contentPane);
    layout.putConstraint(SpringLayout.WEST, button2, 0, SpringLayout.WEST, contentPane);

    contentPane.add(button1);
    contentPane.add(button2);

    frame.add(contentPane);
    frame.setVisible(true);
    frame.setSize(300, 300);

}
}