package guitest;//包名
import javaxswingJFrame;//导入需要的窗口包JFrame
import javaxswingJLabel;//导入需要的标签包JLabel
public class MainFrame extends JFrame{
//构造方法进行初始化窗口
public MainFrame(){
JLabel jl = new JLabel();//创建一个标签
jlsetText("Hello World");//标签上的文字叫Hello World
//下面的this都指的是本窗口都可以省略
thisadd(jl);//窗口添加刚刚创建的标签
thissetTitle("窗口标题");//窗口的标题名字
thissetLocation(300, 200);//窗口的左顶点在屏幕上的位置
thissetSize(200, 220);//窗口是 宽200像素, 长220像素
thissetDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口被关闭时候就退出窗口
thissetVisible(true);//设置这个窗口能否被看见
}
public static void main(String[] args) {
new MainFrame();//调用构造方法,创建一个窗口
}
}
是用swing和awt包下的类库就可以做出windows窗体程序,最简单的,创建一个窗体的代码Frame f = new Frame();//创建窗体fsetSize(100,100);//设置窗体大小fsetVisible(true);//显示窗体先试着跑一下,体会一下。多看看这些属性有什么用,你会发现窗口无法关闭,这个涉及到java的事件模型, frameaddWindowListener(new javaawteventWindowListener() { public void windowClosing(WindowEvent e) {Systemexit(0);}});加上这个代码就行了。书的话,建议你看《java程序设计教程》,如果有能力,可以看《java编程思想》。至于你说的那个语言做windows程序好,这里的建议是,如果仅仅限制在界面,做简单的功能,C#很方便。用java易于理解界面的事件模型,C,C++用的是windowAPI最强大,却比较难。
JAVA开发的程序可以通过JVM for windows在Windows上运行,但并不能用来开发Windows原生程序,正如现在的HTML5开发的应用可以再Andriod上运行,但并不是安卓的原生应用一样。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机(Java Virtual Machine)是实现这一特点的关键。JVM是(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
按照你的要求编写的Java程序如下:
import javaawtFlowLayout;import javaawteventActionEvent;
import javaawteventActionListener;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJOptionPane;
import javaxswingJTextField;
public class Calculate extends JFrame implements ActionListener{
JTextField jtf1=new JTextField(10);
JTextField jtf2=new JTextField(10);
JLabel jl=new JLabel();
JButton jb1=new JButton("+");
JButton jb2=new JButton("");
Calculate(){
setLayout(new FlowLayout());
jb1addActionListener(this);
jb2addActionListener(this);
add(jtf1);add(jtf2);add(jl);add(jb1);add(jb2);
setResizable(false);
setSize(250, 150);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(aegetSource()==jb1){
if(jtf1getText()trim()equals("")){
JOptionPaneshowMessageDialog(this, "文本框不能为空");
jtf1requestFocus();
}else if(jtf2getText()trim()equals("")){
JOptionPaneshowMessageDialog(this, "文本框不能为空");
jtf2requestFocus();
}else{
int a=IntegerparseInt(jtf1getText()trim());
int b=IntegerparseInt(jtf2getText()trim());
jlsetText(StringvalueOf(a+b));
}
}
if(aegetSource()==jb2){
if(jtf1getText()trim()equals("")){
JOptionPaneshowMessageDialog(this, "文本框不能为空");
jtf1requestFocus();
}else if(jtf2getText()trim()equals("")){
JOptionPaneshowMessageDialog(this, "文本框不能为空");
jtf2requestFocus();
}else{
int a=IntegerparseInt(jtf1getText()trim());
int b=IntegerparseInt(jtf2getText()trim());
jlsetText(StringvalueOf(ab));
}
}
}
public static void main(String[] args) {
new Calculate();
}
}
运行结果:
如果会出错就是因为你两个类写到了一个java文件里,一个java文件里的源代码中只能有一个public类,这是问题1;
第二个问题不会造成编译错误,但是你这个程序会因为没有入口而无法运行因为你的main方法不是静态的
所以要把main方法改成public static void main(String args[])
import javaawt;
class FirstWindow extends Frame{
MenuBar menubar;
Menu menu;
MenuItem i1,i2;
FirstWindow(String s)
{
super(s);
setSize (160,170);
setLocation (120,120);
setVisible (true);
menubar=new MenuBar();
menu=new Menu("文件");
i1=new MenuItem("打开");
i2=new MenuItem("保存");
menuadd(i1);
menuadd(i2);
menubaradd(menu);
setMenuBar(menubar);
}
}
public class Example
{
public static void main(String args[]){
FirstWindow win=new FirstWindow("一个简单的窗口");
}
}
以上就是关于如何用JAVA编写应用界面程序(用myeclipse)全部的内容,包括:如何用JAVA编写应用界面程序(用myeclipse)、JAVA如何在WINDOWS下编出带窗口的程序有什么好的书籍推荐、java代码可以做成windows程序吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)