導入Java . io . *;
導入Java . awt . *;
導入Java . awt . event . *;
導入javax . swing . *;
導入javax . swing . event . *;
導入javax。*;
導入Java . awt . *;
導入Java . awt . event . *;
導入Java . io . *;
導入Java . util . *;
導入Java . text . *;
導入javax . swing . *;
導入javax . swing . event . *;
導入javax . swing . undo . *;
導入javax . swing . text . *;
公開課
{
公共靜態void main(String args[])
{
new TextPad();
}
}
類TextPad擴展JFrame實現ActionListener
{
JTextArea jta=new JTextArea("小廖筆記本:)",18,52);
jcheckbox menuitem MTO 1 = new jcheckbox menuitem(" word wrap ",true);
string ss 1 = JTA . gettext();
UndoableEditListener UE = new undo hander();
undo manager undo = new undo manager();
int StartFindPos=0,a=0,b = 0;
GridBagConstraints gbc = new GridBagConstraints();
//維度dd =新維度();
// jta.getDocument()。addUndoableEditListener(UE);
公共文本板()
{
//MyMenuListener ml = new MyMenuListener();
//JTextArea jta=new JTextArea("這是我的textpad ",18,52);
//system . out . println(DD . getheight());
//system . out . println(DD . getwidth());
//system . out . println(this . getheight());
//system . out . println(this . getwidth());
//system . out . println(" OK ");
This.setTitle(“壹個全功能的JAVA記事本”);
this.setLocation(180,100);
JTA . setline wrap(true);
JTA . setwrapstyleword(true);
JPanel jp = new JPanel();
JScrollPane JSP = new JScrollPane(JTA);
jp . add(JSP);
//Rectangle rt=new Rectangle(0,0,this.getWidth(),this . getheight());
//JSP . set bounds(rt);
//system . out . println(this . getheight());
//system . out . println(this . getwidth());
JMenu MF = new JMenu(" file(f)");
J menuitem MTF 1 = New J menuitem(" New ");
MTF 1 . addactionlistener(this);
JMenuItem MTF 2 = new JMenuItem(" open ");
//MTF 2 . set accelerator(keystroke . get keystroke(key event。VK_O,輸入事件。CTRL _ MASK));
MTF 2 . addactionlistener(this);
JMenuItem mt F3 = new JMenuItem(" save ");
//mt F3 . set accelerator(keystroke . get keystroke(key event。VK,輸入事件。CTRL _ MASK));
mt F3 . addactionlistener(this);
JMenuItem mtf4=new JMenuItem("另存為");
MTF 4 . addactionlistener(this);
JMenuItem mt F5 = new JMenuItem(" exit ");
mt F5 . addactionlistener(this);
JMenu me = new JMenu(" Edit(e)");
J menuitem mte 1 = New J menuitem(" Undo ");
mte 1 . addactionlistener(this);
jta.getDocument()。addUndoableEditListener(UE);
if(undo.canUndo())
{
mte 1 . set enabled(false);
}
JMenuItem mte 2 = new JMenuItem(" cut ");
mte 2 . addactionlistener(this);
JMenuItem mt E3 = new JMenuItem(" copy ");
mte 3 . addactionlistener(this);
JMenuItem mte 4 = new JMenuItem(" paste ");
mte 4 . addactionlistener(this);
//JMenuItem mte 5 = new JMenuItem(" delete ");
//mte 5 . addactionlistener(this);
JMenuItem mte 6 = new JMenuItem(" search ");
mte 6 . addactionlistener(this);
//JMenuItem mte 7 = new JMenuItem(" find next ");
JMenuItem mte 8 = new JMenuItem(" replacement ");
mte 8 . addactionlistener(this);
//JMenuItem mte 9 = new JMenuItem(" go ");
J menuitem MTE 10 = New J menuitem(" Select All ");
mte 10 . addactionlistener(this);
J menuitem MTE 11 = new J menuitem(" date/time ");
mte 11 . addactionlistener(this);
JMenu mo = new JMenu(" format(o)");
//jcheckbox menuitem MTO 1 = new jcheckbox menuitem(" word wrap(w)");
MTO 1 . addactionlistener(this);
JMenuItem MTO 2 = new JMenuItem(" font ");
MTO 2 . addactionlistener(this);
JMenu mv = new JMenu(" View(v)");
J menuitem MTV 1 = new J menuitem("狀態欄");
MTV 1 . set enabled(false);
JMenu MH = new JMenu(" help(h)");
J menuitem MTH 1 = New J menuitem("關於記事本");
mth 1 . addactionlistener(this);
JMenuBar MB = new JMenuBar();
this.addWindowListener(新WindowAdapter()
{
公共void窗口關閉(WindowEvent e)
{
system . exit(0);
}
}
);
MB . add(MF);
mb.add(我);
MB . add(mo);
MB . add(mv);
MB . add(MH);
this . setjmenubar(MB);
MF . add(MTF 1);
MF . add(MTF 2);
MF . add(mt F3);
MF . add(MTF 4);
MF . add separator();
MF . add(mt F5);
me . add(mte 1);
me . add separator();
me . add(mte 2);
me . add(mt E3);
me . add(mte 4);
//me . add(mte 5);
me . add separator();
me . add(mte 6);
//me . add(mte 7);
me . add(mte 8);
//me . add(mte 9);
me . add separator();
me . add(mte 10);
me . add(mte 11);
mo . add(MTO 1);
mo . add(MTO 2);
mv . add(MTV 1);
MH . add(mth 1);
this.getContentPane()。添加(JSP);
this.setSize(600,400);
this . setresizable(true);
this . set visible(true);
}
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於("打開"))
{
嘗試
{
框架f =新框架();
FileDialog fd=new FileDialog(f,“打開文件”,FileDialog。負載);
FD . set visible(true);
string fpath = FD . get directory();
string fname = FD . getfile();
buffered reader br = new buffered reader(new file reader(fpath+fname));
JTA . settext(" ");
string s = br . readline();
while(s!=空)
{
JTA . append(s+" \ n ");
s = br . readline();
}
br . close();
}
catch(例外ex)
{
}
}
If(e.getActionCommand()。等於(“保存”))
{
字符串fns = null
幀f =新幀(“保存”);
FileDialog fd=new FileDialog(f,“保存文件”,FileDialog。保存);
fd.setFile("*。txt ");
FD . set visible(true);
嘗試
{
string save path = FD . get directory();
string savename = FD . getfile();
if(savename!=空)
{
PrintWriter pw = new PrintWriter(new buffered writer(new FileWriter(save path+save name)));
pw.write(jta.getText(),0,jta.getText()。length());
pw . flush();
}
}
catch(異常保存)
{
}
}
If(e.getActionCommand()。等於("新"))
{
JTA . settext(" ");
}
If(e.getActionCommand()。等於("另存為"))
{
幀f =新幀(“保存”);
FileDialog fd=new FileDialog(f,“文件另存為”,FileDialog。保存);
FD . set visible(true);
嘗試
{
string save path = FD . get directory();
string savename = FD . getfile();
if(savename!=空)
{
PrintWriter pw = new PrintWriter(new buffered writer(new FileWriter(save path+save name)));
pw.write(jta.getText(),0,jta.getText()。length());
pw . flush();
}
}
catch(異常保存)
{
}
}
If(e.getActionCommand()。等於("退出"))
{
string ss2 = JTA . gettext();
如果(!ss1.equals(ss2))
{
System.out.println("文件已更改。");
}
system . exit(0);
}
If(e.getActionCommand()。等於(“撤消”))
{
嘗試
{
undo . undo();
//system . out . println(undo . can undo());
}
catch(例外eundo)
{
}
}
If(e.getActionCommand()。等於(“切割”))
{
JTA . cut();
}
If(e.getActionCommand()。等於(“復制”))
{
JTA . copy();
}
If(e.getActionCommand()。等於(“粘貼”))
{
JTA . paste();
}
If(e.getActionCommand()。等於("刪除"))
{
}
If(e.getActionCommand()。等於("全選"))
{
JTA . selectall();
}
If(e.getActionCommand()。等於("搜索"))
{
嘗試
{
Final JDialog jd=new JDialog(this,“search”,true);
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 0.5
gbc.weighty = 0.5
gbc . grid width = 1;
gbc . grid height = 1;
jd.getContentPane()。set layout(gbl);
jd.setSize(380,100);
JD . setresizable(false);
//JD . setdefaultlookandfeeltured(true);
final JTextField jtf = new JTextField(15);
JLabel jlFind = new JLabel(" Find content:");
jd.getContentPane()。添加(jlFind);
JButton JB find = new JButton(" search ");
jbFind.addActionListener(新的ActionListener()
{
public void action performed(ActionEvent efind)
{
string strA = JTA . gettext();
string strB = jtf . gettext();
如果(a & gt=0)
{
a=strA.indexOf(strB,StartFindPos);
b = strb . length();
StartFindPos = a+b;
如果(a==-1)
{
Joptionpane。顯示消息對話框(空,“沒有妳要找的信息”,“搜索結果”,1);
a = 0;
StartFindPos = 0;
}
jta.select(a,StartFindPos);
}
}
}
);
JButton JB cancel = new JButton(" cancel ");
jbCancel.addActionListener(新的ActionListener()
{
public void action performed(action event EJB)
{
JD . dispose();
}
}
);
jd.getContentPane()。添加(jtf);
jd.getContentPane()。添加(jbFind);
jd.getContentPane()。添加(JB cancel);
//JD . setresizable(false);
jd.setLocation(240,200);
JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);
JD . set visible(true);
}
catch(異常查找)
{
}
}
If(e.getActionCommand()。等於(“替換”))
{
Final JDialog jd=new JDialog(this,“替換”,true);
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc . weightx = 1;
gbc . weighty = 1;
gbc . grid width = 1;
gbc . grid height = 1;
JLabel jlFind = new JLabel(" search:");
JLabel jp=new JLabel("替換內容:");
final JTextField jtf = new JTextField(15);
final JTextField jtf 1 = new JTextField(15);
jd.getContentPane()。set layout(gbl);
jd.setSize(330,150);
JD . setresizable(false);
最終jbutton JB replace = new jbutton(" replacement ");
final jbutton jbreplaceall = new jbutton(" replace all ");
final jbutton JB cancel = new jbutton(" cancel ");
final JButton JB find = new JButton(" search ");
gbc . gridx = 0;
gbc . gridy = 0;
jd.getContentPane()。添加(jlFind,gbc);
gbc . gridx = 1;
gbc . gridy = 0;
jd.getContentPane()。添加(jtf1,gbc);
gbc . gridx = 2;
gbc . gridy = 0;
jd.getContentPane()。add(jbFind,gbc);
gbc . gridx = 0;
gbc . gridy = 1;
jd.getContentPane()。add(jp,gbc);
gbc . gridx = 1;
gbc . gridy = 1;
jd.getContentPane()。添加(jtf,gbc);
gbc . gridx = 2;
gbc . gridy = 1;
jd.getContentPane()。add(jbReplace,gbc);
gbc . gridx = 2;
gbc . gridy = 2;
jd.getContentPane()。add(jbReplaceAll,gbc);
gbc . gridx = 2;
gbc . gridy = 3;
jd.getContentPane()。add(jbCancel,gbc);
jbFind.addActionListener(新的ActionListener()
{
public void action performed(ActionEvent efind)
{
string strA = JTA . gettext();
string strB = jtf 1 . gettext();
如果(a & gt=0)
{
a=strA.indexOf(strB,StartFindPos);
//system . out . println(a+b);
b = strb . length();
StartFindPos = a+b;
如果(a==-1)
{
Joptionpane。顯示消息對話框(空,“沒有妳要找的信息”,“搜索結果”,1);
a = 0;
StartFindPos = 0;
}
jta.select(a,StartFindPos);
//system . out . println(StartFindPos);
}
}
}
);
jbReplace.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於(“替換”))
{
string strRepleace = jtf . gettext();
JTA . replace selection(strreplace);
}
}
}
);
jbReplaceAll.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
while(a & gt;-1)
{
string strA = JTA . gettext();
string strB = jtf 1 . gettext();
a=strA.indexOf(strB,StartFindPos);
如果(a==-1)
{
打破;
}
//system . out . println(a+b);
b = strb . length();
StartFindPos = a+b;
//system . out . println(StartFindPos);
jta.select(a,StartFindPos);
//system . out . println(StartFindPos);
string strRepleaceAll = jtf . gettext();
JTA . replace selection(strRepleaceAll);
StartFindPos = a+b;
}
Joptionpane。顯示消息對話框(空,“全部替換”,“替換內容”,1);
a = 0;
StartFindPos = 0;
}
}
);
jbCancel.addActionListener(新的ActionListener()
{
public void action performed(action event EJB)
{
JD . dispose();
}
}
);
jd.setLocation(240,200);
JD . set visible(true);
JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);
}
If(e.getActionCommand()。等於("日期/時間"))
{
Final JDialog jd=new JDialog(this,“插入日期”);
JPanel jp 1 = new JPanel();
jp1.setLayout(新流程布局(流程布局。左));
final JTextField jtf = new JTextField(10);
JButton JK = new JButton(" OK ");
JButton JB cancel = new JButton(" cancel ");
//Calendar cl = Calendar . getinstance();
//date format df = date format . getinstance();
//String sdate 1 = df . format(cl . gettime());
//jtf . settext(sdate 1);
jp 1 . add(jtf);
jp 1 . add(jko b);
jp 1 . add(JB cancel);
jd.getContentPane()。add(jp1,"北");
JPanel jp2 = new JPanel();
jp2.setLayout(新流程布局(流程布局。左));
final jcheckbox JCB 1 = new jcheckbox(" format 1 ");
final jcheckbox JCB 2 = new jcheckbox(" format 2 ");
final jcheckbox JC B3 = new jcheckbox(" format 3 ");
jp2 . add(JCB 1);
jp2 . add(JCB 2);
jp2 . add(JCB 3);
jd.getContentPane()。add(jp2,“居中”);
jd.setSize(220,120);
JD . setresizable(false);
jd.setLocation(240,200);
final SimpleDateFormat SDF = new SimpleDateFormat(" yyyy-MM-DD ");
calendar cl = calendar . getinstance();
date format df = date format . getinstance();
最終字符串sdate = df . format(cl . gettime());
jcb1.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於("格式壹"))
{
if(jcb1.isSelected())
{
嘗試
{
簡單日期格式SDF1 =新的簡單日期格式(" YY年MM月dd日");
date d = SDF . parse(sdate);
jtf . settext(SDF 1 . format(d));
JCB 2 . set enabled(false);
JCB 3 . set enabled(false);
}
catch(異常estyle1)
{
estyle1 . printstacktrace();
}
}
其他
{
JCB 2 . set enabled(true);
JCB 3 . set enabled(true);
}
嘗試
{
system . out . println(JTA . getlinestartoffset(3));
//system . out . println(JTA . getlineofoffset(346));
}
捕捉(異常eee)
{
}
}
}
}
);
jcb2.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於("格式2 "))
{
if(jcb2.isSelected())
{
嘗試
{
simple date format SDF 1 =新的simple date format(" YY/MM/DD ");
date d = SDF . parse(sdate);
jtf . settext(SDF 1 . format(d));
JCB 1 . set enabled(false);
JCB 3 . set enabled(false);
}
catch(異常類型2)
{
estyle2 . printstacktrace();
}
}
其他
{
JCB 1 . set enabled(true);
JCB 3 . set enabled(true);
}
//system . out . println(JCB 1 . is selected());
}
}
}
);
jcb3.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於("格式3 "))
{
if(jcb3.isSelected())
{
jtf . settext(sdate);
JCB 1 . set enabled(false);
JCB 2 . set enabled(false);
}
其他
{
JCB 1 . set enabled(true);
JCB 2 . set enabled(true);
}
//system . out . println(JCB 1 . is selected());
}
}
}
);
jbOK.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
If(e.getActionCommand()。等於(" OK "))
{
int pos = JTA . getcaretposition();
jta.insert(jtf.getText(),pos);
}
}
}
);
jbCancel.addActionListener(新的ActionListener()
{
public void action performed(action event EJB)
{
JD . dispose();
}
}
);
JD . set visible(true);
JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);
}
If(e.getActionCommand()。等於(“自動換行”))
{
if(mto1.getState())
{
JTA . setline wrap(true);
JTA . setwrapstyleword(true);
}
其他
{
JTA . setline wrap(false);
JTA . setwrapstyleword(false);
}
//system . out . println(" OK ");
}
If(e.getActionCommand()。equals ("font "))
{
Final JDialog jd=new JDialog(this,“字體設置”);
jd.setLocation(240,200);
//final JFrame jfontview = new JFrame();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
JButton JK = new JButton(" OK ");
JButton JB cancel = new JButton(" cancel ");
JTextField jtf 1 = new JTextField(6);
final JTextArea JTA view = new JTextArea(4,8);
//jfontview.getContentPane()。添加(JTA view);
final JTextField jtf 2 = new JTextField(6);
final JTextField JT F3 = new JTextField(3);
JComboBox JCB 1 = new JComboBox();
final JComboBox JCB 2 = new JComboBox();
JCB 2 . additem(" BOLD ");
JCB 2 . additem(" ITALIC ");
JCB 2 . additem(" PLAIN ");
//JCB 2 . additem(" bold italic ");
jcb2.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
jtf 2 . settext((String)JCB 2 . getselecteditem());
}
}
);
final JComboBox JC B3 = new JComboBox();
JCB 3 . additem(" 14 ");
JCB 3 . additem(" 18 ");
JCB 3 . additem(" 22 ");
JCB 3 . additem(" 26 ");
JCB 3 . additem(" 30 ");
JCB 3 . additem(" 34 ");
jcb3.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
JT F3 . settext((String)JCB 3 . getselecteditem());
//JTA view . settext(" SS ");
//int font size view = integer . parse int((String)JCB 3 . getselecteditem());
//Font fontview=new Font("字體預覽",字體。粗體,font size view);
//JTA view . set font(font view);
//JTA view . set editable(false);
}
}
);
gbc . grid height = 1;
gbc . grid width = 1;
//gbc . gridx = 1;
//gbc . gridy = 0;
gbc.weightx = 0.5
gbc.weighty = 0.5
jd.getContentPane()。set layout(gbl);
//JLabel JL 1 = new JLabel(" Preview:");
JLabel jl2 = new JLabel(" font:");
JLabel jl3 = new JLabel(" size:");
gbc . gridx = 0;
gbc . gridy = 0;
jd.getContentPane()。添加(jl2,gbc);
gbc . gridx = 2;
gbc . gridy = 0;
jd.getContentPane()。添加(jl3,gbc);
//gbc . gridx = 4;
//gbc . gridy = 0;
//jd.getContentPane()。添加(jl3,gbc);
gbc . gridx = 0;
gbc . gridy = 1;
jd.getContentPane()。添加(jtf2,gbc);
gbc . gridx = 2;
gbc . gridy = 1;
jd.getContentPane()。添加(jtf3,gbc);
//gbc . gridx = 4;
//gbc . gridy = 1;
//jd.getContentPane()。添加(jtf3,gbc);
gbc . gridx = 0;
gbc . gridy = 2;
jd.getContentPane()。添加(jcb2,gbc);
gbc . gridx = 2;
gbc . gridy = 2;
jd.getContentPane()。添加(jcb3,gbc);
//gbc . gridx = 4;
//gbc . gridy = 2;
//jd.getContentPane()。添加(jcb3,gbc);
gbc . gridx = 4;
gbc . gridy = 1;
jd.getContentPane()。添加(jko,gbc);
gbc . gridx = 4;
gbc . gridy = 2;
jd.getContentPane()。add(jbCancel,gbc);
jbOK.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
if(jtf2.getText()。等於("普通"))
{
int font size = integer . parse int(JT F3 . gettext());
int font style = 0;
Font f =新字體(“字體設置”,fontstyle,fontsize);
JTA . set font(f);
//system . out . println(f . get font(" italics _ GB 2312 ")。get font name());
}
if(jtf2.getText()。等於("粗體"))
{
int font size = integer . parse int(JT F3 . gettext());
int font style = 1;
Font f =新字體(“字體設置”,fontstyle,fontsize);
JTA . set font(f);
}
if(jtf2.getText()。等於("斜體"))
{
int font size = integer . parse int(JT F3 . gettext());
int font style = 2;
Font f =新字體(“字體設置”,fontstyle,fontsize);
JTA . set font(f);
}
JD . dispose();
//system . out . println(font style);
}
}
);
jbCancel.addActionListener(新的ActionListener()
{
公共無效操作已執行(操作事件e)
{
JD . dispose();
}
}
);
jd.setSize(200,120);
JD . setresizable(false);
JD . set visible(true);
JD . setdefaultcloseoperation(DISPOSE _ ON _ CLOSE);
}
If(e.getActionCommand()。equals("關於記事本"))
{
JOptionPane jop = new JOptionPane(null,JOptionPane。信息_消息);
Jop.showMessageDialog(null,“小廖記事本”,“關於記事本”,JooptionPane。OK _ option);
//system . out . println(" OK ");
}
}
UndoHander類實現UndoableEditListener
{
public void undoableeditoccured(UndoableEditEvent eundo)
{
undo . addedit(eundo . getedit());
}
}
}
持續過期列表
(截至2022年,1,31)
備註:本表為2021至2022年10月31期間逾期付款三次以上,且截至2022年6月31日余額逾期或2022年6月1當月逾期付款的承兌人名單。
序號承兌人名稱1 Suning.cn集團股份有限公司蘇寧采購中心2中國林產集團股份有限公司3上海趙桓企業管理咨詢有限公司4上海兆旭企業管理咨詢有限公