`
holoblog
  • 浏览: 1264295 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19541
文章分类
社区版块
存档分类
最新评论

java手记---swing类和awt类

 
阅读更多
Graphics a;
a.drawOval(size.width/4,size.height/4,size.width/2,size.height/2);////////此时椭圆在中心。
a.drawString("Hello world gj",20,200);///////////////////////////////////20是最左的象素坐标,200是基线

Cbox()
{
setLayout(new FlowLayout());
Checkbox cb = new Checkbox("he");//////复选框有2个构造器Checkbox(String s)&Checkbox(String s,boolean state).
add(cb);///////////////////////////////////if there isn't this statement, the Checkbox won't appear.
setSize(200,200);
}
CheckboxGroup cbg = new CheckboxGroup();
Checkbox(String s,boolean state,CheckboxGroup cbg)&Checkbox(String s,CheckboxGroup cbg,boolean state);/////这样可以建单选框。
////////////////////////Checkbox(String s)用来建复选框与单选框。
////////////////////////Choice()用来建下拉式单选。
////////////////////////Frame(String s)用来建窗口。
////////////////////////Button(String s)用来建按钮。
////////////////////////Label(String s)用来建标签。
setLayout(new FlowLayout());
Choice c = new Choice();
for(int i = 0;i < fontFamily.length;i++)
c.add(fontFamily[i]);
add(c);
c = new Choice();/////////////////////////这样相当于新建一个下拉单选框。
for(int i = 0;i < size.length;i++)
c.add(size[i]+"");
add(c);
setSize(200,200);

public class TestFrame extends Frame {
public void doDemo(){
Button b = new Button("Press Me!");
b.addActionListener(new ButtonHandler());/////////在这里添加实现
add(b,BorderLayout.CENTER);
pack();//////////如果没有这句,最初按钮是看不到的。最大化后才会看到。
setVisible(true);
}
public static void main(String args[]) {
TestFrame f = new TestFrame();
f.doDemo();
}
////////以下是一个内部类
public class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
setTitle("Button's label is :" + e.getActionCommand());////这里getActionCommand()函数返回的是控件的名称。
}
}
}
如果main中加上这个函数
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});//////////就可以实现窗口关闭功能。
public class MouseMoveHandler implements MouseListener {
private Color source = null;
public void mouseEntered(MouseEvent e) {
source = e.getComponent().getBackground();
e.getComponent().setBackground(Color.PINK);
}
public void mouseExited(MouseEvent e) {
e.getComponent().setBackground(source);
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
}
awt提供的控件:
Button
Label
Checkbox
CheckboxGroup
Choice
TextField
TextArea
List
Font
Image
Canvas
Graphics2D
Dialog
ScrollPanel
Menu
Toolkit
InputMethod
textTabbedPane = new JTabbedPane(JTabbedPane.BOTTOM);/////将标签放在下部。
privateScrollPane = new JScrollPane();
privateTextPane = new JTextPane();
privateTextPane.setEditable(true);///////这是把JTextPane设置为可以编辑的。(是否能让用户编辑)
// privateTextPane.setName("");//////////这句似乎没什么用。
privateScrollPane.setViewportView(privateTextPane);///JScrollPane可以显示JTextPane上的内容。
textTabbedPane.addTab("private",privateScrollPane);//这句才是把最重要的。把JScrollPane放在JTabbedPane上。
add(textTabbedPane)///把JTabbedPane放在JFrame上。

////////////////////////////在编写菜单的时候不需写setLayout(new FlowLayout());
////////////////////////////如果在编写按钮的时候不写上面的代码,那么按钮就会变的很大。上一行代码是布局管理器。
////////////////////////////应该始终有一个File菜单,它应该始终在菜单栏的最左边。菜单项New,Open...和Close(如果有的话)
////////////////////////////应该按上面的次序出现。New应该是第一项,Exit应该是最后一项。
////////////////////////////如果有Edit项的话,应该为第二项,它应该有copy,paste,cut等功能。
////////////////////////////如果有help项的话,应该是最后一项。
////////////////////////////如果不把菜单加到菜单栏上,那么菜单栏就不会出现。
TextArea ta = new TextArea(10,20);/////////////////////用于创建文本框。第一个参数为高度,第二个为长度。
Scrollbar sb = new Scrollbar(Scrollbar.HORIZONTAL);////////////用于建一个水平方向的控制条。
///////////////////////////有两种布局管理器:流程布局管理器和边框布局管理器。
setLayout(new FlowLayout(FlowLayout.LEFT));////////////////这便是流程管理器
///////////////////////////边框管理器是add();使用边框管理器的容器只能有五个构件。
///////////////////////////add(sb,"North");//////这就是边框管理器。之前不再用setLayout(new FlowLayout());
add(p,"South");//////////////“South”一定要大写。
//////////////////////////调用了边框管理器后,构件的大小就不再受传入参数的制约。如果不指明就将占据剩余的整个空间。
Panel p = new Panel();//////////创建新面板。
p.add(new Button("HI"));
p.add(new TextField("ldldl",10));//////////可以将几个构件锁在一起。
/////////////////////////流程管理器可以兑现构件的优先大小。而边框管理器不行。此外还有3个管理器:
/////////////////////////CardLayout(),仅允许在任何时候只有一个构件是可见的。
GridLayout(),GridBagLayout().
////////////////////////MenuBar mb = new MenuBar();
////////////////////////setMenuBar(mb);///////////此句用于设置菜单栏。
//////new JMenu("String").add(new JMenuItem("String"));////////菜单添加菜单项
///////new JMenuBar().add(new JMenu("String"))///////////菜单栏添加菜单
//// /// new JFrame("String").setJMenuBar(new JMenuBar());/////菜单栏放置在窗体上。

////////////////////////当一个构件和一个paint()方法都负责屏幕的同一部分时,总是构件获胜。
////////////////////////(1)创建构件。
////////////////////////(2)创建实现*Listener接口的收听者。
////////////////////////(3)构造该收听者的一个实例。
////////////////////////调用该构件add*Listener()方法,同时传入刚建成的收听者类的实例。
////////////////////////public SelfListener()
{
setLayout(new FlowLayout());
for(int i = 0;i < btn.length;i++)
{btn[i] = new Button(s[i]);
btn[i].addActionListener(this);
add(btn[i]);
}
tf = new TextField(25);
add(tf);
setSize(200,300);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == btn[0])
nCon -= 1;
else if(e.getSource() == btn[1])
nCon -= 2;
else
nCon -= 3;
tf.setText(nCon + " Left.");
if(nCon < 3)
btn[2].setEnabled(false);
if(nCon < 2)
btn[1].setEnabled(false);
if(nCon == 0)
{
Label ab = new Label("win!");//////////在这里会出现混乱。//////win!迟迟不出现。只有变化窗口的时候才会
add(ab,"South");///////////////////////出现。
btn[0].setEnabled(false);
}
}
////////////////////使用repaint()方法可以刷屏并调用paint()。
////////////////////当画的图形位置不对时,有可能在屏幕上显示不出来。

////////////////////tf.setText("Font Color is "+ c.getItem(c.getSelectedIndex())+/////////此处用于返回Choice所选项。
". Font Size is " + cb[i].getLabel() );//////////////////此处用于返回checkbox所选项。
当程序启动时paint()调用。当图文框被完全覆盖时,paint()被调用,当图文框放大时,paint()被调用。被最小化再还原时调用。
//////////////////其余时间都不会调用paint()。
////////////////////btn[i].addActionListener(this);
btn[i].addActionListener(this);//////////此时进行两次调用。点一次鼠标有两次动作。
///////////////////想让一个任意的类成为一个动作收听者,光实现一个actionperformed()的方法是不够的。因为单凭这一点不能
///////////////////认为它实现了ActionListener接口。
///////////////////当类中函数要用到其它函数中的变量时,特别是构件要声明成类的变量而不是函数中的变量。

/////////publicTextPane是放在publicScrollPane上的,而publicScrollPane是放在textTabbedPane上的。
/////////这样使用:
publicTextPane.setEditable(false);///这个面板是否可以操作。
//// publicTextPane.setName("");//////////////////?似乎没有什么用。
publicScrollPane.setViewportView(publicTextPane);//让面板显示
textTabbedPane.addTab("public",publicScrollPane);//在textTabbedPane上添加滚动条。
///////// frameClient.getContentPane().add(new JButton(),
BorderLayout.CENTER);/////////这句话用于JFrame添加控件。
分享到:
评论

相关推荐

    JAVA图形编程(AWT+SWING)

    通过`java图形编程1-AWT.chm`和`java图形编程2-Swing.chm`这两个文档,你可以深入学习AWT和Swing的使用方法,了解组件的创建、布局管理、事件处理、模型-视图-控制器模式,以及如何利用Swing的高级功能来构建复杂的...

    Java的GUI设计-AWT基础-窗口类-AWT基本组-bb--Read.ppt

    除了这些基本类,AWT还包括多个软件包,如java.awt.color、java.awt.datatransfer、java.awt.dnd等,它们分别支持颜色和颜色空间、数据传输(包括剪贴板操作)以及拖放功能。java.awt.event包提供了事件类和监听器,...

    AWT与Swing使用区别

    - **Swing**:Swing在AWT的基础上扩展了事件模型,增加了更多的事件类和监听器,如ActionEvent、MouseListener和KeyListener,使得事件处理更加灵活。 6. **组件的互换性** - **AWT与Swing共存**:虽然理论上AWT...

    batik-awt-util-1.6-1.jar

    官方版本,亲测可用

    Java图形界面开发-awt、swing、swt

    Java提供了多种库来支持图形界面开发,包括AWT(Abstract Window Toolkit)、Swing和SWT(Standard Widget Toolkit)。这些库各自有不同的特点和应用场景。 - **AWT**:这是Java最早提供的图形界面工具包,主要通过...

    java GUI资料 包括Swing awt

    Java GUI(图形用户界面)是Java编程中用于创建可视化应用程序的部分,主要由两大部分组成:Swing和AWT。这两个库提供了丰富的组件和工具,帮助开发者构建交互式的桌面应用。 **AWT(Abstract Window Toolkit)**是...

    Java-QQ-source-code.rar_Swing qq

    Java Swing 是Java GUI(图形用户界面)开发的一个关键库,它是Java AWT(Abstract Window Toolkit)的扩展,提供了更为丰富的组件和更简单的编程接口。在"Java-QQ-source-code.rar_Swing qq"这个项目中,我们可以...

    java计算器,swing和awt

    通过以上分析可以看出,这个Java计算器项目充分利用了Swing和AWT的强大功能,不仅实现了基本的算术运算,还提供了丰富的用户交互体验,如菜单栏、剪贴板操作等。这对于初学者来说是一个很好的学习案例,可以帮助理解...

    java 图形编程 awt-swing

    AWT(Abstract Window Toolkit)和Swing是Java提供的两个主要的GUI(图形用户界面)工具包,它们都属于Java Foundation Classes(JFC)的一部分。 **AWT(Abstract Window Toolkit)** AWT是Java早期的GUI库,它是...

    图形界面开发--AWT,Swing,SWT

    在介绍AWT、Swing、SWT之前,我们先来简单了解一下图形用户界面(GUI)的概念及其在Java开发中的重要性。随着计算机技术的发展,用户与计算机之间的交互方式也在不断进化。从最初的命令行界面(CLI)到如今广泛使用的...

    java-forum.zip_swing hibernate

    在Java编程领域,Swing和Hibernate是两个非常重要的技术组件,它们分别用于构建用户界面和持久化数据管理。Swing是Java的一个图形用户界面(GUI)工具包,提供了丰富的组件来创建桌面应用,而Hibernate是一个对象...

    java的AWT类---课件

    java:awt中的一些类及他们的用法和一些组件。

    Java-AWT

    AWT-Nobel可能是指一个特定的项目或示例,它可能涉及到使用AWT来创建一个诺贝尔奖主题的GUI应用。这可能包括展示历届获奖者信息的表格,或者是一个模拟诺贝尔奖投票的交互界面。 总之,Java AWT是Java GUI编程的...

    第十八章 图形界面开发--AWT,Swing,SWT.pdf

    Java在GUI开发方面提供了多种选择,包括AWT、Swing和SWT等。这些框架各有特点,适应不同的开发需求: - **AWT (Abstract Window Toolkit)**:这是Java早期提供的GUI开发工具包,主要依赖于底层操作系统提供的图形...

    java图形界面设计awt和swing,这是两个chm文件,体积虽小,但内容绝对不少,值得下载

    Java图形界面设计主要涉及到AWT(Abstract Window Toolkit)和Swing两个库,它们都是Java用于构建桌面应用程序用户界面的重要工具。这两个库都是Java Foundation Classes (JFC)的一部分,旨在提供跨平台的图形用户...

    java---swing自学例子(有50个例子)

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT(Abstract Window Toolkit)的扩展,提供了更为丰富的组件和更强大的功能。Swing 自学例子是学习 Swing 编程的好途径,特别是对于初学者来说...

    awt包java Android

    awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android awt包java Android ...

Global site tag (gtag.js) - Google Analytics