做个登入界面,现在想把panel1设置小点,由于swing学的不好,请高手指教,对即给分!我用setsize(int,int)没用.
package client;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;import javax.swing.*;
public class MainFrame extends JFrame{
int locationX = 400;
int locationY = 250;
int length=450;
int width=250;
public MainFrame(){
design();
}
public void design(){
setTitle("用户主界面");
setLocation(locationX, locationY);
setSize(length, width);
this.setLayout(new GridLayout(2, 1,0,0));
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//===================================================================菜单设置
JMenuItem checkInMenu=new JMenuItem("上机");
JMenuItem checkOutMenu=new JMenuItem("下机");
JMenu useMenu=new JMenu("使用");
useMenu.add(checkInMenu);
useMenu.add(checkOutMenu);
JMenu helpMenu=new JMenu("帮助");
JMenuItem starTimeMenu=new JMenuItem("上机时间");
JMenuItem systemMenu=new JMenuItem("系统信息");
JMenuItem serverMenu=new JMenuItem("餐饮服务");
helpMenu.add(starTimeMenu);
helpMenu.add(systemMenu);
helpMenu.addSeparator();
helpMenu.add(serverMenu);
JMenu quitMenu=new JMenu("退出");
JMenuItem exitMenu=new JMenuItem("Exit");
quitMenu.add(exitMenu);
JMenuBar menuBar=new JMenuBar();
menuBar.add(useMenu);
menuBar.add(helpMenu);
menuBar.add(quitMenu);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
this.add(panel1);
this.add(panel2);
panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
panel1.add(menuBar);
panel2.setBackground(Color.blue);
//==========================================================================================
}
public static void main(String[] args) {
MainFrame myframe = new MainFrame();
}}
package client;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;import javax.swing.*;
public class MainFrame extends JFrame{
int locationX = 400;
int locationY = 250;
int length=450;
int width=250;
public MainFrame(){
design();
}
public void design(){
setTitle("用户主界面");
setLocation(locationX, locationY);
setSize(length, width);
this.setLayout(new GridLayout(2, 1,0,0));
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//===================================================================菜单设置
JMenuItem checkInMenu=new JMenuItem("上机");
JMenuItem checkOutMenu=new JMenuItem("下机");
JMenu useMenu=new JMenu("使用");
useMenu.add(checkInMenu);
useMenu.add(checkOutMenu);
JMenu helpMenu=new JMenu("帮助");
JMenuItem starTimeMenu=new JMenuItem("上机时间");
JMenuItem systemMenu=new JMenuItem("系统信息");
JMenuItem serverMenu=new JMenuItem("餐饮服务");
helpMenu.add(starTimeMenu);
helpMenu.add(systemMenu);
helpMenu.addSeparator();
helpMenu.add(serverMenu);
JMenu quitMenu=new JMenu("退出");
JMenuItem exitMenu=new JMenuItem("Exit");
quitMenu.add(exitMenu);
JMenuBar menuBar=new JMenuBar();
menuBar.add(useMenu);
menuBar.add(helpMenu);
menuBar.add(quitMenu);
JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
this.add(panel1);
this.add(panel2);
panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
panel1.add(menuBar);
panel2.setBackground(Color.blue);
//==========================================================================================
}
public static void main(String[] args) {
MainFrame myframe = new MainFrame();
}}
修改大小的是修改
int length=450;
int width=250;
这两个值就OK
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;import javax.swing.*;
public class MainFrame extends JFrame{int locationX = 400;
int locationY = 250;
int length=450;
int width=250;public MainFrame(){
design();
setVisible(true);
}
public void design(){
setTitle("mainframe");
setLocation(locationX, locationY);
setSize(length, width);
//this.setLayout(new GridLayout(2, 1,0,0));setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//===================================================================菜单设置
JMenuItem checkInMenu=new JMenuItem("上机");
JMenuItem checkOutMenu=new JMenuItem("下机");
JMenu useMenu=new JMenu("使用");
useMenu.add(checkInMenu);
useMenu.add(checkOutMenu);
JMenu helpMenu=new JMenu("帮助");
JMenuItem starTimeMenu=new JMenuItem("上机时间");
JMenuItem systemMenu=new JMenuItem("系统信息");
JMenuItem serverMenu=new JMenuItem("餐饮服务");
helpMenu.add(starTimeMenu);
helpMenu.add(systemMenu);
helpMenu.addSeparator();
helpMenu.add(serverMenu);JMenu quitMenu=new JMenu("quit");
JMenuItem exitMenu=new JMenuItem("Exit");
quitMenu.add(exitMenu);JMenuBar menuBar=new JMenuBar();
menuBar.add(useMenu);
menuBar.add(helpMenu);
menuBar.add(quitMenu);JPanel panel1=new JPanel();
JPanel panel2=new JPanel();
//panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
//panel1.add(menuBar);
panel2.setBackground(Color.blue);
this.setJMenuBar(menuBar);
this.getContentPane().add(panel2);
//this.add(panel1);
//this.add(panel2);
//==========================================================================================
}
public static void main(String[] args) {
MainFrame myframe = new MainFrame();
}}
=============================================================================
改了一下,不知道你是不是想要这效果.在setVisiable()前要把组件加进去.
也可以在加组件后使用updateUI()方法更新frame.
还有一个就上JFrame本来就是有JMenuBar的空间的.