
//Start.java
import java.awt.*
import javax.swing.*
class Start{
public static void main(String [] args){
DateFrame frame=new DateFrame()
frame.setLocationRelativeTo(frame)
frame.setResizable(false)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true)
}
}
//DateInfo.java
import java.util.*
public class DateInfo{
private int mYear, mMonth
private int mDayOfMonth, mFristWeek
public DateInfo(int year, int month) throws DateException{
mYear = year
if (month <0 || month >12){
throw (new DateException())
}
mMonth = month
mDayOfMonth = getDayOfMonth(mYear, mMonth)
mFristWeek = getFristWeek(mYear, mMonth)
}
private int getDayOfMonth(int year, int month){
int[][] ary = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}
return (ary[isLeapYear(year)][month])
}
private int isLeapYear(int year){
if (year % 4 == 0 &&year % 100 != 0 ||year % 400 == 0){
return (1)
}
else{
return (0)
}
}
private int getFristWeek(int year, int month){
java.util.Calendar cal = Calendar.getInstance()
cal.set(year, month - 1, 1)
return (cal.get(Calendar.DAY_OF_WEEK) - 1)
}
public String toString(){
String str
str = "\t\t" + mYear + "年" + mMonth + "月\n"
str += "日\t一\t二\t三\t四\t五\t六\n"
int i
for (i = 1i <= mFristWeeki++){
str += " \t"
}
for (int j = 1j <= mDayOfMonthj++, i++){
str +=j+"\t"
if (i % 7 == 0){
str += "\n"
}
}
return (str)
}
}
//DateFrame.java
import java.awt.*
import java.awt.event.*
import javax.swing.*
import java.util.Calendar
class DateFrame extends JFrame implements Runnable{
Calendar date=Calendar.getInstance()
String[] str={"1","2","3","4","5","6","7","8","9","10","11","12"}
JLabel lblYear=new JLabel("年 ")
JLabel lblMonth=new JLabel("月 ")
JLabel lblDate=new JLabel("现在的时间是:")
JLabel lblShowDate=new JLabel()
// javax.swing.JTextField trxt =new JTextField(10)
// trxt.setHorizontalAlignment(JTextField.RIGHT) //设置文本从右边输入
JComboBox cboMonth=new JComboBox(str)
JComboBox cboYear=new JComboBox()
JTextArea txaShow=new JTextArea()
JPanel pnlNorth=new JPanel()
JPanel pnlSOUTH=new JPanel()
JButton btnShow=new JButton("显示")
JButton btnClose=new JButton("关闭")
JScrollPane jsp=new JScrollPane(txaShow)
Container c=this.getContentPane()
public DateFrame(){
Thread thread=new Thread(this)
thread.start()
this.setTitle("玩玩日历拉!!!")
this.setSize(300,260)
for (int i = 1990i<=2025i++) {
cboYear.addItem(""+i)
}
cboYear.setSelectedItem(""+(date.get(Calendar.YEAR)))
cboMonth.setSelectedItem(""+(date.get(Calendar.MONTH)+1))
pnlNorth.add(cboYear)
txaShow.setTabSize(4) //设置tab键的距离
txaShow.setForeground(Color.GREEN)
pnlNorth.add(lblYear)
pnlNorth.add(cboMonth)
pnlNorth.add(lblMonth)
pnlNorth.add(lblDate)
pnlNorth.add(lblShowDate)
c.add(pnlNorth,BorderLayout.NORTH)
c.add(jsp)
pnlSOUTH.add(btnShow)
pnlSOUTH.add(btnClose)
c.add(pnlSOUTH,BorderLayout.SOUTH)
btnShow.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int year=Integer.parseInt((String)cboYear.getSelectedItem())
int month=Integer.parseInt((String)cboMonth.getSelectedItem())
try {
DateInfo date=new DateInfo(year,month)
txaShow.setText(""+date)
}
catch (DateException ex) {
ex.printStackTrace()
}
}
})
btnClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0)
}
})
}
public void run(){
try {
while(true){
Thread.sleep(1000)
int hour=date.get(Calendar.HOUR)
int minute=date.get(Calendar.MINUTE)
int second=date.get(Calendar.SECOND)
String str=hour+":"+minute+":"+second
lblShowDate.setText(str)
//this.repaint()
}
}
catch (Exception ex) {
ex.printStackTrace()
}
}
}
//DateException.java
public class DateException extends Exception{
public DateException(){
super("日期数据不合法.")
}
}
System.out.println(cal.get(Calendar.MONDAY)+1+"月"+(cal.get(Calendar.DAY_OF_MONTH)+1)+"日") //输出日期分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
我们修的汇编语言是JAVA,怎奈自己学术不精.现在此象高手请教.小程序是期末做课程设计用的.题目有日历记事本,学籍管理系统,计算器,画图程序.其他的也可以.现需要两个程序,谢谢大家!
解析:
import java.io.*
import java.util.Calendar
import java.awt.*
import java.awt.event.*
import javax.swing.*
public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{
Container c = this.getContentPane()
JMenuBar jmb = new JMenuBar()
JColorChooser jcc = new JColorChooser()
JMenu jm1 = new JMenu("文件(F)")
JMenu jm2 = new JMenu("编辑(E)")
JMenu jm3 = new JMenu("格式(O)")
JMenu jm4 = new JMenu("查看(V)")
JMenu jm5 = new JMenu("帮助(H)")
JMenuItem jmi1 = new JMenuItem("新建(N)")
JMenuItem jmi2 = new JMenuItem("打开(O)")
JMenuItem jmi3 = new JMenuItem("保存(S)")
JMenuItem jmi4 = new JMenuItem("退出(X)")
JMenuItem jmi5 = new JMenuItem("撤消(U)")
JMenuItem jmi6 = new JMenuItem("复制(C)")
JMenuItem jmi7 = new JMenuItem("粘贴(P)")
JMenuItem jmi8 = new JMenuItem("剪切(T)")
JMenuItem jmi12 = new JMenuItem("日期和时间")
JMenuItem jmi9 = new JMenuItem("字体(E)")
JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)")
JMenuItem jmi10 = new JMenuItem("删除(S)")
JMenuItem jmi11 = new JMenuItem("背景颜色(H)")
JTextArea jta = new JTextArea(15,15)
JScrollPane jsp = new JScrollPane(jta)
PupolMenu pm = new Pupolmenu()
NoteBook(){
this.addWindowListener(this)
c.setLayout(new BorderLayout())
c.add(jmb,BorderLayout.NORTH)
this.setTitle("新建 文本文档")
jmb.add(jm1)
jm1.setMnemonic('f')
jm1.addActionListener(this)
jmb.add(jm2)
jm2.setMnemonic('e')
jmb.add(jm3)
jm3.setMnemonic('o')
jmb.add(jm4)
jm4.setMnemonic('v')
jmb.add(jm5)
jm5.setMnemonic('h')
jm1.add(jmi1)
jmi1.addActionListener(this)
jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false))
jm1.addSeparator()
jm1.add(jmi2)
jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false))
jmi2.addActionListener(this)
jm1.addSeparator()
jm1.add(jmi3)
jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false))
jmi3.addActionListener(this)
jm1.addSeparator()
jm1.add(jmi4)
jmi1.setMnemonic('n')
jmi2.setMnemonic('o')
jmi3.setMnemonic('s')
jmi4.setMnemonic('x')
jmi4.addActionListener(this)
jm2.add(jmi5)
jm2.addSeparator()
jm2.add(jmi6)
jm2.addSeparator()
jm2.add(jmi7)
jm2.addSeparator()
jm2.add(jmi8)
jm2.add(jmi12)
jmi12.addActionListener(this)
jm3.add(jcbmi)
jcbmi.addItemListener(this)
jm3.addSeparator()
jm3.add(jmi9)
jm4.add(jmi10)
jmi10.addActionListener(this)
jm5.add(jmi11)
jmi11.addActionListener(this)
c.add(jsp)
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)
this.setSize(500,500)
this.setVisible(true)
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==jmi1){
jta.setText("")
this.setTitle("无标题 - 记事本")
}
if(e.getSource()==jmi2){
File f1
JFileChooser jfc1 = new JFileChooser()
int num1 = jfc1.showOpenDialog(this)
if(num1==JFileChooser.APPROVE_OPTION){
try{
f1 = jfc1.getSelectedFile()
this.setTitle(f1.getName())
FileReader fr = new FileReader(f1)
BufferedReader br = new BufferedReader(fr)
String str
while((str = br.readLine())!=null){
jta.setText(str)
}
fr.close()
br.close()
}catch(FileNotFoundException e1){
e1.printStackTrace()
}catch(IOException e2){
e2.printStackTrace()
}
}
}
if(e.getSource()==jmi3){
File f2 = null
JFileChooser jfc2 = new JFileChooser()
int num2 = jfc2.showSaveDialog(this)
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile()
this.setTitle(f2.getName())
try{
FileWriter fw = new FileWriter(f2)
BufferedWriter bw = new BufferedWriter(fw)
bw.write(jta.getText())
bw.close()
fw.close()
}catch(IOException e2){
e2.printStackTrace()
}
}
}
if(e.getSource()==jmi4){
int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION)
if(a==1){
this.dispose()
}else if(a==0){
File f2 = null
JFileChooser jfc2 = new JFileChooser()
int num2 = jfc2.showSaveDialog(this)
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile()
this.setTitle(f2.getName())
try{
FileWriter fw = new FileWriter(f2)
BufferedWriter bw = new BufferedWriter(fw)
bw.write(jta.getText())
bw.close()
fw.close()
}catch(IOException e2){
e2.printStackTrace()
}
this.dispose()
}
}
}
if(e.getSource()==jmi12){
Calendar c1 =Calendar.getInstance()
int y = c1.get(Calendar.YEAR)
int m = c1.get(Calendar.MONTH)
int d = c1.get(Calendar.DATE)
int h = c1.get(Calendar.HOUR)
int m1 = c1.get(Calendar.MINUTE)
int m2 = m+1
jta.setText(y+"年"+m2+"月"+d+"日"+h+":"+m1)
}
if(e.getSource()==jmi11){
Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK)
jta.setSelectedTextColor(ccc)
jta.setBackground(ccc)
}
if(e.getSource()==jmi10){
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd())
}
}
public void itemStateChanged(ItemEvent e2){
if(e2.getItemSelectable()==jcbmi){
jta.setLineWrap(true)
}else
jta.setLineWrap(false)
}
public static void main(String[] args){
new NoteBook()
}
public void windowOpened(WindowEvent arg0) {
}
public void windowClosing(WindowEvent arg0) {
int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION)
if(a==1){
this.dispose()
}else if(a==0){
File f2 = null
JFileChooser jfc2 = new JFileChooser()
int num2 = jfc2.showSaveDialog(this)
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile()
this.setTitle(f2.getName())
try{
FileWriter fw = new FileWriter(f2)
BufferedWriter bw = new BufferedWriter(fw)
bw.write(jta.getText())
bw.close()
fw.close()
}catch(IOException e2){
e2.printStackTrace()
}
}
if(a==2){
????/????????????????????????????????????????????????????????????????
}
}
}
public void windowClosed(WindowEvent arg0) {
}
public void windowIconified(WindowEvent arg0) {
TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent arg0) {
TODO Auto-generated method stub
}
public void windowActivated(WindowEvent arg0) {
TODO Auto-generated method stub
}
public void windowDeactivated(WindowEvent arg0) {
TODO Auto-generated method stub
}
public void mouseClicked(MouseEvent arg0) {
TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0) {
TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent arg0) {
TODO Auto-generated method stub
}
public void mouseEntered(MouseEvent arg0) {
TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
TODO Auto-generated method stub
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)