问题描述
作业只学了简单的布局管理器,这种不知道如何实现,请教大家!
解决方案
解决方案二:
这个是box布局吧
解决方案三:
晕错了刚刚看了一眼是网格布局java.awt.GridLayout()
解决方案四:
中间是网格,可是上面还有按钮那一行和最下面的状态栏那一行并要求中间的网格是可以动态调整大小的
解决方案五:
我..楼上楼主小号啊这么多要求啊这就不是一个布局了是一个组合的啊整体上用box中间的用网格的动态调整大小是什么意思啊
解决方案六:
实在有复杂要求就得自己画了呵呵
解决方案七:
实在有复杂要求就得自己画了呵呵
解决方案八:
importjava.awt.Color;importjava.awt.Font;importjava.awt.Rectangle;importjava.awt.SystemColor;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ButtonGroup;importjavax.swing.JDialog;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JRadioButton;publicclassbextendsJDialogimplementsActionListener{privateJPaneljContentPane=null;publicJLabeljLabelDealingID=null;staticJLabeljLabelSumShow=null;staticJLabeljLabelMerberIDShow=null;staticJLabeljLabelMerberNameShow=null;staticJLabeljLabelMerberLevelShow=null;staticJLabeljLabelMerberDiscountShow=null;staticJLabeljLabelMerberPointsShow=null;staticJRadioButtonjRadioButtonCommon=null;staticJRadioButtonjRadioButtonMerBer=null;privateButtonGroupbg=newButtonGroup();privateJLabeljLabelNum=null;staticJLabeljLabelNumShow=null;publicb(){initialize();this.setVisible(true);}privatevoidinitialize(){this.setTitle("CashRegister");this.setSize(500,200);this.setModal(true);this.setLocationRelativeTo(this);this.setContentPane(getJContentPane());}privateJPanelgetJContentPane(){if(jContentPane==null){jLabelNumShow=newJLabel();jLabelNumShow.setBounds(newRectangle(40,0,53,25));jLabelNumShow.setForeground(Color.WHITE);jLabelNumShow.setText("");jLabelNum=newJLabel();jLabelNum.setBounds(newRectangle(0,0,40,25));jLabelNum.setForeground(Color.WHITE);jLabelNum.setFont(newFont("u5faeu8f6fu96c5u9ed1",Font.BOLD,12));jLabelNum.setText("总计:");jContentPane=newJPanel();jContentPane.setLayout(null);jContentPane.add(getJRadioButtonMerBer(),null);jContentPane.add(jLabelNum,null);jContentPane.add(jLabelNumShow,null);jContentPane.setBackground(SystemColor.darkGray);//背景颜色}returnjContentPane;}privateJRadioButtongetJRadioButtonMerBer(){if(jRadioButtonMerBer==null){jRadioButtonMerBer=newJRadioButton();jRadioButtonMerBer.setBounds(newRectangle(300,0,54,21));jRadioButtonMerBer.setFont(newFont("u5faeu8f6fu96c5u9ed1",Font.BOLD,12));jRadioButtonMerBer.setText("点我");jRadioButtonMerBer.setSelected(false);//交易后返回普通用户bg.add(jRadioButtonMerBer);jRadioButtonMerBer.addItemListener(newjava.awt.event.ItemListener(){publicvoiditemStateChanged(java.awt.event.ItemEvente){}});}returnjRadioButtonMerBer;}publicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstub}publicstaticvoidmain(Stringargs[]){btest=newb();test.setVisible(true);}}
方法很多,我给你介绍的是采用这种坐标实现jRadioButtonMerBer.setBounds(newRectangle(300,0,54,21));(x轴,y轴,长,宽)希望对你有帮助
解决方案九:
引用4楼zqfddqr的回复:
我..楼上楼主小号啊这么多要求啊这就不是一个布局了是一个组合的啊整体上用box中间的用网格的动态调整大小是什么意思啊
初始的时候可能是4*4的,也有可能变成6*6的!
解决方案十:
GridLayout很强大...
解决方案十一:
引用9楼renhuihhh的回复:
GridLayout很强大...
可以不同行的网格高度不一样吗??