「java创建子窗口」Java窗口创建
本篇文章给大家谈谈java创建子窗口,以及Java窗口创建对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA如何给程序设置一个窗口
- 2、java中子窗口限制父窗口问题
- 3、用java做一个窗口
- 4、如何用eclipse编写java窗口程序
- 5、用java创建窗口
- 6、java图形界面子窗体怎么弄?
JAVA如何给程序设置一个窗口
首先,绘制一个默认的窗体,创建好工程,包,类,命名类为Window.很简单,在类中添加一个私有属性JFrame,这么写:private JFrame f = new JFrame("欢迎来到本自助银行");Window的构造方法中,只写 f.setVisible(true);以及窗体的初始位置和初始大小:f.setLocation(300, 200);f.setSize(800, 500);
然后在同一个构造函数中跟进一行f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);此为设置关闭图标即退出程序紧接着,写f.setResizable(false);此为设置不可更改窗体大小。如图,的确没办法更改了。
最后,便是画龙点睛的一笔,给窗体添加一个图标,显得更专业了一些:f.setIconImage(Toolkit.getDefaultToolkit().createImage("E:\\a.jpg"));
这里有一点比较重要,重申一句。构造器中的设置比静态属性初始化设置更有直接影响力。而且,程序是执行向上覆盖的。也就是说,如果之后有过更改,那么更改之后就显示更改后的结果,比如,在这个构造函数中再写f.setTitle("好好活着");那么,请注意窗体的文字。如图:
java中子窗口限制父窗口问题
楼主问为什么使用Dialog创建模式窗口,我的回答如下:
首先我们先看下在操作系统中是如何创建窗口的,这是WIN32 API:
invoke CreateWindowEx,dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam
对于一个普通的窗口,其中hMenu是指要出现的菜单的句柄,然后————当建立的窗口是子窗口时,这个参数是另一个含义,这时hMenu参数指定的是子窗口的ID号,那么结果是————节省一个参数的位置,同时子窗口也不会有菜单了。所以要想子窗口有菜单只有微软自己可以做到了。
回到模式窗口的问题上来,模式窗口是子窗口,所以不会有菜单,那为什么只能用Dialog创建模式窗口呢,这是JAVA设计是确定的,即使开放了Frame的setModal,也没用,因为得到的结果还是一个和Dialog没有区别的窗口,这种情况在其它语言里是存在的。
import java.awt.*;
import java.awt.event.*;
public class TestDialog {
public TestDialog() {
final Frame f1 = new Frame("1");
f1.setSize(500, 500);
f1.setVisible(true);
Button b = new Button("Exit");
TextArea jt = new TextArea(3, 0);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(1);
}
});
Dialog dlinf1 = new Dialog(f1, "这是为了100分特地做的一段代码");
dlinf1.setSize(300, 300);
dlinf1.add(b, "North");
dlinf1.add(jt,"Center");
dlinf1.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(1);
}
});
dlinf1.setModal(true);
dlinf1.setVisible(true);
}
public static void main(String[] args) {
new TestDialog();
}
}
用java做一个窗口
java做窗口的话,需要用swing技术,之后创建JFrame 等组件,即可完成窗口创建工作。
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("学生查询");
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) {
// 具体实现代码根据实际要求填写
System.out.println("click");
JOptionPane.showMessageDialog(null, "你点击了确定按钮");
}
});
mi2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 具体实现代码根据实际要求填写
JOptionPane.showMessageDialog(null, "你点击了取消按钮");
}
});
} public static void main(String[] args) {
new MenuTest();//执行菜单创建
}}
如何用eclipse编写java窗口程序
原料/工具:
电脑一台
Eclipse
1.双击电脑桌面上的Eclipse图标,打开eclipse,显示如下界面:
2.选择菜单栏的file,选择New,再点击New子栏下的Project选项;在弹出的窗口中选择“java——java project";
3.在”Project name“后的空白栏中填写工程名,一般工程名为小写字母开头;
4.在eclipse页面左边可以看见工程列表,将鼠标移至工程名,右击鼠标,选择new——package建包;在弹出的窗口中,在"Name"栏填写包名,点击finish按钮完成建包;
5.展开工程名,右击选中的包,选择”New——Class",建立类,在新弹出的窗口中,在“Name”栏填写类名,如果这个类包含main方法,应该将下面的
public static void main(String[] args)勾选上;
6.以上步骤全部完成后,就可以开始编写程序了。
用java创建窗口
我试一下硬盘文件存储吧,首先在C盘根目录下创建个login.swing的文件,在里面写上 tom##123lydia##123 ,这个为了方便测试,自己试下吧,我也是没学多久,如果有太2的地方,请联系我...谢谢...;
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class LoginTest implements ActionListener{
private JFrame jf ;
private JLabel l1,l2 ;
private JTextField tf1 ;
private JPasswordField tf2;
private JPanel northPanel,centerPanel ;
private JButton b1,b2 ;
private File file = new File("c:/login.swing");
public LoginTest() {
jf = new JFrame("My First WindowTest") ;
northPanel = new JPanel(new GridLayout(2,2,10,10)) ;
l1 = new JLabel("用户名:") ;
tf1 = new JTextField() ;
l2 = new JLabel("密 码:") ;
tf2 = new JPasswordField() ;
northPanel.add(l1);
northPanel.add(tf1);
northPanel.add(l2);
northPanel.add(tf2);
centerPanel = new JPanel();
b1 = new JButton("login");
b2 = new JButton("exit");
centerPanel.add(b1);
centerPanel.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
jf.add(northPanel);
jf.add(centerPanel,"South");
jf.setSize(200,130);
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
jf.setLocation(size.width / 2 - jf.getWidth() / 2, size.height / 2 - jf.getHeight() / 2);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(b1)) {
String username = tf1.getText() ;
String password = String.valueOf(tf2.getPassword());
BufferedReader br = null ;
try {
FileReader fr = new FileReader(file);
br = new BufferedReader(fr);
String line = "",str = "" ;
while((line = br.readLine()) != null) {
str += line ;
}
String[] users = str.split("");
for(String user : users) {
String[] userInfo = user.split("##");
if(userInfo[0].equals(username) userInfo[1].equals(password)) {
JOptionPane.showMessageDialog(null, "登录成功!") ;
return ;
}
}
JOptionPane.showMessageDialog(null, "用户名或密码错误!") ;
return ;
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
System.exit(0);
}
}
public static void main(String args[]) {
new LoginTest();
}
}
java图形界面子窗体怎么弄?
给你一段我自己用Swing写的MDI(多文档用户界面)的代码,仅供参考: package com.jb.cdjj.y2t027.flydream.hrms.swing;import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.beans.PropertyVetoException;
import java.text.SimpleDateFormat;
import java.util.Calendar;import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JToolBar;
import javax.swing.Timer;
import javax.swing.border.BevelBorder;import com.jb.cdjj.y2t027.flydream.hrms.pojo.UsersPojo;
import com.jb.cdjj.y2t027.flydream.hrms.swing.component.JDesktopScrollPane;
import com.jb.cdjj.y2t027.flydream.hrms.swing.utils.CharacterCommon;/**
* p描述:FrmMain 主界面视窗UI类
* p作者:邓超
* p班级:Y2T027 FlyDream 小组
* p时间:2009-5-13
* p地点:宿舍
* p版本:1.0.0.1
*/
public class FrmMain extends JFrame { /**
* 序列化版本ID
*/
private static final long serialVersionUID = -6893438572255430328L; {
// 设置UI感观效果(使用三方jar包:looks-2.1.4.jar)
try {
javax.swing.UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
} catch(Exception e) {
e.printStackTrace();
}
} /**
* UI组件
*/
private JMenuItem mnuItemHelpTopic;
private JPanel pnlMain;
private JMenu mnuHelp;
private JMenuItem mnuItemDelete;
private JPanel pnlTlb;
private JSeparator septEdit;
private JMenuItem mnuItemPaste;
private JMenuItem mnuItemCopy;
private JMenuItem mnuItemCut;
private JMenu mnuEdit;
private JMenuItem mnuItemLock;
private JMenuItem mnuItemExit;
private JSeparator septSystemBottom;
private JMenuItem mnuItemAbout;
private JMenuItem mnuItemLogout;
private JSeparator septSystemTop;
private JMenuItem mnuItemPermissions;
private JMenuItem mnuItemParamConfig;
private JLabel lblLoginUser;
private JScrollPane pnlScrollContent;
private JMenuItem mnuCloseAll;
private JSeparator septWindow;
private JMenuItem mnuItemCloseCurrent;
private JMenuItem mnuItemSwitch;
private JMenu mnuWindow;
private JLabel lblTime;
private JLabel lblProgressMsg;
private JProgressBar progressOperation;
private JDesktopPane pnlDsk;
private JPanel pnlStatus;
private JButton btnHelp;
private JButton btnExit;
private JButton btnLogout;
private JButton btnLockScreen;
private JToolBar tlbMain;
private JMenu mnuSystem;
private JMenuBar mnuBarMain;
private JButton btnPermissions;
private JButton btnParamConfig;
private JLabel lblTlbSpliter2;
private JLabel lblTlbSpliter1;
private JMenuItem mnuModifyPwd;
private static FrmLogin frmLogin;
private JPanel pnlContent;
private static UsersPojo currentLoginUser; /**
* 获取当前登录用户
* @return 当前登录用户实体
*/
public static UsersPojo getCurrentLoginUser() {
return currentLoginUser;
}
/**
* 设置当前登录用户
* @param currentLoginUser 当前登录用户实体
*/
public static void setCurrentLoginUser(UsersPojo currentLoginUser) {
FrmMain.currentLoginUser = currentLoginUser;
} /**
* 参数化构造器
* @param loginWindow 登录UI实例
*/
public FrmMain(FrmLogin loginWindow) {
super();
frmLogin = loginWindow;
initGUI();
this.addComponentListener(new ComponentAdapter(){ /**
* 组件显示事件方法
*/
@Override
public void componentShown(ComponentEvent e) {
lblLoginUser.setText("【"
+ (currentLoginUser != null
? (currentLoginUser.getLoginAccount() + "/" + currentLoginUser.getUsersName())
: "未登录")
+ "】");
super.componentShown(e);
}
});
}
/**
* UI组件初始化方法
*/
private void initGUI() {
try {
{
BorderLayout thisLayout = new BorderLayout();
getContentPane().setLayout(thisLayout);
}
{
mnuBarMain = new JMenuBar();
setJMenuBar(mnuBarMain);
{
mnuSystem = new JMenu();
mnuBarMain.add(mnuSystem);
mnuSystem.setText("系统(S)");
mnuSystem.setMnemonic(java.awt.event.KeyEvent.VK_S);
mnuSystem.setName("mnuSystem");
mnuSystem.setDoubleBuffered(false);
{
mnuItemParamConfig = new JMenuItem();
mnuSystem.add(mnuItemParamConfig);
mnuItemParamConfig.setText("参数设置(P)...");
mnuItemParamConfig.setToolTipText("前台系统字典及参数设置");
mnuItemParamConfig.setMnemonic(java.awt.event.KeyEvent.VK_P);
mnuItemParamConfig.setName("mnuItemParamConfig");
mnuItemParamConfig.setIcon(new ImageIcon(getClass().getClassLoader().getResource("img/Param.png")));
mnuItemParamConfig.setDoubleBuffered(false);
mnuItemParamConfig.addActionListener(new ActionListener() {
/**
* 激活参数设置菜单项的事件方法
*/
public void actionPerformed(ActionEvent e) {
openOnlyOneInternalFrame(FrmInlParam.getInstance());
}
});
}
{
mnuItemPermissions = new JMenuItem();
mnuSystem.add(mnuItemPermissions);
mnuItemPermissions.setText("权限管理(E)...");
mnuItemPermissions.setToolTipText("系统用户及其授权管理");
mnuItemPermissions.setName("mnuItemPermissions");
mnuItemPermissions.setMnemonic(java.awt.event.KeyEvent.VK_E);
mnuItemPermissions.setIcon(new ImageIcon(getClass().getClassLoader().getResource("img/Permissions.png")));
mnuItemPermissions.setDoubleBuffered(false);
mnuItemPermissions.addActionListener(new ActionListener() {
/**
* 激活权限管理菜单项的事件方法
*/
public void actionPerformed(ActionEvent e) {
openOnlyOneInternalFrame(FrmInlPermissions.getInstance());
}
});
}
{
septSystemTop = new JSeparator();
mnuSystem.add(septSystemTop);
septSystemTop.setName("septSystemTop");
septSystemTop.setDoubleBuffered(false);
}
----------------------------------字数太多,只能分开发。
关于java创建子窗口和Java窗口创建的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。