学习笔记二十三:GUI(四)
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:35
业精于勤而荒于嬉,行成于思而毁于随。——韩愈
本讲内容:常用组件
留意JLabel可以放图片
3、对象条组件(介入构造)
public class Text extends JFrame{ //定义组件 JSplitPane cf;//拆分窗口 JList lb; JLabel bq; public static void main(String[] args) { Text t=new Text(); } public Text() { //创建组件 String[] aa={"软件开辟","游戏开辟","平面设计","动漫制造","室内设计"}; lb=new JList(aa); bq=new JLabel(new ImageIcon("images\\k.jpg"));// /=\\一正斜杠等于二反斜杠 cf=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,lb,bq); //HORIZONTAL_SPLIT阁下拆分VERTICAL_SPLIT高低拆分 cf.setOneTouchExpandable(true);//阁下可全显示 //增长组件 this.add(cf); //设置窗体属性 this.setTitle("计算机学科分类—小劲"); this.setLocation(300, 300); this.setSize(400,300); this.setResizable(false); this.setVisible(true); this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE); } }
[img]http://img.blog.csdn.net/20150106123826932?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
二、多行文本框组件(JTextArea)
一般与JScrollPane滚动条一路应用
public class Text extends JFrame{ //定义组件 JTextArea wby; JPanel mb; JComboBox xlk; JButton an; JTextField wbk; JScrollPane gd; public static void main(String[] args) { Text t=new Text(); } public Text() { //创建组件 wby=new JTextArea(); mb=new JPanel(); String[] aa={"悟空","八戒","沙僧","小白龙"}; xlk=new JComboBox(aa); an=new JButton("发送"); wbk=new JTextField(10); gd=new JScrollPane(wby); //增长组件 mb.add(xlk); mb.add(wbk); mb.add(an); this.add(gd); this.add(mb,BorderLayout.SOUTH); //设置窗体属性 this.setTitle("qq—小劲"); this.setIconImage((new ImageIcon("images\\qq.jpg")).getImage()); this.setLocation(300, 300); this.setSize(400,300); this.setResizable(false); this.setVisible(true); this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE); } }
[img]http://img.blog.csdn.net/20150106125738375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
三、选项卡窗格(JTabbedPane)页签组件
public class Text extends JFrame{ //定义组件 JLabel bq1;//北部 JButton an1,an2,an3;//南部 JPanel mb1; JTabbedPane xxk;//中部 JPanel mb2,mb3,mb4; JLabel bq2,bq3,bq4,bq5; JTextField wbk; JPasswordField mmk; JButton an4; JCheckBox fxk1,fxk2; public static void main(String[] args) { Text t=new Text(); } public Text() { //北部 bq1=new JLabel(new ImageIcon("images/k.jpg")); //南部 mb1=new JPanel(); an1=new JButton("登录"); <span style="white-space:pre"> </span>an2=new JButton("撤消"); <span style="white-space:pre"> </span>an3=new JButton("领导"); <span style="white-space:pre"> </span>mb1.add(an1); mb1.add(an2); mb1.add(an3); <span style="white-space:pre"> </span>//中部 <span style="white-space:pre"> </span>mb2=new JPanel(); <span style="white-space:pre"> </span>mb3=new JPanel(); mb3.setBackground(Color.BLUE); mb4=new JPanel(); mb4.setBackground(Color.green); xxk=new JTabbedPane(); <span style="white-space:pre"> </span>bq2=new JLabel("qq号码",JLabel.CENTER);//文字放在中心 bq3=new JLabel("qq暗码",JLabel.CENTER); bq4=new JLabel("忘记暗码",JLabel.CENTER); bq4.setFont(new Font("宋体",Font.PLAIN,17)); bq4.setForeground(Color.blue);//设置字体色彩丰富的 bq5=new JLabel("<html><a href=http://www.sjsjw.com/100/000083MYM010121/'www.qq.com'>申请暗码保护"); bq5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//移动到这会出现手形 wbk=new JTextField(); mmk=new JPasswordField();//网格大年夜了 an4=new JButton("撤消号码"); fxk1=new JCheckBox("隐身上岸"); fxk2=new JCheckBox("记住暗码"); mb2.setLayout(new GridLayout(3,3)); mb2.add(bq2); mb2.add(wbk); mb2.add(an4); mb2.add(bq3); mb2.add(mmk); mb2.add(bq4); mb2.add(fxk1); mb2.add(fxk2); mb2.add(bq5); xxk.add("通俗用户",mb2); xxk.add("QQ会员",mb3); xxk.add("治理员",mb4); //增长组件 this.add(mb1,BorderLayout.SOUTH); this.add(bq1,BorderLayout.NORTH); this.add(xxk); //设置窗体属性 this.setTitle("qq—小劲"); this.setIconImage((new ImageIcon("images//qq.jpg")).getImage()); this.setLocation(300, 300); this.setSize(400,400); this.setResizable(false); this.setVisible(true); this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE); } }
[img]http://img.blog.csdn.net/20150106131709682?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
四、记事本界面
1、菜单组件(不介入构造,只需this.setJMenuBar(cd); 将菜单添加到窗体上)
JMenuBar 菜单条组件 树干
JMenu 菜单组件 树枝
JMenuItem 菜单项组件 树叶
2、二级菜单制造
JMenu琅绫擎可以嵌套JMenu
JToolBar 容器类组件
一、拆分窗格(JSplitPane)属于容器类组件
public class Text extends JFrame{ //定义组件 JMenuBar cd;//菜单条组件 JMenu cd1,cd2,cd3,cd4,cd5; JMenuItem ycd1,ycd2,ycd3,ycd4,ycd5,ycd6,ycd7; JMenuItem ycd1_1,ycd1_2;//二级菜单 JToolBar gjt;//对象条 JButton an1,an2,an3,an4,an5; JTextArea wby; JScrollPane gdt; public static void main(String[] args) { Text t=new Text(); } public Text() { //菜单 cd=new JMenuBar(); cd1=new JMenu("文件(F)"); cd1.setMnemonic('F');//设置快捷键 cd2=new JMenu("编辑(E)"); cd2.setMnemonic('E'); cd3=new JMenu("格局(O)"); cd3.setMnemonic('O'); cd4=new JMenu("查看(V)"); cd4.setMnemonic('V'); cd5=new JMenu("赞助(H)"); cd5.setMnemonic('H'); ycd1=new JMenu("新建"); ycd1_1=new JMenuItem("文件",new ImageIcon("image/a.jpg")); ycd1_2=new JMenuItem("模板"); ycd2=new JMenuItem("打开",new ImageIcon("image/a.jpg")); ycd3=new JMenuItem("保存(S)",new ImageIcon("image/a.jpg")); ycd3.setMnemonic('S'); ycd4=new JMenuItem("另存为"); ycd5=new JMenuItem("页面设置"); ycd6=new JMenuItem("打印"); ycd7=new JMenuItem("退出"); ycd1.add(ycd1_1); ycd1.add(ycd1_2); cd1.add(ycd1); cd1.add(ycd2); cd1.add(ycd3); cd1.add(ycd4); cd1.addSeparator();//设置一条线 cd1.add(ycd5); cd1.add(ycd6); cd1.addSeparator(); cd1.add(ycd7); cd.add(cd1); cd.add(cd2); cd.add(cd3); cd.add(cd4); cd.add(cd5); this.setJMenuBar(cd); //将菜单添加到窗体上 //对象条 gjt=new JToolBar(); an1=new JButton(new ImageIcon("images/4.gif")); an1.setToolTipText("新建");//设置提示文字 an2=new JButton(new ImageIcon("images/1.gif")); an2.setToolTipText("打开"); an3=new JButton(new ImageIcon("images/4.gif")); an3.setToolTipText("保存"); an4=new JButton(new ImageIcon("images/2.gif")); an4.setToolTipText("剪切"); an5=new JButton(new ImageIcon("images/1.gif")); an5.setToolTipText("复制"); gjt.add(an1); gjt.add(an2); gjt.add(an3); gjt.add(an4); gjt.add(an5); wby=new JTextArea(); gdt=new JScrollPane(wby); //增长组件 this.add(gjt,BorderLayout.NORTH); this.add(gdt); //设置窗体属性 this.setTitle("迷你版记事本—小劲"); this.setIconImage((new ImageIcon("images\\qq.jpg")).getImage()); this.setLocation(300, 300); this.setSize(400,400); this.setResizable(false); this.setVisible(true); this.setDefaultClo搜刮引擎优化peration(JFrame.EXIT_ON_CLOSE); } }
[img]http://img.blog.csdn.net/20150106140147520?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlndW9qaW4xMjMw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
本讲就到这里,Take your time and enjoy it