importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.awt.event.KeyListener;importjavax.swing.JButton;importjavax.swing.JEditorPane;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassWindowTestextendsJFrameimplementsActionListener,KeyListener{privatestaticfinallongserialVersionUID=1L;/***主方法*/publicstaticvoidmain(String[]args){WindowTestwin=newWindowTest();}/***下面是具體實現(xiàn)*/JTextFieldtext;JButtonbutton;JEditorPanetextArea;publicWindowTest(){super("測試窗體");text=newJTextField(15);text.addKeyListener(this);JPanelp1=newJPanel();p1.add(newJLabel("輸入字符:"));p1.add(text);button=newJButton("清除");button.addActionListener(this);p1.add(button);p1.setBounds(5,5,220,100);textArea=newJEditorPane();textArea.setBounds(1,1,216,200);JPanelp2=newJPanel();p2.add(newJLabel("顯示字符:"));p2.add(textArea);p2.setBounds(5,115,340,220);JPanelp3=newJPanel();p3.add(p1);p3.add(p2);add(p3);setBounds(160,60,400,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@OverridepublicvoidkeyPressed(KeyEvente){}@OverridepublicvoidkeyReleased(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_ENTER){textArea.setText("");}else{Stringstr=text.getText();textArea.setText(str);}}@OverridepublicvoidkeyTyped(KeyEvente){}@OverridepublicvoidactionPerformed(ActionEvente){text.setText("");textArea.setText("");}}
成都做網(wǎng)站、網(wǎng)站設(shè)計的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)建站多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)建站,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務(wù)。
一、打開兩個窗口
在WPS中打開的文件都是以標簽的形式排列在窗口中
可以通過下面的方法,在兩個WPS窗口中打開兩份文檔。(WPS表格的操作方法與之一樣)
1、打開第一個文檔
可以用任意的方式,打開第一個WPS文檔;
2、打開第二個文檔
打開第二份文檔的時候就不要雙擊了,要從程序中打開。
單擊電腦左下角【開始】----【程序】----【W(wǎng)PSOffice】----【W(wǎng)PS 文字】;
3、這個打開第二個文檔,這兩個文檔就是兩個窗口了。
4、在新的窗口中,打開需要的文檔
jframe.setVisible(true) 即可讓窗口可見.
API里關(guān)于該方法的說明
public void setVisible(boolean?b)
根據(jù)參數(shù) b 的值顯示或隱藏此 Window。
窗口的其他常用屬性的設(shè)置,詳細見下面的例子
示例圖
參考代碼和詳細的注釋
import?java.awt.Color;
import?java.awt.Font;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
public?class?MyFrame?extends?JFrame?{
//構(gòu)造函數(shù)
public?MyFrame()?{
JLabel?jl?=?new?JLabel("床前明月光,疑是地上霜。",JLabel.CENTER);//文字標簽,文字居中
jl.setForeground(Color.BLUE);//文字的顏色
jl.setFont(new?Font("仿宋",?Font.BOLD,?20));//設(shè)置文字,字體
add(jl);//把文字添加到窗口
//getContentPane().setBackground(Color.WHITE);?//設(shè)置窗口(內(nèi)容面板)的背景顏色
setTitle("窗口示例");//?窗口標題
setSize(300,?200);//?窗口大小?寬300?高200
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//?當窗口關(guān)閉時,程序結(jié)束
}
//main函數(shù)
public?static?void?main(String[]?args)?{
MyFrame?frame?=?new?MyFrame();//?創(chuàng)建窗口
frame.setVisible(true);//?讓該窗口實例可見
}
}
package inter.frame;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;public class MenuTest { /**
* @param args
*/
JFrame frame;
JMenuBar mb;
JMenu m;
JMenuItem mi1;
JMenuItem mi2; public MenuTest() {
initFrame();
initAction();
} public void initFrame() {
frame = new JFrame();
mb = new JMenuBar();
m = new JMenu("學(xué)生查詢");
mi1 = new JMenuItem("確認");
mi2 = new JMenuItem("取消"); m.add(mi1);
m.add(mi2);
mb.add(m);
frame.add(mb, BorderLayout.NORTH);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
} public void initAction() {
mi1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("click");
JOptionPane.showMessageDialog(null, "你點擊了確定按鈕");
}
});
mi2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(null, "你點擊了取消按鈕");
}
});
} public static void main(String[] args) {
// TODO Auto-generated method stub
new MenuTest();
}}
可以將另一個窗口的類new一個對象,然后設(shè)置可見。
1,比如兩個類,一個登錄界面Login,一個主界面Main
2,在Login中登錄按鈕添加監(jiān)聽事件
3,在監(jiān)聽事件中添加代碼
{
// 登錄驗證。
if(ok){
Main frame = new Main();
frame.setVisible(true); // 打開新界面
dispose(); // 關(guān)閉當前界面
}
}
package?image;
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Dimension;
import?java.awt.GridLayout;
import?javax.swing.JFrame;
import?javax.swing.JPanel;
import?javax.swing.SwingUtilities;
public?class?PanelRunner?extends?JFrame
{
private?static?final?long?serialVersionUID?=?1L;
private?static?void?initPanels?(?JFrame?pr?)
{
for?(?int?i?=?0;?i??5;?i++?)
{
JPanel?panel?=?new?JPanel?();
switch?(i)
{
case?0:
panel.setBackground?(Color.RED);
panel.setPreferredSize?(new?Dimension?(200,?100));
pr.add?(panel,?BorderLayout.NORTH);
break;
case?1:
panel.setBackground?(Color.YELLOW);
panel.setPreferredSize?(new?Dimension?(200,?300));
pr.add?(panel,?BorderLayout.EAST);
break;
case?2:
panel.setBackground?(Color.ORANGE);
panel.setPreferredSize?(new?Dimension?(200,?100));
pr.add?(panel,?BorderLayout.SOUTH);
break;
case?3:
panel.setBackground?(Color.WHITE);
panel.setPreferredSize?(new?Dimension?(200,?300));
pr.add?(panel,?BorderLayout.WEST);
break;
case?4:
pr.add?(panel,?BorderLayout.CENTER);
panel.setPreferredSize?(new?Dimension?(200,?100));
panel.setLayout?(new?GridLayout?(1,?2));
for?(?int?j?=?0;?j??2;?j++?)
{
JPanel?subPanel?=?new?JPanel?();
subPanel.setPreferredSize?(new?Dimension?(200,?100));
Color?color?=?j?==?0???Color.BLUE?:?Color.GREEN;
subPanel.setBackground?(color);
panel.add?(subPanel);
}
break;
default:
break;
}
}
}
private?static?void?initFrame?(?JFrame?pr?)
{
pr.setLayout?(new?BorderLayout?());
pr.setSize?(600,?300);
pr.setLocationRelativeTo?(null);
pr.setResizable?(false);
pr.setDefaultCloseOperation?(JFrame.EXIT_ON_CLOSE);
}
public?static?void?main?(?String[]?args?)
{
SwingUtilities.invokeLater?(new?Runnable?()
{
@Override
public?void?run?()
{
PanelRunner?pr?=?new?PanelRunner?();
initFrame?(pr);
initPanels?(pr);
pr.setVisible?(true);
}
});
}
}