求大侠帮忙设计一下swing界面,界面如图:

[复制链接]
查看11 | 回复4 | 2011-8-19 07:20:01 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-8-19 07:20:01 | 显示全部楼层
importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Font;importjava.awt.GridLayout;importjavax.swing.BorderFactory;importjavax.swing.BoxLayout;importjavax.swing.ButtonGroup;importjavax.swing.DefaultComboBoxModel;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JRadioButton;importjavax.swing.JSplitPane;importjavax.swing.JTextArea;importjavax.swing.JTextField;importjavax.swing.UIManager;importjavax.swing.UnsupportedLookAndFeelException;importjavax.swing.border.Border;importjavax.swing.border.TitledBorder;publicclassSetRemindFrameextendsJPanel{privatestaticfinallongserialVersionUID=-130405182451293343L;ButtonGroupfirstBg;JRadioButtonsingleJrb,weekJrb;BorderlineBorder;JLabeltitleJl;JTextAreatitleJta;JLabeltimeJl;JComboBoxtimeJcb;BordermodeBorder;ButtonGroupsecondBg;JRadioButtonbyHourJrb,byDayJrb,byWeekJrb,byMonthJrb,byYearJrb;JTextFieldtimeJtf;JLabelinfoJl1,infoJl2;BorderrangleBorder;JLabelstartTimeJl3;JTextFieldstartTimeJtf;ButtonGroupthirdBg;JRadioButtonneverJrb,endJrb;JTextFieldendJtf;JLabelmemoJl;JTextAreamemoJta;JButtonokBtn,cancelBtn,clearBtn;publicSetRemindFrame(){initGUI();}privatevoidinitGUI(){JPaneljPanel1=newJPanel(newFlowLayout(FlowLayout.LEFT));firstBg=newButtonGroup();singleJrb=newJRadioButton(\"单次提醒时间(N):\");weekJrb=newJRadioButton(\"周期提醒时间(P):\",true);firstBg.add(singleJrb);firstBg.add(weekJrb);jPanel1.add(singleJrb);jPanel1.add(weekJrb);lineBorder=BorderFactory.createMatteBorder(0,0,1,0,Color.gray);jPanel1.setBorder(lineBorder);JPaneljPanel2=newJPanel(newFlowLayout(FlowLayout.LEFT));titleJl=newJLabel(\"标题:\");titleJta=newJTextArea();titleJta.setRows(1);titleJta.setColumns(45);JPaneljPanel2L=newJPanel(newFlowLayout(FlowLayout.LEFT));jPanel2L.add(titleJl);JPaneljPanel2R=newJPanel(newBorderLayout());jPanel2R.add(titleJta);jPanel2.add(jPanel2L);jPanel2.add(jPanel2R);JPaneljPanel3=newJPanel(newFlowLayout(FlowLayout.LEFT));timeJl=newJLabel(\"提醒时间(A):\");timeJcb=newJComboBox();DefaultComboBoxModelmodel=newDefaultComboBoxModel();Object[]time=newObject[]{\"8:00\",\"9:00\",\"10:00\",\"11:00\",\"12:00\",\"13:00\"};for(Objecto:time)model.addElement(o);timeJcb.setModel(model);jPanel3.add(timeJl);jPanel3.add(timeJcb);JPaneljPanel4=newJPanel(newBorderLayout());JSplitPanejsPanel4=newJSplitPane();jsPanel4.setBorder(null);modeBorder=BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(),\"定期模式\",TitledBorder.LEFT,TitledBorder.DEFAULT_POSITION,newFont(\"正楷\",Font.PLAIN,12),Color.BLACK);jPanel4.setBorder(modeBorder);JPaneljPanel4L=newJPanel();jPanel4L.setLayout(newGridLayout(5,1));secondBg=newButtonGroup();byHourJrb=newJRadioButton(\"按小时(H)\",true);byDayJrb=newJRadioButton(\"按天(D)\");byWeekJrb=newJRadioButton(\"按周(W)\");byMonthJrb=newJRadioButton(\"按月(M)\");byYearJrb=newJRadioButton(\"按年(Y)\");secondBg.add(byHourJrb);secondBg.add(byDayJrb);secondBg.add(byWeekJrb);secondBg.add(byMonthJrb);secondBg.add(byYearJrb);jPanel4L.add(byHourJrb);jPanel4L.add(byDayJrb);jPanel4L.add(byWeekJrb);jPanel4L.add(byMonthJrb);jPanel4L.add(byYearJrb);jsPanel4.setLeftComponent(jPanel4L);JPaneljPanel4R=newJPanel(newFlowLayout(FlowLayout.LEFT));infoJl1=newJLabel(\"每(V)\");infoJl2=newJLabel(\"小时\");timeJtf=newJTextField(\"1\");jPanel4R.add(infoJl1);jPanel4R.add(timeJtf);jPanel4R.add(infoJl2);jsPanel4.setRightComponent(jPanel4R);jPanel4.add(jsPanel4);JPaneljPanel5=newJPanel(newGridLayout(2,2));rangleBorder=BorderFactory.createTitledBorder(BorderFactory.createRaisedBevelBorder(),\"重复范围\",TitledBorder.LEFT,TitledBorder.DEFAULT_POSITION,newFont(\"正楷\",Font.PLAIN,12),Color.BLACK);jPanel5.setBorder(rangleBorder);startTimeJl3=newJLabel(\"开始日期(B):\");JPaneljPanel5i1=newJPanel(newFlowLayout(FlowLayout.LEFT));jPanel5i1.add(startTimeJl3);startTimeJtf=newJTextField(\"2011-08-19\");//想要你那样的效果,自己写控件吧JPaneljPanel5i2=newJPanel(newFlowLayout(FlowLayout.LEFT));jPanel5i2.add(startTimeJtf);neverJrb=newJRadioButton(\"永不过期(F)\");JPaneljPanel5i3=newJPanel(newFlowLayout(FlowLayout.LEFT));jPanel5i3.add(neverJrb);endJrb=newJRadioButton(\"结束日期(E):\",true);endJtf=newJTextField(\"2011-09-19\");thirdBg=newButtonGroup();thirdBg.add(neverJrb);thirdBg.add(endJrb);JPaneljPanel5i4=newJPanel(newFlowLayout(FlowLayout.LEFT));jPanel5i4.add(endJrb);jPanel5i4.add(endJtf);jPanel5.add(jPanel5i1);jPanel5.add(jPanel5i3);jPanel5.add(jPanel5i2);jPanel5.add(jPanel5i4);JPaneljPanel6=newJPanel(newFlowLayout(FlowLayout.LEFT));memoJl=newJLabel(\"备注(T):\");memoJta=newJTextArea(\"您可以在这里写上50字以内的提醒备注\");memoJta.setRows(3);memoJta.setColumns(45);jPanel6.add(memoJl);jPanel6.add(memoJta);jPanel6.setBorder(lineBorder);JPaneljPanel7=newJPanel(newFlowLayout(FlowLayout.RIGHT));okBtn=newJButton(\"确定(O)\");cancelBtn=newJButton(\"取消(C)\");clearBtn=newJButton(\"清除(L)\");clearBtn.setEnabled(false);jPanel7.add(okBtn);jPanel7.add(cancelBtn);jPanel7.add(clearBtn);JPanelmainPanel=newJPanel();mainPanel.setLayout(newBoxLayout(mainPanel,BoxLayout.Y_AXIS));mainPanel.add(jPanel1);mainPanel.add(jPanel2);mainPanel.add(jPanel3);mainPanel.add(jPanel4);mainPanel.add(jPanel5);mainPanel.add(jPanel6);mainPanel.add(jPanel7);this.add(mainPanel);}publicstaticvoidmain(String[]args){//Window风格StringlookAndFeel=\"com.sun.java.swing.plaf.windows.WindowsLookAndFeel\";try{UIManager.setLookAndFeel(lookAndFeel);}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(InstantiationExceptione){e.printStackTrace();}catch(IllegalAccessExceptione){e.printStackTrace();}catch(UnsupportedLookAndFeelExceptione){e.printStackTrace();}JFrameframe=newJFrame(\"设置提醒\");SetRemindFramepanel=newSetRemindFrame();frame.getContentPane().add(panel);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);frame.pack();}}追问哥们,方便留个qq啥的联系方式吗?以后有机会还可以再交流!
回复

使用道具 举报

千问 | 2011-8-19 07:20:01 | 显示全部楼层
你这个分太少了!我大概提一下:我建议你的Layout用BoxLayout;采用Y轴对应;再建7个JPanel:就是七层,分别放一层一层的东西,(仔细观察,这个界面被分成七层了)追问不明白,俺对界面一点不会,从来没做过界面!
回复

使用道具 举报

千问 | 2011-8-19 07:20:01 | 显示全部楼层
多给点分吧就50就想打发人家,是不是有点抠了追问你大爷的真不配做技术……
回复

使用道具 举报

千问 | 2011-8-19 07:20:01 | 显示全部楼层
下个netbeans自己拖拽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行