「java桌面窗体」java开发桌面

博主:adminadmin 2023-01-24 01:06:08 371

今天给各位分享java桌面窗体的知识,其中也会对java开发桌面进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么用java写一个窗体程序?

下面介绍如何用简单的几句话在eclipse环境下出现一个窗口。

首先写一个frame类,继承Frame,是继承widows 然后把,出现窗口的语句封装成一个函数

public void lunchFrame(){

this.setLocation(0,0);

this.setSize(20,20);

setVisible(True);  //一定要写这句话

}

最后只需要在主函数里面调用就可以

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

如何使JAVA的控制台以窗体的形式显示在桌面上?

1、首先打开电脑,转到JAVA的控制台页面。

2、然后关闭页面,会自动弹出,是否以窗体形式显示在桌面。

3、点击下方显示,即可出现在桌面。

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的一个窗体建立

我已发送邮件到你的邮箱,我的邮箱是fengxk2004@163.com

Java源程序附后。

本程序的特点是:

(1) 文本框只能输入纯数字;

(2) 界面较美观;

(3) 代码可读性较好,有适当的注释;

(4) 窗体一出现就在桌面居中。

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

public class GuessNumber {

private static final long serialVersionUID = 1L;

JFrame frame;

JTextField txtNum; //文本框

JButton btnStart; //按钮

JLabel lblPrompt;

JLabel lblMessage;

static int source = 0;

static Random rand = new Random();

public GuessNumber(){

frame = new JFrame("Guess Number");

JPanel pnl1, pnl2, pnl3, pnl4;

pnl1 = new JPanel();

pnl1.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl2 = new JPanel();

pnl2.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl3 = new JPanel();

pnl3.setLayout(new FlowLayout(FlowLayout.LEFT));

pnl4 = new JPanel();

pnl4.setLayout(new FlowLayout(FlowLayout.LEFT));

txtNum = new JTextField(10);

btnStart = new JButton("开始");

lblPrompt = new JLabel("htmlbodyI have a number between 1 and 1000 can you guess my number?br/Please enter your first guess./body/html");

lblMessage = new JLabel();

pnl1.add(lblPrompt);

pnl2.add(txtNum);

pnl3.add(lblMessage);

pnl4.add(btnStart);

frame.setLayout(new GridLayout(4, 1));

frame.add(pnl1);

frame.add(pnl2);

frame.add(pnl3);

frame.add(pnl4);

txtNum.addActionListener(this.new TextAction());

txtNum.addKeyListener(this.new KeyAction());

btnStart.addActionListener(this.new ButtonAction());

frame.setSize(400, 200);

frame.setVisible(true);

frame.setLocationRelativeTo(null);

frame.setResizable(false);

}

public static void main(String[] args) {

new GuessNumber();

while((source=rand.nextInt(1000))==0);

}

//按钮单击后的事件处理

class ButtonAction implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

JButton btn = (JButton)e.getSource();

if(btn == btnStart){

while((source=rand.nextInt(1000))==0);

txtNum.setEditable(true);

}

}

}

//文本框按回车后的事件处理

class TextAction implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

JTextField txt = (JTextField)e.getSource();

if(txt != txtNum){

return;

}

int num = Integer.parseInt(txtNum.getText());

if(num == source){

lblMessage.setText("Correct!");

txtNum.setEditable(false);

txtNum.setBackground(frame.getBackground());

}

else if(num source){

lblMessage.setText("Too High");

txtNum.setBackground(Color.red);

}

else{

lblMessage.setText("Too Low");

txtNum.setBackground(Color.blue);

}

}

}

//限制文本框只能输入数字

class KeyAction implements KeyListener{

@Override

public void keyPressed(KeyEvent e) {

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyTyped(KeyEvent e) {

int k = e.getKeyChar();

String text = ((JTextField)e.getSource()).getText();

if(!((k47 k 58) || (k==8 || k==KeyEvent.VK_PERIOD))){ //限制只能输入数字

e.setKeyChar((char)KeyEvent.VK_CLEAR);

}

if(text.length() 4){ //限制数值的长度

e.setKeyChar((char)KeyEvent.VK_CLEAR);

}

}

}

}

java怎么给窗体或者面板设置背景图片?

