Example 1:
import
javax.swing.BorderFactory;
import
javax.swing.JFrame;
import
javax.swing.JPanel;
public
class
FeedReader
extends
JFrame{
public
FeedReader(){
super
(
"Edit FeedReader"
);
setSize(300,100);
setVisible(
true
);
}
public
static
void
main(String[]
args) {
//JFrame容器,顶层容器,含有一个内容框架来容纳所有组件
JFrame
jf
=
new
JFrame();
jf.setBounds(500,200,680,450);
jf.setTitle(
"JFrame窗口"
);
jf.setDefaultCloseOperation
(JFrame.
EXIT_ON_CLOSE
);
jf.setVisible(
true
);
//JPanel,用于添加各种控件
JPanel
jp
=
new
JPanel();
//添加组件时可使用add()方法,使用FlowLayout或者GridLayout,参数为组件对象名;
//使用BorderLayout时,参数为组件对象名和BorderLayout参数
jp.setBorder(BorderFactory.
createTitledBorder(
"边框"));
//BorderFactory类用来美化组件边框
//给组件添加有标题的边框createTitleBorder(Border b,String title, int posX,int posY);
}
}
Example 2 :
import
java.awt.event.ItemEvent;
import
java.awt.event.ItemListener;
import
javax.swing.JComboBox;
import
javax.swing.JFrame;
import
javax.swing.JPanel;
import
javax.swing.JTextField;
//JComboBox类可以响应ActionEvent类事件和ItemEvent类事件,使用ItemEvent类需实现ItemListenner监听器
//重写ItemListenner接口中的itemStateChanged()方法,即给出事件发生后程序的执行语句
//ItemEvent类使用addItemListenner(this)方法注册所需要调用itemStatechanged(ItemEvent e)方法的组件
public
class
Job
implements
ItemListener{
JTextField
tf
;
//每个职业都需要一个显示职业名称的文本框
JComboBox
cbb
;
//每个职业都包含在下拉列表框中
String[]
jobs
= {
"教师"
,
"学生"
,
"销售人员"
,
"会计"
,
"程序猿"
};
public
static
void
main(String[]
args
) {
JFrame
f
=
new
JFrame(
"选择职业"
); //顶层容器的命名
Job
app
=
new
Job();
JPanel
p
=
app
.init(); //调用init()方法
f
.getContentPane().add(
p
); //JFrame的对象,通过返回的frame内容框架对象的add方法,将组件对象添加到 //Frame中
f
.setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE
);//
f
.setSize(500, 400);
f
.setVisible(
true
);
}
public
JPanel init(){
JPanel
p
=
new
JPanel();
tf
=
new
JTextField(15);
JComboBox
cbb
=
new
JComboBox(
jobs
);
p
.add(
tf
);
p
.add(
cbb
);
cbb
.addItemListener(
this
);
return
p
;
}
public
void
itemStateChanged(ItemEvent
ie
){
String
s
= (String)
ie
.getItem();
tf
.setText(
"您的职业是"
+
s
);
}
}