import javax.swing.*;
public class JFrameDemo extends JFrame {
public JFrameDemo(boolean b) {
this.setTitle("自定义窗体");
this.setBounds(80,80,300,200);
this.setResizable(b);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
JFrame frame = new JFrameDemo(false);
}
}
【例8.4】创建JTextArea文本域组件,并将其放入滚动面板JScrollPane中,最后将滚动面板加入窗体容器中。import javax.swing.*;
public class JScrollPaneDemo {
public static void main(String[] args) {
JFrame jf = new JFrame("JScrollPane应用实例");
JTextArea ta = new JTextArea("带滚动条的面板演示实例!!!");
JScrollPane sp = new JScrollPane(ta);
jf.add(sp);
jf.setSize(300,200);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
【例8.5】创建水平方向分隔面板outerPane和垂直方向分隔面板interPane,并将inter-Pane设置为outerPane面板的右边部分,同时设置分隔条的初始位置和大小。import javax.swing.*;
public class JSplitPaneDemo extends JFrame{
private JSplitPane outerPane,interPane;
public JSplitPaneDemo(){
outerPane =new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);
outerPane.setOneTouchExpandable(true);
interPane =new JSplitPane(JSplitPane.VERTICAL_SPLIT);
interPane.setOneTouchExpandable(true);
interPane.setLeftComponent(new JLabel("右上窗格"));
interPane.setRightComponent(new JLabel("右下窗格"));
outerPane.setLeftComponent(new JLabel("左边窗格"));
outerPane.setRightComponent(interPane);
outerPane.setDividerLocation(60);
interPane.setDividerLocation(70);
outerPane.setDividerSize(10);
interPane.setDividerSize(10);
this.add(outerPane);
this.setTitle("分隔面板应用");
this.setSize(300,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args)
{
new JSplitPaneDemo();
}
}
【例8.6】使用FlowLayout布局管理器布局JFrame组件中的5个按钮。import java.awt.*;
import javax.swing.*;
public class FlowLayoutDemo extends JFrame{
public static void main(String[] args) {
JFrame frame = new JFrame("流布局管理器");
FlowLayout flowLayout = new FlowLayout(FlowLayout.RIGHT);
flowLayout.setHgap(10);
flowLayout.setVgap(20);
frame.setLayout(flowLayout);
for(int i = 1;i<= 5;i++) {
frame.add(new JButton("Button" + i));
frame.setSize(400,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
}
【例8.7】按照BorderLayout布局管理器在JFrame窗体中放置5个按钮。import java.awt.*;
import javax.swing.*;
public class BorderLayoutDemo extends JFrame {
public BorderLayoutDemo() {
super("BorderLayout布局管理器");
BorderLayout layout = new BorderLayout(5,5);
this.setLayout(layout);
JButton buttonEast = new JButton("东");
JButton buttonWest = new JButton("西");
JButton buttonSouth = new JButton("南");
JButton buttonNorth = new JButton("北");
JButton buttonCenter = new JButton("中");
this.add(buttonNorth , BorderLayout.NORTH);
this.add(buttonSouth , BorderLayout.SOUTH);
this.add(buttonEast , BorderLayout.EAST);
this.add(buttonWest , BorderLayout.WEST);
this.add(buttonCenter , BorderLayout.CENTER);
this.setSize(300 , 200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
BorderLayoutDemo application = new BorderLayoutDemo();
}
}
【例8.8】按GridLayout布局管理器部署JFrame窗体中6个按钮。import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo extends JFrame {
private final String names[] = {"one" , "two" , "three" ,
"four" , "five" , "six"};
public GridLayoutDemo() {
super("GridLayout布局管理器");
GridLayout grid1 = new GridLayout(2,2,5,5);
this.setLayout(grid1);
JButton buttons[] = new JButton[names.length];
for(int count = 0;count< names.length;count++) {
buttons[count] = new JButton(names[count]);
this.add(buttons[count]);
}
this.setSize(300,150);
this.setVisible(true);
}
public static void main(String args[]) {
GridLayoutDemo application = new GridLayoutDemo();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
【例8.9】在JFrame中创建cardPanel和controlPanel两个JPanel容器,并使用默认布局管理器将它们分别部署到“Center”和“South”区域。cardPanel容器的布局管理器设置为CardLayout,部署4个按钮组件;controlPanel容器的布局管理器采用默认,部署两个按钮组件。import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class CardLayoutDemo extends JFrame {
private CardLayout cardLayout;
private JPanel cardPanel;
public CardLayoutDemo() {
super("CardLayout布局管理器");
cardPanel = new JPanel();
cardLayout = new CardLayout(10,10);
cardPanel.setLayout(cardLayout);
for(int i = 1;i<= 4;i++) {
cardPanel.add("button" + i , new JButton("button" + i));
}
this.add(cardPanel , BorderLayout.CENTER);
JButton nextButton = new JButton("Next");
JButton prevButton = new JButton("Previous");
nextButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cardLayout.previous(cardPanel);
}
});
prevButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cardLayout.previous(cardPanel);
}
});
JPanel controlPanel = new JPanel();
controlPanel.add(prevButton);
controlPanel.add(nextButton);
this.add(controlPanel , BorderLayout.SOUTH);
}
public static void main(String[] args) {
CardLayoutDemo cardDemo = new CardLayoutDemo();
cardDemo.setSize(300,200);
cardDemo.setVisible(true);
cardDemo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
【例8.12】本例以窗口JFrame作为事件源演示WindowEvent事件处理。import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class WindowEventDemo extends JFrame implements WindowConstants{
public WindowEventDemo(){
super("WindowEvent处理应用");
this.setSize(300,200);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
}
public void windowActivated(WindowEvent e){
System.out.println("This window is activated.");
}
public void windowClosed(WindowEvent e){
System.out.println("This window has closed.");
System.exit(0);
}
public void windowClosing(WindowEvent e) {
System.out.println("This window is closing now.");
this.dispose();
}
public void windowDeactivated(WindowEvent e){
System.out.println("This window is deactivated");
}
public void windowDeiconified(WindowEvent e){
System.out.println("This window is deiconified");
}
public void windowIconified(WindowEvent e){
System.out.println("This window is iconified");
}
public void windowOpened(WindowEvent e){
System.out.println("This window is opened");
}
public static void main(String[] args){
new WindowEventDemo();
}
}
【例8.13】以JTextArea组件作为产生KeyEvent事件的事件源的键盘事件处理程序。import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KeyEventDemo extends JFrame implements KeyListener {
private JTextField tf;
public KeyEventDemo(){
super("KeyEvent处理应用");
tf=new JTextField(15);
tf.addKeyListener(this);
JPanel panel=new JPanel();
panel.add(new JLabel("输入框"));
panel.add(tf);
this.add(panel,BorderLayout.CENTER);
this.setSize(300,80);
this.setVisible(true);
}
public void keyPressed(KeyEvent e){}
public void keyRelesased(KeyEvent e){}
public void keyTyped(KeyEvent e){
System.out.println(e.getKeyChar());
}
public static void main(String[] args){
new KeyEventDemo();
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
创新互联建站主营城阳网站建设的网络公司,主营网站建设方案,重庆APP软件开发,城阳h5微信小程序搭建,城阳网站营销推广欢迎城阳等地区企业咨询