1利用标签组件来设置\x0d\x0a标签本来是一种最简单的组件,为什么可以将它设置成为一个窗体的背景呢?首先还是要了解框架JFrame中的层次结构。JFrame中的层次分布及相对关系是:最底层是JRootPane,第二层是JlayerPane,最上层就是ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在ContentPane层上。也就是说我们只需将背景图片放在JFrame的第二层是JlayerPane上,再把内容面板ContentPane设置为透明,则第二层JlayerPane上放置的图片即成为内容面板的背景了。具体代码如下:\x0d\x0aJPanelpnlMain=newJPanel();//创建面板pnlMain。\x0d\x0agetContentPane().add(pnlMain);//将pnlMain设置为主面板。\x0d\x0aIconi=newImageIcon("背景.jpg");/*用源图片“背景.jpg”构造一个ImageIcon对象i,需要注意如果图片的路径使用的是相对路径,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则图片的路径必须用绝对路径。*/\x0d\x0aJLabellblLogo=newJLabel(i);//用指定的图片构造标签对象lb\x0d\x0athis.getLayeredPane().add(lb,newInteger(Integer.MIN_VALUE));\x0d\x0a//把标签放在第二层JlayerPane上。\x0d\x0alb.setBounds(0,0,ii.getIconWidth(),i.getIconHeight());\x0d\x0a//设置标签的尺寸,即背景图象的大小。\x0d\x0agetConentPane().setOpaque(false);/*把内容面板设置为透明,这样整个框架的背景就不再是内容面板的背景色,而是第二层中标签的图像。*/\x0d\x0apnlMain.add(lb);//将标签添加到主面板pnlMain中。\x0d\x0a用标签组件JLabel来设置窗体背景,其扩展性上比较差,且在标签上不能放置其他组件,比如:在放置一个JButton,整个布局背景图就错乱。导致这种现象是因为Java加载组件是有顺序的,作为背景的JLabel的代码一定要放在全部组件代码的最后,这样JLabel的背景图片才不会被其他组件遮住,从而使整个布局背景错乱。所以采用这种方式来设置窗体背景有很大的局限性。因此最好是采用以下方式来设置窗体背景。\x0d\x0a2通过JPanel面板来设置窗体背景\x0d\x0aJPanel面板是Java中的容器之一。而Java中的容器是没有背景图片的属性的,它们只有背景颜色,如果需要在JPanel面板上设置窗体背景,就需要重写paintComponent(Graphicsg)方法,即把所要设置的背景图片画上作为JPanel面板的背景。具体实现如下:\x0d\x0a首先定义一个JPanel的子类BjPanel,由于JPanel的构造方法不能添加图像,因此在创建此子类的时候先用getImage载入一幅背景图片,在重写paintComponent(Graphicsg)方法时,利用drawImage方法将其逐渐绘制到屏幕上,并将该面板添加到框架中,最后将该面板设置为透明。其代码如下:\x0d\x0aimportjava.awt.*;\x0d\x0aimportjavax.swing.*;\x0d\x0apublicclassbkground\x0d\x0a{\x0d\x0apublicstaticvoidmain(Stringargs[])\x0d\x0a{\x0d\x0aBjFramef=newBjFrame();\x0d\x0af.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\x0d\x0af.setVisible(true);\x0d\x0a}\x0d\x0a}\x0d\x0aclassBjFrameextendsJFrame\x0d\x0a{\x0d\x0apublicBjFrame()\x0d\x0a{\x0d\x0asetSize(WTH,HHT);\x0d\x0aBjPanelpl=newBjPanel();\x0d\x0aContainercontentPane=getContentPane();\x0d\x0acontentPane.add(pl);\x0d\x0apl.setOpaque(true);\x0d\x0a}\x0d\x0apublicstaticfinalintWTH=300;\x0d\x0apublicstaticfinalintHHT=200;\x0d\x0a}\x0d\x0aclassBjPanelextendsJPanel\x0d\x0a{\x0d\x0aImageim;\x0d\x0apublicBjPanel()\x0d\x0a{\x0d\x0aim=Toolkit.getDefaultToolkit().getImage("背景.jpg");//需要注意的是如果用相对路径载入图片,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则必须用绝对路径。\x0d\x0a}\x0d\x0apublicvoidpaintComponent(Graphicsg)\x0d\x0a{\x0d\x0asuper.paintComponent(g);\x0d\x0aintimWidth=image.getWidth(this);\x0d\x0aIntimHeight=image.getHeight(this);//定义图片的宽度、高度\x0d\x0aintFWidth=getWidth();\x0d\x0aintFHeight=getHeight();//定义窗口的宽度、高度\x0d\x0aintx=(FWidth-imWidth)/2;\x0d\x0ainty=(FHeight-imHeight)/2;//计算图片的坐标,使图片显示在窗口正中间\x0d\x0ag.drawImage(image,x,y,null);//绘制图片\x0d\x0a}\x0d\x0a}

java桌面窗体的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java开发桌面、java桌面窗体的信息别忘了在本站进行查找喔。