У меня проблема с моим интерфейсом Java, я хочу отображать панель меню и панель инструментов вместе с некоторыми метками и текстовыми полями, однако каждый раз, когда я использую gridbaglayout, он не отображал мою метку, а мое текстовое поле отображал только мою панель меню и панель инструментов не могли бы вы помочь мне с этим, я ищу Mr.G (google) об этой проблеме, но не могу найти достойного решения своих проблем, я только новичок в java, и я хочу, чтобы java использовался в качестве моего языка программирования в мой следующий проект.
Вот мой код:
package Forms;
import javax.swing.*;
import java.awt.*;
public class CompleteGridLayout {
static JFrame frame;
static JPanel panel, panelData;
static JMenuBar menuBar;
static JMenu menuFile, menuSetting, menuOption;
static JMenuItem itemNew, itemOpen, itemSave, itemPrint, itemOption, itemClose, itemView, itemReports;
static JToolBar toolBar;
static Icon iconMenu;
static JButton barSave, barEdit, barClear, barDelete;
static ButtonGroup group;
static JRadioButtonMenuItem subFont1, subFont2, subFont3, subFont4, subFont5;
static JCheckBoxMenuItem checkPrefer;
static JLabel label;
static JTextField textFirst, textMiddle, textLast;
static JCheckBox checkGender;
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable(){
public void run()
{
gui();
}
});
}
public static void gui()
{
frame = new JFrame("Complete GridBag Layout Interface");
//frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
panel = new JPanel();
panel.setLayout(new GridBagLayout());
frame.getContentPane().add(panel);
CompleteGridLayout myMenu = new CompleteGridLayout();
myMenu.MyMenuBar();
myMenu.MyToolBar();
GridBagConstraints bag = new GridBagConstraints();
bag.anchor = GridBagConstraints.CENTER;
bag.gridx = 0;
bag.gridy = 3;
panel.add(dataPanel(), bag);
frame.pack();
frame.setVisible(true);
}
public static JPanel dataPanel()
{
panelData = new JPanel();
label = new JLabel("First Name: ");
textFirst = new JTextField(10);
panelData.setLayout(new GridBagLayout());
GridBagConstraints bagData = new GridBagConstraints();
int i = 0;
bagData.gridx = 1;
bagData.gridy = i;
bagData.gridwidth = 2;
bagData.fill = GridBagConstraints.HORIZONTAL;
panelData.add(textFirst, bagData);
bagData.gridx = 0;
bagData.gridy = i;
bagData.gridwidth = 1;
bagData.fill = GridBagConstraints.NONE;
panelData.add(label, bagData);
i++;
return panelData;
}
public void MyToolBar()
{
toolBar = new JToolBar(JToolBar.HORIZONTAL);
frame.add(toolBar);
iconMenu = new ImageIcon(getClass().getResource("icons/save-bar.png"));
barSave = new JButton("Save", iconMenu);
toolBar.add(barSave);
iconMenu = new ImageIcon(getClass().getResource("icons/edit-bar.png"));
barEdit = new JButton("Edit", iconMenu);
toolBar.add(barEdit);
iconMenu = new ImageIcon(getClass().getResource("icons/clear-bar.png"));
barClear = new JButton("Clear", iconMenu);
toolBar.add(barClear);
iconMenu = new ImageIcon(getClass().getResource("icons/delete-bar.png"));
barDelete = new JButton("Delete", iconMenu);
toolBar.add(barDelete);
}
public void MyMenuBar()
{
menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
//Menus
menuFile = new JMenu("File");
menuBar.add(menuFile);
iconMenu = new ImageIcon(getClass().getResource("icons/new.png"));
itemNew = new JMenuItem("New", iconMenu);
menuFile.add(itemNew);
iconMenu = new ImageIcon(getClass().getResource("icons/open.png"));
itemOpen = new JMenuItem("Open", iconMenu);
menuFile.add(itemOpen);
iconMenu = new ImageIcon(getClass().getResource("icons/save.png"));
itemSave = new JMenuItem("Save", iconMenu);
menuFile.add(itemSave);
menuFile.addSeparator();
iconMenu = new ImageIcon(getClass().getResource("icons/print.png"));
itemPrint = new JMenuItem("Print", iconMenu);
menuFile.add(itemPrint);
menuFile.addSeparator();
menuSetting = new JMenu("Settings");
menuFile.add(menuSetting);
group = new ButtonGroup();
subFont1 = new JRadioButtonMenuItem("10 Pixel");
menuSetting.add(subFont1);
group.add(subFont1);
subFont2 = new JRadioButtonMenuItem("12 Pixel");
menuSetting.add(subFont2);
group.add(subFont2);
subFont3 = new JRadioButtonMenuItem("14 Pixel");
menuSetting.add(subFont3);
group.add(subFont3);
subFont4 = new JRadioButtonMenuItem("16 Pixel");
menuSetting.add(subFont4);
group.add(subFont4);
subFont5 = new JRadioButtonMenuItem("24 Pixel");
menuSetting.add(subFont5);
group.add(subFont5);
menuSetting.addSeparator();
checkPrefer = new JCheckBoxMenuItem("Preference");
menuSetting.add(checkPrefer);
group.add(checkPrefer);
iconMenu = new ImageIcon(getClass().getResource("icons/close.png"));
itemClose = new JMenuItem("Close", iconMenu);
menuFile.add(itemClose);
menuOption = new JMenu("Option");
menuBar.add(menuOption);
iconMenu = new ImageIcon(getClass().getResource("icons/view.png"));
itemView = new JMenuItem("View Users", iconMenu);
menuOption.add(itemView);
iconMenu = new ImageIcon(getClass().getResource("icons/report.png"));
itemReports = new JMenuItem("Reports", iconMenu);
menuOption.add(itemReports);
}
}
Кстати, я использовал только одну метку и текстовое поле только для целей тестирования.
UIManager
, как показано здесь. - person trashgod   schedule 28.08.2012