java完整窗口代码 java怎么写窗口

如何使用Java代码实现人物在整个窗口中间不动,场景进行移动?类似于超级玛丽那样的import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class WalkMian extends JFrame implements KeyListener {
Image img;
Image back;
int x = 80, y = 450, dir = 0, num = 0;
// Main
public static void main(String args[]) {
new WalkMian();
}
// Constructor
WalkMian() {
super("Character");
img = getToolkit().getImage("c:\\IMAGE\\walk.png");
back = getToolkit().getImage("c:\\IMAGE\\back.jpg");
addKeyListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.gray);
setSize(800, 610);
setVisible(true);
}
// Paint
public void paint(Graphics g) {
int yoff;
g.drawImage(back, 0, 0, this);
if (img != null) {
yoff = 144;
g.drawImage(img, x, y, x144, y144, 144, -144 144*dir, yoff144, 144*dir,
this);
}
}
Java写一段学生管理系统的代码 可以直接往上加窗口吗basic.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent Event)
{
Studentbasic stu=new Studentbasic();
stu.setVisible(true);
stu.setSize(400,500);
}
});
JAVA的弹窗怎么做?JAVA弹窗,有下面常见的2种方法实现:
通过JDialog(模式窗口) 类来实现.里面的写法类似JFrame
重点方法提示: setModal(true);
//当设置为true表示,如果不关闭这个弹窗,那么主界面的其他组件都无法操作,该弹窗置于其他窗口的前面
//当设置为false表示,可以绕开本弹窗,对主界面的其他组件进行操作
优点: 功能强大,扩展性强
缺点: 代码量大.
示例图
通过JOptionPane(提示框) 来实现
效果图如下
优点: 代码量少,简单,方便, 普通场景已经够用
缺点: 扩展性不够, 复杂逻辑难以实现.
下面写一个具体案例
场景:当用于对文本域的文字,进行操作后,那么退出时,提示用户, 是否要保存已经更改后的内容.如果用户没有修改内容,那么不用提示
重点代码
addDocumentListener--用于实现对文本内容发生改变时进行响应
addWindowListener---用于实现对窗口进行操作时进行响应
完整代码如下
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JDDemo extends JFrame implements DocumentListener,WindowListener{
JTextArea jta;
boolean flag;
public JDDemo() {
jta = new JTextArea();//文本域
jta.setText("床前明月光");//文本域的文字--可以通过IO加载txt文档的文字
jta.setFont(new Font("宋体",Font.BOLD, 20));//文本域的字体
jta.setLineWrap(true);//设置自动换行
jta.getDocument().addDocumentListener(this);//添加文档变化事件的响应.比如修改,删除等
JScrollPane jsp = new JScrollPane(jta);//滚动面板(当文字太多时,显示滚动条)
add(jsp);
setTitle("主窗口");//标题
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//点击窗口的关闭按钮时,执行windowClosing的代码
addWindowListener(this);
setVisible(true);//窗口可见
}
public static void main(String[] args) {
new JDDemo();
}
//实现WindowListener接口,需要重写下面的6个方法, windowClosing专门处理关闭时的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, "已经更改了内容,需要保存后再退出吗?", "提示",JOptionPane.YES_NO_OPTION);
//n等于-1表示关闭了弹出的对话框等情况的默认值
//n等于0(JOptionPane.YES_OPTION)表示选择了Yes
//n等于1(JOptionPane.NO_OPTION)表示选择了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代码省略...
System.out.println("正在使用IO进行保存..ing");
closeFrame();//关闭窗口并退出
}else if(n==JOptionPane.NO_OPTION){
System.out.println("放弃保存修改.马上退出");
closeFrame();
}
}else{
closeFrame();
}
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
//文档事件,有下面三个,如果触发其中一个,都可以认为修改了文档,所以需要在退出时进行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//删除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改变
flag=true;
}
//关闭窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可见
this.dispose();//窗口销毁
System.exit(0);//JVM虚拟机退出
}
}
运行效果图:
怎么用JAVA编写一个计算器窗口,并实现他的功能,求给出代码 , 对的话一定高分回报,谢谢了 。。。JAVA计算器程序
Cadev.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.LinkedList;
import java.text.NumberFormat;
import javax.swing.border.*;
public class Cadev extends JFrame implements ActionListener
{
Nbtn nbtn[];
Obtn obtn[];
Button dotbtn,PlusOrMinusbtn,Backspacebtn,
recbtn,equbtn,clbtn;
JPanel panel;
JTextField resultShow;
String Oper[]={" ","-","*","/"};
LinkedList link;
boolean sfcequ=false;
public Cadev()
{
super("计算器");
link=new LinkedList();
nbtn=new Nbtn[10];
for(int i=0;i=9;i)
{
nbtn[i]=new Nbtn(i);
nbtn[i].addActionListener(this);
}
obtn=new Obtn[4];
for(int i=0;i4;i)
{
obtn[i]=new Obtn(Oper[i]);
obtn[i].addActionListener(this);
}
dotbtn=new Button(".");
PlusOrMinusbtn=new Button(" /-");
equbtn=new Button("=");
recbtn=new Button("1/x");
Backspacebtn=new Button("退格");
clbtn=new Button("C");
recbtn.setForeground(Color.blue);
dotbtn.setForeground(Color.blue);
PlusOrMinusbtn.setForeground(Color.blue);
equbtn.setForeground(Color.red);
Backspacebtn.setForeground(Color.red);
clbtn.setForeground(Color.red);
dotbtn.addActionListener(this);
PlusOrMinusbtn.addActionListener(this);
equbtn.addActionListener(this);
recbtn.addActionListener(this);
Backspacebtn.addActionListener(this);
clbtn.addActionListener(this);
resultShow=new JTextField(10);
resultShow.setHorizontalAlignment(JTextField.RIGHT);
resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14));
resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
resultShow.setBackground(Color.white);
resultShow.setEditable(false);
panel=new JPanel();
panel.setLayout(new GridLayout(4,5));
panel.add(nbtn[1]);
panel.add(nbtn[2]);
panel.add(nbtn[3]);
panel.add(obtn[0]);
panel.add(clbtn);
panel.add(nbtn[4]);
panel.add(nbtn[5]);
panel.add(nbtn[6]);
panel.add(obtn[1]);
panel.add(Backspacebtn);
panel.add(nbtn[7]);
panel.add(nbtn[8]);
panel.add(nbtn[9]);
panel.add(obtn[2]);
panel.add(recbtn);
panel.add(nbtn[0]);
panel.add(PlusOrMinusbtn);
panel.add(dotbtn);
panel.add(obtn[3]);
panel.add(equbtn);
add(panel,BorderLayout.CENTER);
add(resultShow,BorderLayout.NORTH);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,240,180);
setResizable(false);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() instanceof Nbtn)
{
Nbtn b=(Nbtn)e.getSource();
if(link.size()==0)
{
int num=b.getNum();
link.add("" num);
resultShow.setText("" num);
sfcequ=false;
}
else if(link.size()==1sfcequ==false)
{
int num=b.getNum();
String Number=(String)link.getFirst();
String s=Number.concat("" num);
link.set(0,s);
resultShow.setText(s);
}
else if(link.size()==1sfcequ==true)
{
int num=b.getNum();
link.removeFirst();
link.add("" num);
sfcequ=false;
resultShow.setText("" num);
}
else if(link.size()==2)
{
int num=b.getNum();
link.add("" num);
resultShow.setText("" num);
}
else if(link.size()==3)
{
int num=b.getNum();
String Number=(String)link.getLast();
String s=Number.concat("" num);
link.set(2,s);
resultShow.setText(s);
}
}
else if(e.getSource() instanceof Obtn)
{
Obtn b=(Obtn)e.getSource();
if(link.size()==1)
{
String sign=b.getOper();
link.add(sign);
}
else if(link.size()==2)
{
String sign=b.getOper();
link.set(1,sign);
}
else if(link.size()==3)
{
String sign=b.getOper();
String num1=(String)link.getFirst();
String num2=(String)link.getLast();
String Oper=(String)link.get(1);
try
{
double n1=Double.parseDouble(num1);
double n2=Double.parseDouble(num2);
double n=0;
if(Oper.equals(" "))
{
n=n1 n2;
}
else if(Oper.equals("-"))
{
n=n1-n2;
}
else if(Oper.equals("*"))
{
n=n1*n2;
}
else if(Oper.equals("/"))
{
n=n1/n2;
}
link.clear();
link.add("" n);
link.add(sign);
resultShow.setText("" n);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==equbtn)
{
sfcequ=true;
if(link.size()==1||link.size()==2)
{
String num=(String)link.getFirst();
resultShow.setText("" num);
}
else if(link.size()==3)
{
String num1=(String)link.getFirst();
String num2=(String)link.getLast();
String sign=(String)link.get(1);
try
{
double n1=Double.parseDouble(num1);
double n2=Double.parseDouble(num2);
double n=0;
if(sign.equals(" "))
{
n=n1 n2;
}
else if(sign.equals("-"))
{
n=n1-n2;
}
else if(sign.equals("*"))
{
n=n1*n2;
}
else if(sign.equals("/"))
{
n=n1/n2;
}
【java完整窗口代码 java怎么写窗口】resultShow.setText("" n);
link.set(0,"" n);
link.removeLast();
link.removeLast();
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==dotbtn)
{
if(link.size()==0)
{
sfcequ=false;
}
else if(link.size()==1)
{
String dot=dotbtn.getLabel();
String num=(String)link.getFirst();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
link.set(0,s);
}
else
{
s=num;
}
link.set(0,s);
resultShow.setText(s);
}
else if(link.size()==3)
{
String dot=dotbtn.getLabel();
String num=(String)link.getLast();
String s=null;
if(num.indexOf(dot)==-1)
{
s=num.concat(dot);
link.set(2,s);
}
else
{
s=num;
}
resultShow.setText(s);
}
}
else if(e.getSource()==Backspacebtn)
{
if(link.size()==1)
{
String num=(String)link.getFirst();
if(num.length()=1)
{
num=num.substring(0,num.length()-1);
link.set(0,num);
resultShow.setText(num);
}
else
{
link.removeLast();
resultShow.setText("0");
}
}
else if(link.size()==3)
{
String num=(String)link.getLast();
if(num.length()=1)
{
num=num.substring(0,num.length()-1);
link.set(0,num);
resultShow.setText(num);
}
else
{
link.removeLast();
resultShow.setText("0");
}
}
}
else if(e.getSource()==PlusOrMinusbtn)
{
if(link.size()==1)
{
String num1=(String)link.getFirst();
try
{
double d=Double.parseDouble(num1);
d=-1*d;
String str=String.valueOf(d);
link.set(0,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
else if(link.size()==3)
{
String num2=(String)link.getLast();
try
{
double d=Double.parseDouble(num2);
d=-1*d;
String str=String.valueOf(d);
link.set(2,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==recbtn)
{
if(link.size()==1||link.size()==2)
{
String num1=(String)link.getFirst();
try
{
double d=Double.parseDouble(num1);
d=1.0/d;
String str=String.valueOf(d);
link.set(0,str);
resultShow.setText(str);
}
catch(Exception ee)
{
}
}
else if(link.size()==3)
{
String num2=(String)link.getLast();
try
{
double d=Double.parseDouble(num2);
d=1.0/d;
String str=String.valueOf(d);
link.set(0,str);
}
catch(Exception ee)
{
}
}
}
else if(e.getSource()==clbtn)
{
sfcequ=false;
resultShow.setText("0");
link.clear();
}
}
public static void main(String agrs[])
{
new Cadev();
}
}
Nbtn.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Nbtn extends Button
{
int Num;
public Nbtn(int n)
{
super("" n);
Num=n;
setForeground(Color.blue);
}
public int getNum()
{
return Num;
}
}
Obtn.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Obtn extends Button
{
String Oper;
public Obtn(String s)
{
super(s);
Oper=s;
setForeground(Color.red);
}
public String getOper()
{
return Oper;
}
}
java完整窗口代码的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于java怎么写窗口、java完整窗口代码的信息别忘了在本站进行查找喔 。

    推荐阅读