附加题_创建窗口组件添加

附加题_创建窗口组件添加,第1张

概述这次要求简单地应用一下java的一些图形用户界面编辑的组件类,布局~ 虽然本次设计的结构有点乱,不过也总算把结果做出来了,要对类更加熟悉才能写出更好结构的程序~   下面是效果图:   下面是源代码:     // SevenBaseFrame.java/** * 这是一个包含了七个基本组件的可视化界面图。 * 使用GridLayout布局,然后,再定义七个JPanel变量,每个变

这次要求简单地应用一下java的一些图形用户界面编辑的组件类,布局~

虽然本次设计的结构有点乱,不过也总算把结果做出来了,要对类更加熟悉才能写出更好结构的程序~

下面是效果图:

下面是源代码:

// SevenBaseFrame.java/** * 这是一个包含了七个基本组件的可视化界面图。 * 使用GrIDLayout布局,然后,再定义七个JPanel变量,每个变量用于接收一个组件的布局; * 此外,这七个基本组件包括 检签组件、按钮组件、文本框组件、文本区组件、单选按钮组件、复选框、下拉列表组件。 **/import java.awt.*;import javax.swing.*;import java.lang.*;import java.awt.event.*;import java.util.*;import java.awt.Container.*;public class SevenBaseFrame extends JFrame{	public JPanel labelp;	public JPanel buttonp;	public JPanel textfIEldp;	public JPanel textAreap;	public JPanel radiop;	public JPanel checkBoxp;	public JPanel combop;	public SevenBaseFrame(){		Container sevenC = getContentPane();		sevenC.setLayout(new GrIDLayout(4,2,10,10)); // 设置总布局2行2列,行列间距都为10		labelp = new JPanel();		buttonp = new JPanel();		textfIEldp = new JPanel();		textAreap = new JPanel();		radiop = new JPanel();		checkBoxp = new JPanel();		combop = new JPanel();		JLl jlabel= new JLl(labelp);		JB  jbutton = new JB(buttonp);		JT  jtextfIEld = new JT(textfIEldp);		JTA jtextarea = new JTA(textAreap);		JR jradio = new JR(radiop);		Jcb jcheckBox = new Jcb(checkBoxp);		Jlb jcombo = new Jlb(combop);		sevenC.add(labelp);		sevenC.add(buttonp);		sevenC.add(textfIEldp);		sevenC.add(textAreap);		sevenC.add(radiop);		sevenC.add(checkBoxp);		sevenC.add(combop);		setExtendedState(JFrame.MAXIMIZED_BOTH);	// 全屏		setVisible(true);							// 可见		this.setTitle("图形用户界面组件");		setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);	}	public static voID main(String[] args){		SevenBaseFrame test = new SevenBaseFrame();	}	public class JLl extends JFrame	{		private JLabel label;		public JLl(JPanel p){			label = new JLabel("显示文字的标签");	// 使用文本创建一个标签对象			label.setFont(new Font("serif",Font.PLAIN,20));	// 设置标签字体			label.settooltipText("这是标签对象");		// 设置标签的工具提示			p.add(label);					// 将标签对象添加到面板对象p上		}	}		public class JB extends JFrame	{		private Jbutton button1,button2;		public JB(JPanel p){			button1 = new Jbutton("按钮 1");		// 创建按钮对象			button1.setFont(new Font("serif",20));						ImageIcon img1 = new ImageIcon("picture1.png");			ImageIcon img2 = new ImageIcon("picture2.png");			button2 = new Jbutton("按钮2",img2);			button2.setRolloverIcon(img1);			button2.setFont(new Font("serif",14));			// 为组件注册监听器			BHandler h = new BHandler();			button1.addActionListener(h);			button2.addActionListener(h);			// 将各种组件添加到内容面板			p.add(button1);			p.add(button2);		}		private class BHandler implements ActionListener{			public voID actionPerformed(ActionEvent event){				JOptionPane.showMessageDialog(JB.this,"你按了:" + event.getActionCommand());			}		}	}	public class JT extends JFrame	{		private JTextFIEld t1,t2,t3;		private jpasswordfield k1;		public JT(JPanel p){			p.setLayout(new FlowLayout());			p.setBackground(color.YELLOW);			t1 = new JTextFIEld(10);					// 创建文本框对象,宽度为10			t2 = new JTextFIEld("请输入文本");			// 创建带有初始文本的文本框对象			t2.setFont(new Font("serif",12));			t3 = new JTextFIEld("不可编辑的文本框",20);	// 创建带有初始文本的文本框对象,宽度为12			t3.setFont(new Font("serif",12));			t3.setEditable(false);						// 设置该文本框为不可编辑状态			k1 = new jpasswordfield("口令",10);		// 创建密码框			p.add(t1);			p.add(t2);			p.add(t3);			p.add(k1);		}	}	public class JTA extends JFrame	{		private JTextArea ta1,ta2,ta3,ta4;		public JTA(JPanel p){			p.setLayout(new GrIDLayout(4,1,5,5));			ta1 = new JTextArea();		// 利用不同的构造方法创建文本区对象			ta2 = new JTextArea(2,8);			ta3 = new JTextArea("3");			ta4 = new JTextArea("4",10);			ta1.setFont(new Font("serif",12));			ta2.setFont(new Font("serif",12));			ta3.setFont(new Font("serif",12));			ta4.setFont(new Font("serif",12));			ta1.setText("JTextArea1");			// setText()方法会将原来的内容清除			ta2.append("JTextArea2");			// 将设置的字符串接在原来文本区文字之后			ta4.setTabSize(10);					// 设置字体大小			ta4.setlineWrap(true);				// 设置自动换行			p.add(new JscrollPane(ta1));			p.add(new JscrollPane(ta2));			p.add(new JscrollPane(ta3));			p.add(new JscrollPane(ta4));		}	}	public class JR extends JFrame	{		private JPanel p1,p2;		private JRadiobutton red,green,blue;		private buttonGroup buttonGroup;		public JR(JPanel p){			Container c = getContentPane();			p.add(c);			p1 = new JPanel();		// 创建一个用来显示颜色的面板对角			p1.setBackground(color.RED);			c.add(p1,borderLayout.CENTER);			buttonGroup = new buttonGroup();	// 创建单选按钮选项			red = new JRadiobutton("红色",true);	// 创建单选按钮选项			green = new JRadiobutton("绿色");			blue = new JRadiobutton("蓝色");			red.setFont(new Font("serif",14));	// 设置字体			green.setFont(new Font("serif",14));				blue.setFont(new Font("serif",14));				buttonGroup.add(red);			buttonGroup.add(green);			buttonGroup.add(blue);			rHandler h = new rHandler();		// 创建监听器			red.addItemListener(h);			blue.addItemListener(h);			green.addItemListener(h);			p2 = new JPanel();			p2.add(red);			p2.add(green);			p2.add(blue);			c.add(p2,borderLayout.soUTH);		}		private class rHandler implements ItemListener{		// 类中类,类的嵌套			public voID itemStateChanged(ItemEvent event){				if(red.isSelected()){					p1.setBackground(color.red);				}				else if(blue.isSelected()){					p1.setBackground(color.blue);				}				else{					p1.setBackground(color.green);				}			}		}	}	public class Jcb extends JFrame	{		private JLabel label;		private JCheckBox b,i;		public Jcb(JPanel f){			Container c = getContentPane();			c.setLayout(new FlowLayout());			c.setBackground(color.YELLOW);			f.add(c);			label = new JLabel("请注意观察宋体文字的变化");			label.setFont(new Font("serif",20));			c.add(label);			b = new JCheckBox("粗体");		// 创建复选框			i = new JCheckBox("斜体");			b.setFont(new Font("serif",16));			i.setFont(new Font("serif",16));			b.setBackground(color.YELLOW);			i.setBackground(color.YELLOW);			CBHandler h = new CBHandler();		// 创建监听器			b.addItemListener(h);				// 注册监听器			i.addItemListener(h);			c.add(b);			c.add(i);		}		private class CBHandler implements ItemListener		{			private int vb = Font.PLAIN;			private int vi = Font.PLAIN;						public voID itemStateChanged(ItemEvent e){				if(e.getSource() == b) vb = b.isSelected() ? Font.BolD: Font.PLAIN;				if(e.getSource() == i) vi = i.isSelected() ? Font.ITAliC: Font.PLAIN;				label.setFont(new Font("serif",vb + vi,20));			}		}	}	public class Jlb extends JFrame{		private JComboBox lbk;		private JLabel label;		private String names[] = {"华南理工大学","清华大学","复旦大学"};		public Jlb(JPanel f){			Container c = getContentPane();			c.setBackground(color.YELLOW);			f.add(c);			lbk = new JComboBox(names);		// 创建下拉列表对象			lbk.setMaximumRowCount(4);		// 设置下拉列表所能显示的列表项的最大数目			lbk.setSelectedindex(0);		// 设置默认的选择项			lbk.setFont(new Font("serif",14));	// 设置字体			lbk.addItemListener(new lbHandler());			// 注册监听器			label = new JLabel("你选择了:华南理工大学");			label.setFont(new Font("serif",14));			c.add(lbk,borderLayout.norTH);			c.add(label,borderLayout.CENTER);		}		private class lbHandler implements ItemListener		{			public voID itemStateChanged(ItemEvent e){				if(e.getStateChange() == e.SELECTED){					label.setText("你选择了:" + names[lbk.getSelectedindex()]);				}			}		}	}}
总结

以上是内存溢出为你收集整理的附加题_创建窗口组件添加全部内容,希望文章能够帮你解决附加题_创建窗口组件添加所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存