java swing最简单实例(2) 往JFrame里面放一个容器或组件

可以往JFrame里面放的东西有两种,Containers和Components.在jigloo的图形化界面上可以清楚的看到这些

常用的Containers(容器)有这些:

JFrame带标题和关闭按钮的界面

JPanel面板

JScrollPane带滚动条的面板

JSplitPane带分栏的面板

JTabbedPane标签页结构的面板

JDialog对话框

常用的Components(组件)有这些

JButton按钮

JLabel标签(用于显示固定不变的文字

JTextField文本框(用于让用户写入文字)

JRadioButton单选框

JCkeckBox选择框

JComboBox下拉框

JTable表格

添加一个普通的容器或者组件的方法是相同的,都是两个步骤,创建出来,然后加进去。我们在实例(1)的基础上进行这两个操作,给一个空的JFrame加上一个组件

package basicCompoment;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

public class AddComponent extends JFrame{
	public AddComponent(){
		initGUI();
	}
	private void initGUI(){
		setVisible(true);
		setSize(300,400);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

		//创建元件
		JButton jButton1 = new JButton("jButton1");
		//添加元件
		add(jButton1);
	}
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				AddComponent f = new AddComponent();
			}
		});
	}
}

这里没有进行布局,只是将组件加进去,所以会显示覆盖整个Frame的一个按钮。

一般来说,可以将对象设为私有成员,在需要定义时创建,在需要加入时加入,可以更方便的在不同函数中对元件进行操作。特别需要注意的是所有的对象必须先初始化才能加入,并且每个对象只能放置在一个地方。即使是两个表现形式完全相同的对象,也必须new两个出来,试图将一个按钮放在两个地方这样的事情是行不通的。

将组件设为私有成员的方式

package basicCompoment;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;

public class AddComponent2 extends JFrame{
	//定义变量
	private JButton jButton1;
	public AddComponent2(){
		initGUI();
		addComp();
	}
	private void addComp(){
		//初始化
		jButton1 = new JButton("jButton1");
		//添加元件
		add(jButton1);
	}
	private void initGUI(){
		setVisible(true);
		setSize(300,400);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	}
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				AddComponent2 f = new AddComponent2();
			}
		});
	}
}
时间: 2024-12-13 23:51:53

java swing最简单实例(2) 往JFrame里面放一个容器或组件的相关文章

java swing最简单实例(1) 一个空的JFrame

我准备写一个系列的java图形化界面的教程.每个程序都尽量只写维持运行所需的最简化程度的代码,好让大家都看懂. 使用java图形界面只需要jdk,eclipse即可.如果布局抽象能力不够强大,建议装jigloo先用它布局然后再抄代码.(jigloo自动生成的代码冗余量太大,放的位置也不合理,只是为了看效果,之后还是需要ctrl+C,ctrl+V的) 要想放置一切东西,我们需要先有一个JFrame.所以就先讲一讲怎样创建一个空的JFrame. 下面是一个最简单的例子,首先我们需要extends J

java网页爬虫简单实例详解——获取天气预报。

[本文介绍] 爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好.这里只是举个例子.话不多说了,上看看效果吧. [效果] 我们随便找个天气预报的网站来试试:http://www.weather.com.cn/html/weather/101280101.shtml 从图中可用看出,今天(6日)的天气.我们就以这个为例,获取今天的天气吧! 最终后台打印出: 今天:6日

Java UDP的简单实例以及知识点简述

UDP的实现 Java中实现UDP协议的两个类,分别是DatagramPacket数据包类以及DatagramSocket套接字类. 其与TCP协议实现不同的是: UDP的套接字DatagramSocket相比于Socket.ServerSocket来说,是一个非常简单的概念,没有连接的含义.套接字只需要知道侦听和发送数据包的本地端口即可. 也就是在TCP协议中庸Socket类和ServerSocket类进行功能划分,UDP协议中只用一个数据包套接字DatagramSocket发送和接受数据即可

Java WebService 开发简单实例

Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务. 实际上,WebService的主要目标是跨平台的可互操作性.为了达到这一目标,WebService完全基于XML(可扩展标记语言). XSD(XMLSchema)等独立于平台.独立于软件供应商的标准,是创建可互操作的.分布式应用程序

java组合排序简单实例

输入m个A和n个B,输出A,B的组合数: import java.util.Scanner; public class Main1 { public static void main(String[] args) { // TODO Auto-generated method stubScanner input=new Scanner(System.in);int m=input.nextInt();int n=input.nextInt();System.out.println(f(m,n))

PHP调用JAVA的WebService简单实例

使用PHP调用JAVA语言开发的WebService.客户端提交两个String类型的参数,服务端返回一个对象类型.服务端使用AXIS-1.4作为SOAP引擎.客户端为PHP5.2.9,使用NuSOAP作为SOAP引擎. 服务端: 对象类 import java.io.Serializable; public class Person implements Serializable { /** * */ private static final long serialVersionUID = -

java Socket通信简单实例

import java.io.*; import java.net.*; public class ClientTest { public static void main(String[] args) throws Exception { Socket s = new Socket("localhost", 8888); DataOutputStream dos = new DataOutputStream(s.getOutputStream()); dos.writeUTF(&qu

Java解压缩文件简单实例

package com.cwqi.demo; /**  *@author Cwqi  *2015-8-26上午9:59:12  */ import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExcepti

java反射机制-简单实例

public class Car { private String brand; private String color; private int maxSpeed; public Car() { } public Car(String brand, String color, int maxSpeed) { this.brand = brand; this.color = color; this.maxSpeed = maxSpeed; } public String getBrand()