Java程序设计教程 冶金工业出版社第5章
第5章 用户界面设计
//例程5-1:WindowDemo.java import java.awt.*; import java.awt.event.*; public class WindowDemo {
public static void main(String[] args) {
AppFrame f = new AppFrame(); f.setSize(150, 150); //设置窗口的大小 f.addWindowListener(new WindowAdapter () {
public void windowClosing(WindowEvent e) {System.exit(0);} }); f.show();
}
}
class LabelWindow extends Window {
Label label;
LabelWindow(AppFrame af) { }
public void paint(Graphics g) { }
int width = getSize().width; int height = getSize().height; g.drawRect(0, 0, width, height);
//为窗口绘制边框
super(af);
setLayout(new FlowLayout());
label = new Label(\add(label);
//添加组件
}
class AppFrame extends Frame implements ActionListener {
Button bShow, bHide; LabelWindow window; AppFrame() {
setLayout(new FlowLayout());
bShow = new Button(\add(bShow);
bShow.addActionListener(this);
bHide = new Button(\add(bHide);
bHide.addActionListener(this); window = new LabelWindow(this); window.setSize(300,200); window.setLocation(300,300);
}
public void actionPerformed(ActionEvent e) {
//根据事件源决定具体的事件处理 if (e.getSource() == bShow) { }
if (e.getSource() == bHide) { }
window.setVisible(false); window.setVisible(true);
}
}
//例程5-2:SplitDemo.java import javax.swing.*; import java.awt.event.*; public class SplitDemo {
public static void main(String[] args) {
JFrame frame = new JFrame(\frame.setSize(300,150);
//建立两个文本字段,并以其为基础建立一个分割面板 JTextField text1 = new JTextField(\JTextField text2 = new JTextField(\
JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, text1, text2); frame.getContentPane().add(split);
frame.addWindowListener(new WindowAdapter() { });
frame.setVisible(true);
public void windowClosing (WindowEvent e) { }
System.exit(0);
}
}
//例程5-3:TabbedPaneDemo.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TabbedPaneDemo {
public static void main(String[] args) {
JFrame frame = new JFrame(\JTabbedPane tabbedPane = new JTabbedPane(); Dimension dim = new Dimension(200,100); frame.setSize(dim);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.add(new JLabel(\panel2.add(new JLabel(\
//为标签面板添加两组标签,并设置标签的显示位置 tabbedPane.addTab(\tabbedPane.addTab(\tabbedPane.setTabPlacement(JTabbedPane.BOTTOM); frame.getContentPane().add(tabbedPane);
frame.addWindowListener(new WindowAdapter() { });
frame.setVisible(true);
public void windowClosing (WindowEvent e) { }
System.exit(0);
}
}
//例程5-4:FlowLayoutDemo.java import java.awt.*; import java.awt.event.*; public class FlowLayoutDemo {
public static void main(String[] args) {
Frame frame = new Frame(\
frame.setLayout(new FlowLayout()); //为容器设置相应的布局管理器 frame.add(new Button(\ frame.add(new Button(\
frame.add(new Button(\
frame.addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent e) {
System.exit(0); } }); frame.pack(); frame.setVisible(true); } }
//例程5-5:gradLayout.java
//自动调整窗口到合适大小
import java.awt.*;
import java.awt.event.*; public class gradLayout{ public static void main(String[] args) { Frame frame = new Frame(); frame.setTitle(\
}
}
frame.setLayout(new GridLayout(2,1)); //设置相应的网格布局管理器 frame.add(new Button(\frame.add(new Button(\frame.add(new Button(\
frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });
frame.pack();
frame.setVisible(true);
//例程5-6:gradbagLayout.java import java.awt.*; import java.awt.event.*; public class gradbagLayout{
public static void main(String[] args) { // 数
frame.add(button); constraints.gridx = 1; constraints.weightx = 0.3;
button = new Button(\gridbag.setConstraints(button,constraints);
//为Button 2设置限制参数
Frame frame = new Frame();
frame.setTitle(\GridBagLayout gridbag = new GridBagLayout();
//新建网格包实例
GridBagConstraints constraints = new GridBagConstraints(); //新建网格包限制实例 frame.setLayout(gridbag); Button button;
constraints.fill = GridBagConstraints.BOTH; //1st row constraints.gridx = 0; constraints.gridy = 0; constraints.weightx = 0.5; button = new Button(\
根据之前设定的约束,在布局管理器中安排组件
//为Button 1设置限制参
gridbag.setConstraints(button,constraints);
frame.add(button); constraints.gridx = 2; constraints.weightx = 0.2; button = new Button(\gridbag.setConstraints(button,constraints); frame.add(button);
constraints.gridx = 0; //2nd row constraints.gridy = 1; constraints.gridwidth = 2; constraints.gridheight = 3;
button = new Button(\gridbag.setConstraints(button,constraints); frame.add(button); constraints.gridx = 2; constraints.gridy = 1; constraints.gridwidth = 1; constraints.gridheight = 1; button = new Button(\gridbag.setConstraints(button, constraints); frame.add(button); constraints.gridx = 2; constraints.gridy = 3; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.ipadx = 20; c …… 此处隐藏:3293字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




