Java-第15章圖形用戶界面設計例題


Example15_1.java JFrame常用方法

import javax.swing.*;
import static javax.swing.JFrame.*;
public class Example15_1 {
    public static void main(String args[]) {
        JFrame window1=new JFrame("撤銷窗口");
        JFrame window2=new JFrame("退出程序");
        window1.setBounds(60,100,188,108);
        window2.setBounds(260,100,188,108);
        window1.setVisible(true);
        window1.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        window2.setVisible(true);
        window2.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        
    }
}

Example 15_2.java菜單條、菜單、菜單項

public class Example15_2 {
    public static void main(String args[]) {
        WindowMenu win=new WindowMenu("帶菜單的窗口",20,30,200,190);
        
    }

}
import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
public class WindowMenu extends JFrame{
    JMenuBar menubar ;
    JMenu menu,subMenu;
    JMenuItem item1,item2;
    public WindowMenu() {}
    public WindowMenu(String s,int x,int y,int w,int h) {
        init(s);
        setLocation(x,y);
        setSize(w,h);
        setVisible (true);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        }
void init(String s) {
    setTitle(s);
    menubar =new JMenuBar();
    menu=new JMenu("菜單");
    subMenu=new JMenu("軟件項目");
    item1=new JMenuItem("JAVA話題",new ImageIcon("D:\\java\\eclipse\\5.24作業\\src\\a.gif"));//圖片所在位置
    item2=new JMenuItem("動畫話題",new ImageIcon("D:\\java\\eclipse\\5.24作業\\src\\b.gif"));//圖片所在位置
item1.setAccelerator(KeyStroke.getKeyStroke('A')); 
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(subMenu);
subMenu.add(
new JMenuItem("汽車銷售系統",new ImageIcon("D:\\java\\eclipse\\5.24作業\\src\\c.gif")));
subMenu.add(
new JMenuItem("農場信息系統",new ImageIcon("D:\\java\\eclipse\\5.24作業\\src\\d.gif")));
menubar.add(menu);
setJMenuBar(menubar);
}
}

Example15_3 常用組件

public class Example15_3 {
public static void main (String args[]) {
    ComponentInWindow win =new ComponentInWindow();
    win.setBounds(100,100,310,260);
    win.setTitle("常用組件");
    
}
}
import java.awt.*;
import javax.swing.*;
import static javax.swing.JFrame.*;
public class ComponentInWindow extends JFrame{
    JTextField text;
    JButton button;
    JCheckBox checkBox1,checkBox2,checkBox3 ;
    JRadioButton radio1,radio2;
    ButtonGroup group;
    JComboBox comBox;
    JTextArea area ;
    public ComponentInWindow() {
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
void init() {
    setLayout(new FlowLayout());
    add(new JLabel("文本框"));
    text=new JTextField(10);
    add(text);
    add(new JLabel("按鈕:"));
    button =new JButton("確定");
    add(button);
    add(new JLabel("選擇框:")) ;
    checkBox1=new JCheckBox("喜歡音樂");
    checkBox2=new JCheckBox("喜歡旅游");
    checkBox3=new JCheckBox("喜歡籃球");
    add(checkBox1);
    add(checkBox2);
    add(checkBox3);
    add(new JLabel("單選按鈕:"));
    group=new ButtonGroup();
    radio1=new JRadioButton("男");
    radio2=new JRadioButton("女");
    group.add(radio1);
    group.add(radio2);
    add(radio1);
    add(radio2);
    add(new JLabel("下拉列表:"));
    comBox=new JComboBox();
    comBox.addItem("音樂天地");
    comBox.addItem("武術天地");
    comBox.addItem("象棋樂園");
    add(comBox);
    add(new JLabel("文本區:"));
    area=new JTextArea(6,12);
    add(new JScrollPane(area));
    
    
}
}

Example15_4常用布局

public class Example15_4{
    public static void main(String args[])
    {
        WindowBoxLayout win=new WindowBoxLayout () ;
        win. setBounds (100, 100, 310,260);
        win. setTitle("嵌套盒式布局容器");
    }
}
import javax.swing.*;
public class WindowBoxLayout extends JFrame{
Box baseBox,boxV1,boxV2;
public WindowBoxLayout() {
    setLayout (new java.awt. FlowLayout()) ;
init() ;
setVisible (true) ;
setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE) ;
}
void init () {
boxV1=Box.createVerticalBox() ;
boxV1. add (new JLabel ("姓名")) ;
boxV1.add (Box.createVerticalStrut(8)) ;
boxV1.add (new JLabel ("email")) ;
boxV1. add (Box.createVerticalStrut(8)) ;
boxV1.add (new JLabel ("職業")) ;
boxV2=Box. createVerticalBox() ;
boxV2. add (new JTextField(10) ) ;
boxV2.add (Box.createVerticalStrut(8)) ;
boxV2.add(new JTextField(10)) ;
boxV2. add (Box. createVerticalStrut(8));
boxV2. add (new JTextField(10));
baseBox=Box.createHorizontalBox() ;
baseBox.add (boxV1) ;
baseBox.add (Box.createVerticalStrut(10));
baseBox.add(boxV2) ;
add (baseBox) ;

}
}

Example15_6 ActionEvent事件

public class Example15_6 {
public static void main(String args[]) {

WindowActionEvent win=new WindowActionEvent();
win.setBounds(100, 100, 460,360); 
win. setTitle ("處理ActionEvent事件");
}
}
import java.awt. *;

import javax.swing.*;

public class WindowActionEvent extends JFrame{

JTextField inputText;

JTextArea textShow;

JButton button;

PoliceListen listener;

public WindowActionEvent() {

init() ;

setVisible(true) ;

setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}

void init() {

setLayout (new FlowLayout()) ;

inputText = new JTextField(10);

button = new JButton("讀取");

textShow = new JTextArea(9, 30) ;

listener= new PoliceListen();

listener.setJTextField(inputText);

listener.setJTextArea (textShow) ;

inputText.addActionListener (listener); 

add (inputText) ;

add (button) ;

add (new JScrollPane (textShow)) ;
}
}
import java.awt.event.*;
import java.io.*;
import javax. swing.*;

public class PoliceListen implements ActionListener{
JTextField textInput;
JTextArea textShow;
public void setJTextField (JTextField text) {
    textInput = text;
}
public void setJTextArea (JTextArea area) {
    textShow = area;
}
public void actionPerformed (ActionEvent e) {
textShow.setText (null);
try { File file = new File (textInput.getText());
FileReader inOne = new FileReader (file) ;
BufferedReader inTwo = new BufferedReader (inOne) ;String s=null;
while((s=inTwo. readLine()) !=null)
textShow.append(s+"n") ;
inOne.close();
inTwo.close();
}
catch (Exception ee) {
textShow. append (ee.toString());
}
}
}

注意:如果出現無法解析的情況,可將錯誤代碼重新鍵盤輸入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM